The socks package

[ Tags: bsd3, library, network ] [ Propose Tags ]

Socks proxy (version 5) implementation.

[Skip to Readme]


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.*), network (==2.3.*) [details]
License BSD3
Copyright Vincent Hanquez <>
Author Vincent Hanquez <>
Maintainer Vincent Hanquez <>
Category Network
Home page
Source repo head: git clone git://
Uploaded Fri Feb 3 06:28:25 UTC 2012 by VincentHanquez
Updated Sun Jun 14 21:12:46 UTC 2015 by AdamBergmark to revision 1   [What is this?]
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 134726 total (231 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




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.4.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.