This guide will walk you through the installation, operation, and maintenance of Snowflake proxy on Linux-based systems. Running a Snowflake proxy is an easy way to contribute to the Tor Project's anti-censorship efforts.

1. Installiere Go

First you will need to install and configure the Go compiler to build the standalone proxy from source code. Bitte melde dich mit einem Benutzerkonto mit sudo-Rechten oder direkt mit root an (im letzteren Fall lass den sudo-Teil in den folgenden Befehlen weg).

Wenn du Ubuntu oder Debian benutzt, kannst du Go installieren, indem du sudo apt install golang ausführst. Wenn du Fedora, Red Hat oder Amazon Linux mit sudo yum install golang oder sudo dnf install golang verwendest.

You will need Go 1.21 or newer to run the Snowflake proxy. Please check your Go version by using the command go version. Otherwise download Go binary from the official website and follow its installation instructions.

2. Installiere Git und klone das Snowflake-Repository

Second you need the git client to download the Snowflake source code.

Wenn du Ubuntu oder Debian benutzt, kannst du git installieren, indem du sudo apt install git ausführst. Wenn du Fedora, Red Hat oder Amazon Linux mit sudo yum install git oder sudo dnf install git verwendest. Andernfalls konsultiere die Dokumentation deines Betriebssystems.

Please execute the following steps with the user account under which the proxy should be executed. Verwende nicht root.

Es wird empfohlen, ein separates Snowflake-Konto mit eingeschränkten Rechten auf dem System zu erstellen.

Öffne dein Terminal und klone den Quellcode:

git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git

3. Baue den Snowflake-Proxy

After you cloned the repository, you can build Snowflake proxy binary by running the command:

cd snowflake/proxy
go build

4. Run the Snowflake proxy

After your proxy finished to compile, you can run it with the command:

nohup ./proxy &

Anmerkung: Das Kommando nohup erlaubt es, dass das Programm im Hintergrund weiter ausgeführt wird, selbst nach Schließen des Terminals, und & schiebt das Kommando direkt in den Hintergrund.

If you want to save the proxy output to a logfile, for example, to see your proxy usage, you can use:

nohup ./proxy >snowflake.log 2>&1 &

5. Stelle sicher, dass der Proxy nach einem Neustart des Systems automatisch gestartet wird

Bearbeite deine Crontab, indem du folgendes Kommando ausführst:

crontab -e

Gib die folgende Zeile ein (Beispiel, passe die Pfade an deine Situation an)

@reboot nohup /home/snowflake/snowflake/proxy/proxy > /home/snowflake/snowflake/proxy/snowflake.log 2>&1 &

Bitte überprüfe, ob dies funktioniert, indem du das System neu startest und das Protokoll checkst. Anmerkung: Bei manchen Linux-Installationen könnte es sein, dass dies nicht funktioniert.

6. Keep your Snowflake proxy updated

Um deinen Snowflake-Proxy auf dem neuesten Stand zu halten, führe alle paar Wochen die folgenden Befehle aus (melde dich mit dem Benutzerkonto an, das du bei der Installation des Proxys verwendet hast):

kill -9 $(pidof proxy)
cd snowflake/
git pull
cd proxy
go build
nohup ./proxy >snowflake.log 2>&1 &