socks-0.5.4: Socks proxy (version 5) implementation.

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | unknown
Safe Haskell | None
Language | Haskell98

Network.Socks5.Types

Description

Synopsis

- data SocksVersion = SocksVer5
- data SocksCommand
  - = SocksCommandConnect
  - | SocksCommandBind
  - | SocksCommandUdpAssociate
  - | SocksCommandOther !Word8
- data SocksMethod
  - = SocksMethodNone
  - | SocksMethodGSSAPI
  - | SocksMethodUsernamePassword
  - | SocksMethodOther !Word8
  - | SocksMethodNotAcceptable
- data SocksHostAddress
  - = SocksAddrIPV4 !HostAddress
  - | SocksAddrDomainName !ByteString
  - | SocksAddrIPV6 !HostAddress6
- data SocksAddress = SocksAddress !SocksHostAddress !PortNumber
- data SocksReply
  - = SocksReplySuccess
  - | SocksReplyError SocksError
- data SocksVersionNotSupported = SocksVersionNotSupported
- data SocksError
  - = SocksErrorGeneralServerFailure
  - | SocksErrorConnectionNotAllowedByRule
  - | SocksErrorNetworkUnreachable
  - | SocksErrorHostUnreachable
  - | SocksErrorConnectionRefused
  - | SocksErrorTTLExpired
  - | SocksErrorCommandNotSupported
  - | SocksErrorAddrTypeNotSupported
  - | SocksErrorOther Word8

# Documentation

data SocksVersion Source

Socks Version

Constructors

SocksVer5 |

Instances

Eq SocksVersion Source |
Ord SocksVersion Source |
Show SocksVersion Source |

data SocksCommand Source

Command that can be send and receive on the SOCKS protocol

Constructors

SocksCommandConnect |
SocksCommandBind |
SocksCommandUdpAssociate |
SocksCommandOther !Word8 |

Instances

Enum SocksCommand Source |
Eq SocksCommand Source |
Ord SocksCommand Source |
Show SocksCommand Source |

data SocksMethod Source

Authentication methods available on the SOCKS protocol.

Only SocksMethodNone is effectively implemented, but other value are enumerated for completeness.

Constructors

SocksMethodNone |
SocksMethodGSSAPI |
SocksMethodUsernamePassword |
SocksMethodOther !Word8 |
SocksMethodNotAcceptable |

Instances

Enum SocksMethod Source |
Eq SocksMethod Source |
Ord SocksMethod Source |
Show SocksMethod Source |

data SocksHostAddress Source

A Host address on the SOCKS protocol.

Constructors

SocksAddrIPV4 !HostAddress |
SocksAddrDomainName !ByteString |
SocksAddrIPV6 !HostAddress6 |

Instances

Eq SocksHostAddress Source |
Ord SocksHostAddress Source |
Show SocksHostAddress Source |

data SocksAddress Source

Describe a Socket address on the SOCKS protocol

Constructors

SocksAddress !SocksHostAddress !PortNumber |

Instances

Eq SocksAddress Source |
Ord SocksAddress Source |
Show SocksAddress Source |

data SocksReply Source

Type of reply on the SOCKS protocol

Constructors

SocksReplySuccess |
SocksReplyError SocksError |

Instances

Enum SocksReply Source |
Eq SocksReply Source |
Data SocksReply Source |
Ord SocksReply Source |
Show SocksReply Source |

data SocksVersionNotSupported Source

Exception returned when using a SOCKS version that is not supported.

This package only implement version 5.

Constructors

SocksVersionNotSupported |

Instances

Data SocksVersionNotSupported Source |
Show SocksVersionNotSupported Source |
Exception SocksVersionNotSupported Source |

data SocksError Source

SOCKS error that can be received or sent

Constructors

SocksErrorGeneralServerFailure |
SocksErrorConnectionNotAllowedByRule |
SocksErrorNetworkUnreachable |
SocksErrorHostUnreachable |
SocksErrorConnectionRefused |
SocksErrorTTLExpired |
SocksErrorCommandNotSupported |
SocksErrorAddrTypeNotSupported |
SocksErrorOther Word8 |

Instances

Enum SocksError Source |
Eq SocksError Source |
Data SocksError Source |
Ord SocksError Source |
Show SocksError Source |
Exception SocksError Source |