A Haskell implementation of the Tor onion routing protocol for anonymous internet communication.
haskell-tor is a Haskell implementation of the Tor onion routing protocol, which enables anonymous communication over the internet by routing traffic through a distributed network of relays. It provides the core functionality for creating anonymized connections and supports being used as an entrance, relay, or exit node.
Haskell developers and researchers building privacy-focused applications, unikernel deployments, or those interested in protocol implementation using functional programming.
It offers a type-safe, modular Tor implementation that can be integrated into Haskell projects or run as a standalone binary, with support for alternative network stacks like HaLVM for specialized environments.
A Haskell implementation of the Tor protocol.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Haskell's strong type system to enforce correctness and modularity, as emphasized in the project philosophy for secure anonymity.
Supports configurable backends like standard sockets or the clean-slate hans stack via cabal flags, allowing adaptation to various environments including unikernels.
Can be built for the Haskell Lightweight Virtual Machine, enabling lightweight, secure deployments in specialized anonymous networking scenarios.
Usable as a Haskell library for integration into custom applications or as a standalone executable, providing flexibility for different use cases.
Admits missing key Tor features like hidden services support, proper flow-control, and directory server support, limiting functionality compared to the official client.
Requires managing intricate cabal flags and constraints, especially for HaLVM or integer-simple builds, which can be error-prone and time-consuming to set up.
Relay and exit node support is less well-tested, and the implementation hasn't been peer-reviewed, posing security and reliability risks for production use.