Web Interface for Tor Relays
HTML Python JavaScript CSS Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
FreeBSD
init.d
licenses
theonionbox
.gitattributes
.gitignore
LICENSE
MANIFEST.in
README.md
setup.py

README.md

The Onion Box

Web based Status Monitor for Tor Relays

The Onion Box provides a web interface to connect to a Tor relay and monitor aspects of it's operation in "real time". That's how it looks like in action:

image

You will get information concerning the host system (like cpu load or memory usage), your current Tor configuration and a plentitude of data from the Onionoo Network (including a nice map showing the locality of your server based on the distributed GeoIP data). In addition, the page displays your relay's upload / download performance using real time charts and allows to switch Tor's event system.

NEW in v2
With v2 The Box supports Onionoo, the Tor network status protocol. In addition to the long term bandwidth data - which was added in the section Bandwidth next to the live bandwidth charts - The Box now presents a bunch of network status data like 'Consensus Weight' or 'Middle Probability' on dedicated charts:
image
As this example shows, The Box thereby supports all level of details that are provided by the status protocol - and thus allows here to switch chart scale from '1 Week' to '3 Months'.

Installation

The Box depends on some additional libraries, so make sure they are installed:

NEW in v2
* apscheduler
* requests
NEW in v3
Additionally I recommend to install CherryPy as webserver to be used! (The Box runs as well with a standard server yet this one has issues with IE!)
v3 comes bundled with a very performant websever. You might still use CherryPy - yet there's no true demand anymore.

Configuration

... of The Onion Box

To adapt the Box to your Tor environment edit the configuration file located in ~/config/theonionbox.cfg. Every configuration option is well documented there so it shouldn't be too difficult to get along.

... of Tor

The Box relies on Tor's authentication process to grant access. Therefore you have to

  • make sure that you configured a ControlPort.
  • set the HashedControlPassword option in Tor's config file and define a password to access the ControlPort.

Box Operations

Open a console and launch The Box with python theonionbox.py.

As of now there is no support to run The Box as a daemon. Be assured that this is part of the TODO - list.

NEW in v2.1
Alternatively you could run The Box as a background service on init based Linux systems. Check the HowTo for the detailed procedure.

To see your relay in action browse to the address you configured and log into the Box using the password you defined for the ConfigPort.

Leave me a message if you encounter any issues... which might probably happen! 😰

Enjoy!