Haskell library implementing the SOCKS Protocol Version 5.
Usage
See example/Example.hs for really simple and straighforward examples. The
main API of the library is three functions:
socksConnectWithSocket which connects to a SocksAddress specifying a
SocksHostAddress (SocksAddrIPV4, SocksAddrDomainName or
SocksAddrIPV6). The name resolution is done on the client side.
socksConnect connects a new socket to a SOCKS server, with
socksConnectWithSocket.
socksConnectName which connects to a fully qualified domain name (FQDN) (for
example, www.example.com). The name resolution is done by the proxy server.
History
The socks package was originated
and then maintained by Vincent Hanquez. For published reasons, he does not
intend to develop the package further after version 0.6.1 but he also does not
want to introduce other maintainers.
Changes
Change log for crypton-socks
All notable changes to this project will be documented in this file.
Move library modules to directory src and example application to directory
example.
Change data types SocksHello and SocksHelloResponse (each with a single,
unary data constructor without strictness annotation) to newtype.
Add missing top-level signatures to library.
Name the example application crypton-socks-example, and move it being built
behind Cabal flag example (default: false).
Export the SocksFQDN type synonym, representing fully-qualified domain names
(FQDN) under the SOCKS Protocol Version 5. The API assumes that such values
comprise only ASCII characters. Domain names that include other Unicode code
points should be Punycode encoded.
Remove dependency on the basement package.
Deprecate defaultSocksConfFromSockAddr, soft deprecated from 22 April 2019.
0.6.1
Rename socks-0.6.1 package as crypton-socks-0.6.1.