In this short manual I'll explain how to use latest tor executable along with the clients for snowflake
, webtunnel
and conjure
.
-
Downloading the Latest Bundle Package:
Visit Tor Project Download Page or directly use the command:wget https://archive.torproject.org/tor-package-archive/torbrowser/13.5.7/tor-expert-bundle-linux-x86_64-13.5.7.tar.gz
-
Extract the File:
For simplicity, we will assume extracting within~/.local/opt/tor
.mkdir -p ~/.local/opt/tor tar -xzf tor-expert-bundle-linux-x86_64-13.5.7.tar.gz -C ~/.local/opt/tor
-
Generate Config File:
This file is required to customize Tor behavior (e.g., adding bridges, forcing exit nodes, etc.).~/.local/opt/tor/tor/tor --dump-config full > ~/.local/opt/tor/torrc
-
Create the Directory for User Services:
This is needed if it doesn’t already exist.mkdir -p ~/.config/systemd/user
-
Create a New Service File:
touch ~/.config/systemd/user/tor.service
-
Add the Following Content to the Service File:
Open the file in your preferred editor:nvim ~/.config/systemd/user/tor.service
[Unit] Description=Tor Service After=network.target [Service] ExecStart=~/.local/opt/tor/tor/tor -f ~/.local/opt/tor/torrc Restart=always [Install] WantedBy=default.target
-
Enable and Start the User Service To Start On Boot:
systemctl --user enable --now tor.service
-
Verify the service is running correctly:
systemctl --user status tor.service
-
Check logs related to the service:
journalctl --user -u tor.service
-
Optional - Custom Changes:
To add custom changes to the Tor config, use the~/.local/opt/tor/torrc
file. -
Optional - Suppress Warnings:
To disable warnings about deprecated configurations or missing values in the Tor logs, add a#
at the beginning of those lines within the~/.local/opt/tor/torrc
file.
Notes
- The client for
obfs4proxy
could be installed by the package manager of your choice; find its executable path usingwhich obfs4proxy
. - Since we're using a custom
torrc
to address the transparency clients, it's possible to use a relative path to that file. For example:ClientTransportPlugin webtunnel exec ~/.local/opt/tor/tor/pluggable_transports/webtunnel-client # Or relative path ClientTransportPlugin webtunnel exec ./tor/pluggable_transports/webtunnel-client
The following manual explains how to build webtunnel-client
from the source, this process rquires golang to be installed on your system.
- Downloading the Latest Bundle Package:
Visit Tor Project Download Page or clone the repository:git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel
- Compile the WebTunnel Client:
cd webtunnel/main/client go build
- Add the WebTunnel Client:
Place webtunnel-client in the pluggable_transports directory alongside the other bundled clients:cp ./client ~/.local/opt/tor/tor/pluggable_transports/webtunnel-client