Safe Haskell | Safe-Inferred |
---|---|
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
- establish :: SocksVersion -> 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 -> [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 |
establish :: SocksVersion -> Socket -> [SocksMethod] -> IO SocksMethod Source #
Constructors
Connect SocksAddress |
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 # |
connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber) Source #
connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber) Source #
connectDomainName :: Socket -> [Char] -> PortNumber -> IO (SocksHostAddress, PortNumber) Source #
lowlevel interface
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 #