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
- 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 #
lowlevel types
data SocksHello #
Initial message sent by client with the list of authentification methods supported
Constructors
SocksHello | |
Fields |
Instances
Eq SocksHello # | |
Defined in Network.Socks5.Wire | |
Show SocksHello # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksHello -> ShowS # show :: SocksHello -> String # showList :: [SocksHello] -> ShowS # | |
Serialize SocksHello # | |
Defined in Network.Socks5.Wire |
data SocksHelloResponse #
Initial message send by server in return from Hello, with the server chosen method of authentication
Constructors
SocksHelloResponse | |
Fields |
Instances
Eq SocksHelloResponse # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksHelloResponse -> SocksHelloResponse -> Bool # (/=) :: SocksHelloResponse -> SocksHelloResponse -> Bool # | |
Show SocksHelloResponse # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksHelloResponse -> ShowS # show :: SocksHelloResponse -> String # showList :: [SocksHelloResponse] -> ShowS # | |
Serialize SocksHelloResponse # | |
Defined in Network.Socks5.Wire |
data SocksRequest #
Define a SOCKS requests
Constructors
SocksRequest | |
Fields
|
Instances
Eq SocksRequest # | |
Defined in Network.Socks5.Wire | |
Show SocksRequest # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksRequest -> ShowS # show :: SocksRequest -> String # showList :: [SocksRequest] -> ShowS # | |
Serialize SocksRequest # | |
Defined in Network.Socks5.Wire | |
Command SocksRequest # | |
Defined in Network.Socks5.Command Methods toRequest :: SocksRequest -> SocksRequest # |
data SocksResponse #
Define a SOCKS response
Constructors
SocksResponse | |
Fields
|
Instances
Eq SocksResponse # | |
Defined in Network.Socks5.Wire Methods (==) :: SocksResponse -> SocksResponse -> Bool # (/=) :: SocksResponse -> SocksResponse -> Bool # | |
Show SocksResponse # | |
Defined in Network.Socks5.Wire Methods showsPrec :: Int -> SocksResponse -> ShowS # show :: SocksResponse -> String # showList :: [SocksResponse] -> ShowS # | |
Serialize SocksResponse # | |
Defined in Network.Socks5.Wire |
establish :: SocksVersion -> Socket -> [SocksMethod] -> IO SocksMethod #
Constructors
Connect SocksAddress |
Instances
Command SocksRequest # | |
Defined in Network.Socks5.Command Methods toRequest :: SocksRequest -> SocksRequest # | |
Command Connect # | |
Defined in Network.Socks5.Command |
connectIPV4 :: Socket -> HostAddress -> PortNumber -> IO (HostAddress, PortNumber) #
connectIPV6 :: Socket -> HostAddress6 -> PortNumber -> IO (HostAddress6, PortNumber) #
connectDomainName :: Socket -> [Char] -> 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 #