| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.Socks5.Lowlevel
Contents
Synopsis
- socksListen :: Socket -> IO SocksRequest
- data SocksHello = SocksHello {}
- data SocksHelloResponse = SocksHelloResponse {}
- data SocksRequest = SocksRequest {
- requestCommand :: SocksCommand
- requestDstAddr :: SocksHostAddress
- requestDstPort :: PortNumber
- data SocksResponse = SocksResponse {
- responseReply :: SocksReply
- responseBindAddr :: SocksHostAddress
- responseBindPort :: PortNumber
- newtype SocksUsernamePassword = SocksUsernamePassword SocksCredentials
- newtype SocksUsernamePasswordResponse = SocksUsernamePasswordResponse {}
- data SocksAuthStatus
- = SocksAuthSuccess
- | SocksAuthFailure Word8
- class Command a where
- toRequest :: a -> SocksRequest
- fromRequest :: SocksRequest -> Maybe a
- establish :: SocksVersion -> Socket -> [SocksMethod] -> IO SocksMethod
- authenticate :: SocksVersion -> Socket -> SocksCredentials -> IO SocksAuthStatus
- newtype Connect = Connect SocksAddress
- connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber)
- connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber)
- connectDomainName :: Socket -> [Char] -> PortNumber -> IO (SocksHostAddress, PortNumber)
- rpc :: Command a => Socket -> a -> IO (Either SocksError (SocksHostAddress, PortNumber))
- rpc_ :: Command a => Socket -> a -> IO (SocksHostAddress, PortNumber)
- sendSerialized :: Serialize a => Socket -> a -> IO ()
- waitSerialized :: Serialize a => Socket -> IO a
Documentation
socksListen :: Socket -> IO SocksRequest Source #
lowlevel types
data SocksHello Source #
Initial message sent by client with the list of authentification methods supported
Constructors
| SocksHello | |
Fields | |
Instances
| Show SocksHello Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksHello -> ShowS show :: SocksHello -> String showList :: [SocksHello] -> ShowS | |
| Serialize SocksHello Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksHello Source # | |
Defined in Network.Socks5.Wire | |
data SocksHelloResponse Source #
Initial message send by server in return from Hello, with the server chosen method of authentication
Constructors
| SocksHelloResponse | |
Fields | |
Instances
| Show SocksHelloResponse Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksHelloResponse -> ShowS show :: SocksHelloResponse -> String showList :: [SocksHelloResponse] -> ShowS | |
| Serialize SocksHelloResponse Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksHelloResponse Source # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksHelloResponse -> SocksHelloResponse -> Bool (/=) :: SocksHelloResponse -> SocksHelloResponse -> Bool | |
data SocksRequest Source #
Define a SOCKS requests
Constructors
| SocksRequest | |
Fields
| |
Instances
| Show SocksRequest Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksRequest -> ShowS show :: SocksRequest -> String showList :: [SocksRequest] -> ShowS | |
| Serialize SocksRequest Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksRequest Source # | |
Defined in Network.Socks5.Wire | |
| Command SocksRequest Source # | |
Defined in Network.Socks5.Command Methods toRequest :: SocksRequest -> SocksRequest Source # fromRequest :: SocksRequest -> Maybe SocksRequest Source # | |
data SocksResponse Source #
Define a SOCKS response
Constructors
| SocksResponse | |
Fields
| |
Instances
| Show SocksResponse Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksResponse -> ShowS show :: SocksResponse -> String showList :: [SocksResponse] -> ShowS | |
| Serialize SocksResponse Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksResponse Source # | |
Defined in Network.Socks5.Wire | |
newtype SocksUsernamePassword Source #
Constructors
| SocksUsernamePassword SocksCredentials |
Instances
| Show SocksUsernamePassword Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksUsernamePassword -> ShowS show :: SocksUsernamePassword -> String showList :: [SocksUsernamePassword] -> ShowS | |
| Serialize SocksUsernamePassword Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksUsernamePassword Source # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksUsernamePassword -> SocksUsernamePassword -> Bool (/=) :: SocksUsernamePassword -> SocksUsernamePassword -> Bool | |
newtype SocksUsernamePasswordResponse Source #
Constructors
| SocksUsernamePasswordResponse | |
Instances
| Show SocksUsernamePasswordResponse Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksUsernamePasswordResponse -> ShowS show :: SocksUsernamePasswordResponse -> String showList :: [SocksUsernamePasswordResponse] -> ShowS | |
| Serialize SocksUsernamePasswordResponse Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksUsernamePasswordResponse Source # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksUsernamePasswordResponse -> SocksUsernamePasswordResponse -> Bool (/=) :: SocksUsernamePasswordResponse -> SocksUsernamePasswordResponse -> Bool | |
data SocksAuthStatus Source #
Constructors
| SocksAuthSuccess | |
| SocksAuthFailure Word8 |
Instances
| Show SocksAuthStatus Source # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksAuthStatus -> ShowS show :: SocksAuthStatus -> String showList :: [SocksAuthStatus] -> ShowS | |
| Serialize SocksAuthStatus Source # | |
Defined in Network.Socks5.Wire | |
| Eq SocksAuthStatus Source # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksAuthStatus -> SocksAuthStatus -> Bool (/=) :: SocksAuthStatus -> SocksAuthStatus -> Bool | |
class Command a where Source #
Instances
| Command Connect Source # | |
Defined in Network.Socks5.Command Methods toRequest :: Connect -> SocksRequest Source # fromRequest :: SocksRequest -> Maybe Connect Source # | |
| Command SocksRequest Source # | |
Defined in Network.Socks5.Command Methods toRequest :: SocksRequest -> SocksRequest Source # fromRequest :: SocksRequest -> Maybe SocksRequest Source # | |
establish :: SocksVersion -> Socket -> [SocksMethod] -> IO SocksMethod Source #
authenticate :: SocksVersion -> Socket -> SocksCredentials -> IO SocksAuthStatus Source #
Constructors
| Connect SocksAddress |
connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber) Source #
connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber) Source #
connectDomainName :: Socket -> [Char] -> PortNumber -> IO (SocksHostAddress, PortNumber) Source #
rpc :: Command a => Socket -> a -> IO (Either SocksError (SocksHostAddress, PortNumber)) Source #
rpc_ :: Command a => Socket -> a -> IO (SocksHostAddress, PortNumber) Source #
sendSerialized :: Serialize a => Socket -> a -> IO () Source #
waitSerialized :: Serialize a => Socket -> IO a Source #