socks: Socks proxy (version 5) implementation.

[ bsd3, library, network ] [ Propose Tags ]
Versions 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6
Dependencies base (>=3 && <5), bytestring, cereal (>=0.3.1 && <0.4), network (==2.3.*) [details]
License BSD-3-Clause
Copyright Vincent Hanquez <>
Author Vincent Hanquez <>
Maintainer Vincent Hanquez <>
Revised Revision 1 made by AdamBergmark at Sun Jun 14 21:13:21 UTC 2015
Category Network
Home page
Source repo head: git clone git://
Uploaded by VincentHanquez at Fri Apr 19 07:21:36 UTC 2013
Distributions Arch:0.5.6, Debian:0.5.4, Fedora:0.5.6, FreeBSD:0.5.4, LTSHaskell:0.5.6, NixOS:0.5.6, Stackage:0.5.6, openSUSE:0.5.6
Downloads 134745 total (225 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Socks proxy (version 5) implementation.

[Skip to Readme]




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for socks-0.5.1

[back to package description]


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.