Socks proxy (version 5) implementation.

Version on this page:0.5.5@rev:1
LTS Haskell 22.22:0.6.1
Stackage Nightly 2024-05-20:0.6.1
Latest on Hackage:0.6.1

See all snapshots socks appears in

BSD-3-Clause licensed and maintained by Vincent Hanquez
This version can be pinned in stack with:socks-0.5.5@sha256:7cd766c60366c9b1e6100af4f710fd38bc851ac28387b60471c6a3b63bc0e85b,1326

Module documentation for 0.5.5


Haskell library implementation of the SOCKS 5 protocol.


  • more socks authentification methods: only no authentification is supported for now.
  • support of socks’ bind for server to client connection (like FTP).
  • add socks4a and socks4 support.


See Example.hs for really simple and straighforward example. The main api is only 2 calls:

  • socksConnectAddr which connect to a SockAddr (SockAddrInet or SockAddrInet6). The name resolution is left on client side.
  • socksConnectName which connect to a fully qualified domain name “”. The proxy server will do the name resolution.