A Ruby library for interacting with the Tor anonymity network, including configuration parsing, process control, and exit node detection.
Tor.rb is a Ruby library that provides programmatic access to the Tor anonymity network. It allows Ruby applications to check Tor availability, parse configuration files, control running Tor processes, and detect Tor exit nodes. The library solves the problem of integrating Tor's privacy features directly into Ruby applications without manual configuration.
Ruby developers building applications that require anonymity features, privacy-conscious web scrapers, security researchers, and developers working on network privacy tools.
Developers choose Tor.rb because it provides a comprehensive, idiomatic Ruby interface to Tor's capabilities, eliminating the need for manual system calls and configuration parsing. It's specifically designed for Ruby environments with broad version compatibility including JRuby support.
Tor.rb is a Ruby library for interacting with the Tor anonymity network.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Ruby 1.8.7+, 1.9.x, and JRuby 1.4/1.5, making it versatile for legacy systems and diverse Ruby environments as noted in the README.
Provides tools for Tor availability detection, configuration parsing, process control via the Tor Control Protocol, and exit node detection, covering key interaction points with the Tor network.
Offers clean, Ruby-like methods such as Tor.available? and Tor::Controller.connect with block syntax, simplifying integration into Ruby applications.
Released under the unlicense, allowing unrestricted use, modification, and distribution without legal barriers, as specified in the README.
The README explicitly targets old Ruby versions (1.8.7, 1.9.x), which may not be compatible with modern Ruby ecosystems like Ruby 3.x without adjustments or updates.
Requires Tor to be installed and running locally, adding setup complexity and potential points of failure, as it doesn't bundle or manage Tor itself.
With maintenance handled by a specific individual and no mention of recent updates, it may lack support for newer Tor features, bug fixes, or community contributions.
Examples in the README are basic and lack guidance on advanced use cases, error handling, or production deployment, which could hinder adoption.