Kurzanleitung: Snowflake auf dem Raspberry Pi ausführen
Snowflake ist eines der Methoden/Verfahren, die im Tor-Browser integriert sind, um die staatlichen Blockademaßnahmen zu umgehen. Das Interessante: Jeder kann mit Snowflake mithelfen, dass Menschen in repressiven Staaten wie Russland eine Verbindung zum Tor-Netzwerk herstellen können. Es genügt ein Browser-Add-on in Firefox oder Chrome zu installieren und schon wird der eigene Rechner zum Snowflake-Proxy. Der Tor-Client stellt dann eine WebRTC-Verbindung zum Browser her (auf dem Snowflake installiert ist), der dann den Datenverkehr zwischen dem Snowflake-Proxy und der Snowflake-Bridge vermittelt.
Es gibt allerdings auch eine Standalone-Lösung, die 24/7 auf einem System laufen kann. Nachfolgend habe ich alle notwendigen Befehle zusammengefasst, um Snowflake auf einem Raspberry Pi zu installieren bzw. dort laufen zu lassen. Eine ausführliche Anleitung mit Erklärungen reiche ich in einem längeren Blog-Beitrag nach.
Installation
Nach der Installation des Raspberry Pi OS und der Aktivierung von SSH sind nachfolgende Befehle über die Konsole abzusetzen.
Herstellen einer SSH-Verbindung zum Pi – nachfolgend müsst ihr die IP-Adresse natürlich anpassen:
ssh pi@192.168.50.100 [Standardpasswort lautet raspberry
]
Änderung Standard-Passwort:
passwd
Update des Systems:
sudo apt-get update sudo apt-get upgrade
Benötigte Pakete installieren:
sudo apt-get install git sudo apt-get install golang
Snowflake Proxy Code herunterladen:
cd git clone https://git.torproject.org/pluggable-transports/snowflake.git
In das Snowflake-Verzeichnis wechseln und den Code bauen:
cd snowflake/proxy go build
Snowflake-Proxy im Hintergrund ausführen und die Aktivitäten in ein Logfile schreiben:
nohup /home/pi/snowflake/proxy/proxy > /home/pi/snowflake/proxy/snowflake.log 2>&1 &
Das war es auch schon. Ab jetzt läuft Snowflake im Hintergrund.
Mit dem nachfolgenden Befehl lässt sich der Status ausgeben bzw. wie viele Verbindungen über Snowflake initiiert wurden:
cat /home/pi/snowflake/proxy/snowflake.log
Autostart
Nach einem Neustart des Raspberry Pi müsst ihr den Start-Befehl erneut ausführen. Da kann man mit systemd sicherlich ein schickes Service-Script basteln, um Snowflake automatisch zu starten. Anbei eine schnelle Lösung:
sudo crontab -u pi -e
Und dort einfügen:
@reboot nohup /home/pi/snowflake/proxy/proxy > /home/pi/snowflake/proxy/snowflake.log 2>&1 &
Update
Ein Update der Snowflake-Umgebung sollte wie folgt möglich sein:
kill -9 $(pidof proxy) cd /home/pi/snowflake/ git pull https://git.torproject.org/pluggable-transports/snowflake.git cd /home/pi/snowflake/proxy go build
Anschließend muss Snowflake wieder gestartet werden:
nohup /home/pi/snowflake/proxy/proxy > /home/pi/snowflake/proxy/snowflake.log 2>&1 &