Safe Haskell | None |
---|---|
Language | Haskell98 |
- resolveToSockAddr :: SocksAddress -> IO SockAddr
- 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
- establish :: Socket -> [SocksMethod] -> IO SocksMethod
- newtype Connect = Connect SocksAddress
- class Command a where
- toRequest :: a -> SocksRequest
- fromRequest :: SocksRequest -> Maybe a
- connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber)
- connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber)
- connectDomainName :: Socket -> String -> 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
resolveToSockAddr :: SocksAddress -> IO SockAddr
socksListen :: Socket -> IO SocksRequest
lowlevel types
data SocksHello
Initial message sent by client with the list of authentification methods supported
data SocksHelloResponse
Initial message send by server in return from Hello, with the server chosen method of authentication
data SocksRequest
Define a SOCKS requests
SocksRequest | |
|
data SocksResponse
Define a SOCKS response
SocksResponse | |
|
establish :: Socket -> [SocksMethod] -> IO SocksMethod
class Command a where
toRequest :: a -> SocksRequest
fromRequest :: SocksRequest -> Maybe a
connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber)
connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber)
connectDomainName :: Socket -> String -> PortNumber -> IO (SocksHostAddress, PortNumber)
lowlevel interface
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