Awesome Tor
A curated list of awesome software, articles, and other resources related to the Tor project.
Tor is an anonymizing TCP overlay network proxy implemented as a cryptographic mixnet. It is used for protecting the privacy of user communications in a variety of operational environments. Contributions to this list are heartily encouraged. Please see the contribution guidelines for details.
Contents
- Android-based tools
- Apple iOS-based tools
- Articles
- Bridge tools
- Conference presentations and talks
- Development and research tools
- End-user tools
- File sharing
- Funding
- Messaging
- Offensive tools
- Onion service tools
- Operating System distributions
- Pluggable transports
- Relay operator tools
- Tor controller interfaces
- Tor protocol implementations
- Tor server hardening tools
- Tunneling tools
- Web browser-based tools
- Whistleblowing
Android-based tools
- Orbot - Provides Tor on the Android platform.
- Orfox - Provides Tor Browser on the Android platform.
- Tor Onion Proxy Library - Provides a JAR and an AAR for embedding a Tor Onion service proxy into a Java or Android program.
Apple iOS-based tools
- Tor.framework - The easiest way to embed Tor in your iOS application.
- iCepa - Apple iOS system-wide VPN based Tor client.
Articles
- Anonbib - List of important papers in the field of anonymity. It's also a set of scripts to generate the website from Latex (bibtex). If we're missing any important papers, please let us know!
- Connecting to an authenticated Onion service - Guided procedure written for laypeople describing how to configure a Tor client to connect to authenticated Onion services.
- Scaling Tor hidden services - Article on scaling Onion services.
Bridge tools
- BridgeDB - Backend bridge distributor, handling the various pools they're distributed in. This was actively developed until Fall of 2010.
Conference presentations and talks
- How Tor Users Got Caught - Defcon 22 - 4 examples of people who have used Tor for illegal activities and how they were caught. Multiple de-anonymization attacks are shown at the end of the video.
- How governments have tried to block Tor - 2011 - Iran blocked Tor handshakes using Deep Packet Inspection (DPI) in January 2011 and September 2011, an oldy but goody.
- State Of The Onion - 2014 - Covers technical, social, economic, political and cultural issues pertaining to anonymity, the Tor Project and the ecosystem surrounding our communities.
- The Tor Network - 2013 - Roger Dingledine and Jacob Appelbaum discuss contemporary Tor Network issues related to censorship, security, privacy and anonymity online.
- Tor: Hidden Services and Deanonymisation - 2014 - This talk presents the results from what we believe to be one of the largest studies into Tor Hidden Services (The Darknet) to date.
Development and research tools
- Chutney - Integration test suite that spawns a local tor network, checking the interactions of its components.
- Compass - Web and command line application that filters and aggregates the Tor relays based on various attributes.
- DocTor - Notification service that monitors newly published descriptor information for issues. This is primarily a service to help the tor directory authority operators, but it also checks for a handful of other issues like sybil attacks.
- ExitMap - Scanner for the Tor network by Philipp Winter to detect malicious and misconfigured exits.
- Fingerprint Central - Website aimed at studying the diversity of browser fingerprints and providing developers with data to help them design good defenses.
- Metrics - Processing and analytics of consensus data, provided to users via the metrics portal. This has been under active development for several years by Karsten Loesing.
- OnionScan - Help operators of Onion services find and fix operational security issues with their location-hidden services.
- Onionoo - JSON based protocol to learn information about currently running Tor relays and bridges.
- Relay Search ("Atlas") - Web application to discover Tor relays and bridges, providing useful information on how relays are configured along with graphics about their past usage, formerly "Atlas." (Source code)
- Shadow - Discrete-event network simulator that runs the real Tor software as a plug-in. Shadow is open-source software that enables accurate, efficient, controlled, and repeatable Tor experimentation.
- setup-tor - Set up GitHub Actions workflow with a specific version of Tor.
- Tor Bulk Exitlist (TorBEL) - Provides a method of identifying if IPs belong to exit nodes or not. This is a replacement for TorDNSEL which is a stable (though unmaintained) Haskell application for this purpose. The initial version of TorBEL was started in GSOC 2010 but since then the project has been inactive.
- TorFlow - Library and collection of services for actively monitoring the Tor network. These include the Bandwidth Scanners (measuring throughput of relays) and SoaT (scans for malicious or misconfigured exit nodes).
- Tor Path Simulator (TorPS) - Tool for efficiently simulating path selection in Tor. It chooses circuits and assigns user streams to those circuits in the same way that Tor does. TorPS is fast enough to perform thousands of simulations over periods of months.
- TorBot - Python web crawler for Dark and Deep Web. Actively maintained and can be used in Docker container (dockerfile provided).
End-user tools
- GetTor - E-mail autoresponder providing Tor's packages over SMTP. This has been relatively unchanged for quite a while.
- Ooni Probe - Censorship scanner, checking your local connection for blocked or modified content.
- Tor Controller (for Kubernetes) - Expose applications deployed in Kubernetes clusters via Tor Onion services.
- Tor2web - Allows Internet users to browse websites running in Tor hidden services. It trades user anonymity for usability by allowing anonymous content to be distributed to non-anonymous users.
- TorBirdy - Torbutton for Thunderbird and related Mozilla mail clients.
- TorCheck - Site for determining if the visitor is using Tor or not.
- multitor - Shell scripts to automate creation of multiple Tor instances, load-balanced with HAProxy.
File sharing
- OnionShare - Open source tool that lets you securely and anonymously share a file of any size.
- ZeroNet - Decentralized Web site and Web application platform based on the BitTorrent protocol with Bitcoin-like blockchain that has built-in support for anonymization through Tor.
Funding
- OnionTip - Web app which parses Tor relay data to allow users to tip volunteers in cryptocurrency for running relay(s) in a fair and open way.
Messaging
- Briar - Peer-to-peer encrypted messaging and forums over various transports, including Bluetooth, clearnet Wi-Fi, or the Tor network.
- Ricochet - Jabber-based client that creates an Onion service used to rendezvous with your contacts without revealing your location or IP address.
- TorChat-Mac - Mac OS X native TorChat client.
- TorChat - Decentralized anonymous instant messenger on top of Tor Hidden Services.
Offensive tools
- ToRat - Cross-platform remote administration tool written in Go using Tor as a transport mechanism.
- dos-over-tor - Proof of concept denial of service over Tor stress test tool.
- oregano - Python module that runs as a machine-in-the-middle (MITM) accepting Tor client requests.
- Offensive Tor Toolkit - Series of tools written in Go that simplify the use of Tor for typical exploitation and post-exploitation tasks.
Onion service tools
- Enterprise Onion Toolkit - Tool for assisting in large-scale deployments of HTTP(S) Onion sites as an official Onionspace presence for existing clearnet websites.
- OnionBalance - Load-balancing and redundancy for Tor hidden services.
- Stormy - Easy creation of Tor Onion services ("Location-Hidden Services"), currently under heavy development.
- Vanguards - Version 3 Onion service guard discovery attack mitigation script (intended for eventual inclusion in Tor core).
- goldy/tor-hidden-service - Docker container capable of providing multiple simultaneous Onion services in either Version 2 or Version 3 format, along with added support for Vanguards.
Operating System distributions
- The Amnesic Incognito Live System (TAILS) - Live CD/USB distribution preconfigured so that everything is safely routed through Tor and leaves no trace on the local system.
- Whonix - Desktop operating system that can be run in various configurations, which routes the entire user's desktop environment and OS through Tor.
- tor-ramdisk - uClibc-based micro Linux distribution whose sole purpose is to securely host a Tor server purely in RAM.
Pluggable transports
- Flash Proxy - Pluggable transport using proxies running in Web browsers to defeat address-based blocking.
- Obfsproxy - Obfuscating proxy that shapes Tor traffic, making it harder for censors to detect and block Tor, with implementations in C and Python.
- ScrambleSuit - Python module for Obfsproxy suitable for either Tor, VPN, SSH, or any other application that supports SOCKS.
- Stegotorus - Masks traffic from a Tor client to the entry point into the Tor network such that it looks like ordinary HTML traffic.
Relay operator tools
- Anonymizing Relay Monitor (Arm) -
top
-like terminal status monitor for Tor, intended for command-line aficionados, SSH connections, and anyone with a TTY terminal. - Weather - Provides automatic notification to subscribed relay operators when their relay's unreachable.
- ansible-relayor - An Ansible role for Tor Relay Operators.
- tor-relay-bootstrap - Script to bootstrap a Debian server to be a set-and-forget Tor relay.
- tor_box - An all-inclusive Tor configuration for Raspberry Pi, serves as both a relay and personal Tor network.
Tor controller interfaces
- Bine - Go library for accessing and embedding Tor clients and servers.
- PHP TorControl - PHP library to control a Tor server.
- Stem - TorProject's official Python controller library for scripts and controller applications using Tor.
- tor.rb - Ruby library for interacting with the Tor anonymity network.
- txtorcon - TorProject's official implementation of the control-spec for Tor using the Twisted networking library for Python (supports Py2, PyPy and Py3).
Tor server hardening tools
- Tlsdate - Secure parasitic rdate replacement maintained by the Tor Project that sets the local clock by securely connecting with TLS to remote servers and extracting the remote time out of the secure handshake.
- onion-grater - Whitelisting filter for dangerous Tor control protocol commands.
Tunneling tools
- dnscrypt-proxy - DNS proxy server supporting arbitrary DNS, DNSCrypt v2, DNS-over-TLS, and DNS-over-HTTPS queries that can be torified with a two-line configuration change (
force_tcp = true
andproxy = socks5://127.0.0.1:9050
or similar). - tor_ssh.sh - One command to enable SSH access via Tor to any server.
- Torsocks - Utility for adapting other applications to work with Tor.
- Tortilla - Open source tool that allows users of Windows OS devices to securely, anonymously, and transparently route all TCP/IP and DNS traffic through Tor.
- tun2tor - Rust library to provide a virtual
utun
(userspace tunnel) interface to Tor.
Web browser-based tools
- HTTPS Everywhere - Firefox and Chrome extension that automatically switches to HTTPS connections with many major websites if those are available that ships in Tor Browser.
- NoScript - Javascript execution blocking Firefox extension that ships in Tor Browser.
- Tor Browser - Easy-to-use, portable package of Tor, HTTPS-Everywhere, NoScript, TorLauncher, Torbutton, and a Firefox fork, all preconfigured to work together out of the box.
Tor protocol implementations
- haskell-tor - Haskell implementation of the Tor protocol.
- node-Tor - Javascript implementation of the Tor (or Tor like) anonymizer project.
Whistleblowing
- GlobaLeaks - Free software intended to enable secure and anonymous whistleblowing initiatives.
- SecureDrop - Open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources.
License
This work is licensed under a Creative Commons Attribution 4.0 International License.