crypton-socks: SOCKS Protocol Version 5

[ bsd3, library, network ] [ Propose Tags ] [ Report a vulnerability ]

A library implementing SOCKS Protocol Version 5.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
example

Build the example application.

Disabled
Automatic Flags
NameDescriptionDefault
network-3-0-0-0

Use network-3.0.0.0 or later. If used the example application has a dependency on network-bsd.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.6.1, 0.6.2
Change log CHANGELOG.md
Dependencies base (>=3 && <5), bytestring, cereal (>=0.3.1), crypton-socks, network (>=2.6), network-bsd [details]
License BSD-3-Clause
Copyright Vincent Hanquez <vincent@snarc.org>
Author Vincent Hanquez <vincent@snarc.org>
Maintainer Mike Pilgrem <public@pilgrem.com>, Kazu Yamamoto <kazu@iij.ad.jp>
Category Network
Home page http://github.com/mpilgrem/crypton-socks
Bug tracker https://github.com/mpilgrem/crypton-socks/issues
Source repo head: git clone https://github.com/mpilgrem/crypton-socks
Uploaded by mpilgrem at 2025-07-11T23:26:48Z
Distributions LTSHaskell:0.6.2, Stackage:0.6.2
Executables crypton-socks-example
Downloads 5 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-07-11 [all 1 reports]

Readme for crypton-socks-0.6.2

[back to package description]

crypton-socks

Originally forked from socks-0.6.1.

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.