Socks proxy (version 5) implementation.

Version on this page:0.5.4@rev:1
LTS Haskell 22.28:0.6.1
Stackage Nightly 2024-07-13: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.4@sha256:33e39b2d747817d8a487f10bd3dcc46f789e3066dde07565b39f1d703f8545da,1198

Module documentation for 0.5.4

  • Network
    • Network.Socks5
      • Network.Socks5.Lowlevel
      • Network.Socks5.Types
Used by 1 package in lts-0.7(full list with versions):


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.