This plugin adds Tor proxy server support to RaspAP.
- Installation
- Configuration
- Restarting Tor Proxy
- Client setup
- Verifying your connection
- Monitoring traffic
Install the Tor proxy plugin from RaspAP's System > Plugins tab. Choose Details corresponding to the plugin, then Install now from the pop-up dialog.
RaspAP's plugin manager automates installating dependencies, creating a baseline Tor configuration, setting permissions and so on. When these steps are done, the installer will refresh the UI. The Tor Proxy plugin will then appear in the sidebar and be immediately available to configure.
Baseline Tor settings that will work for most devices are preconfigured by the plugin. The IPv4 address of your device's default network interface is added to the "Network Interface" field. Likewise, the subnet for this interface is used to define the "Socks Policy".
If you wish to change these values, ensure that they correspond to the default route configured on your device. You can obtain this from RaspAP's Networking > Summary tab. Use the IP Address value that appears under Internet connection. This indicates the primary source of internet connectivity for your device.
Alternatively, you can determine this by executing ip route:
$ ip route
default via 192.168.1.254 dev eth0 proto dhcp src 192.168.1.49 metric 100
In this example, eth0 is the interface associated with the default route and 192.168.1.49 is the IPv4 address assigned to it by DHCP.
If you have services listening on Tor's default Socks port (9050) or Control port (9051) you may change these values to alternate ports. The "Daemon Mode", "Authentication method" and "Data directory" settings are read-only.
If you've modified any of the default settings, you must choose Restart Tor service for the changes to take effect. Tor usually takes a few seconds to establish a circuit with a relay. Check the Status tab to see its progress. Example output of a working [email protected] is shown below:
● [email protected] - Anonymizing overlay network for TCP
Loaded: loaded (/lib/systemd/system/[email protected]; enabled-runtime; preset: enabled)
Active: active (running) since Tue 2025-06-03 03:40:32 PDT; 152ms ago
Process: 80143 ExecStartPre=/usr/bin/install -Z -m 02755 -o debian-tor -g debian-tor -d /run/tor (code=exited, status=0/SUCCESS)
Process: 80145 ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config (code=exited, status=0/SUCCESS)
Main PID: 80146 (tor)
Tasks: 1 (limit: 768)
CPU: 4.948s
CGroup: /system.slice/system-tor.slice/[email protected]
└─80146 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0
Jun 03 03:40:28 rpitest Tor[80146]: Opened Control listener connection (ready) on 127.0.0.1:9051
Jun 03 03:40:28 rpitest Tor[80146]: Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Jun 03 03:40:28 rpitest Tor[80146]: Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Jun 03 03:40:29 rpitest Tor[80146]: Bootstrapped 0% (starting): Starting
Jun 03 03:40:32 rpitest Tor[80146]: Starting with guard context "default"
Jun 03 03:40:32 rpitest Tor[80146]: Signaled readiness to systemd
Jun 03 03:40:32 rpitest systemd[1]: Started [email protected] - Anonymizing overlay network for TCP.
Jun 03 03:40:32 rpitest Tor[80146]: Bootstrapped 5% (conn): Connecting to a relay
Jun 03 03:40:33 rpitest Tor[80146]: Bootstrapped 10% (conn_done): Connected to a relay
Jun 03 03:40:33 rpitest Tor[80146]: Bootstrapped 14% (handshake): Handshaking with a relay
...
Jun 03 03:40:34 rpitest Tor[80146]: Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits
Jun 03 03:40:34 rpitest Tor[80146]: Bootstrapped 95% (circuit_create): Establishing a Tor circuit
Jun 03 03:40:35 rpitest Tor[80146]: Bootstrapped 100% (done): Done
If the service is unable to bootstrap the Tor circuit, check your configuration and try again.
With the Tor proxy server running, you can configure a browser to use it as a proxy. Firefox has this ability built-in and is generally the easiest to use. However, there are several Chrome plugins that allow you to use a proxy.
Using Firefox, choose Settings > Network Settings and select the Manual proxy configuration option.
Add your Tor Proxy server's IPv4 address in the "SOCKS Host" field and its corresponding port. Ensure that the "SOCKS v5" option is checked.
To verify that your internet traffic is being routed through the Tor network, visit https://check.torproject.org/.
If instead you see "Sorry. You are not using Tor" check that your browser configuration matches your Tor Proxy server settings.
You can also monitor Tor proxy traffic on your device by executing nyx. The Tor Proxy plugin installs this package for you. First, verify that permissions on the Tor cookie allow Nyx to run without elevated privileges:
sudo chmod 755 /run/tor/control.authcookie
You can then simply execute it with nyx (no sudo):
Use the arrow keys to toggle through the displays. The m key opens a menu. Press q to quit Nyx.