Diese Anleitung hilft dir, einen eigenständigen Snowflake-Proxy auf einem Server einzurichten, um zensierten Nutzern den Zugang zum Tor-Netzwerk zu ermöglichen. Die einzige Voraussetzung ist eine Internetverbindung. Einer der Hauptvorteile der eigenständigen Snowflake-Proxys ist jedoch, dass sie auf Servern installiert werden können und eine höhere Bandbreite und Zuverlässigkeit für Benutzer hinter restriktiven NATs und Firewalls bieten. Dafür empfehlen wird besonders:
- 24/7 Internetverbindung
- Ein Full-Cone-NAT (Du kannst dieses NAT-Verhaltenstool verwenden, um zu testen, welche Art von NAT du hast. Die von dir gesuchten Eigenschaften sind adressunabhängiges Mapping und entweder adressunabhängige oder adressabhängige Filterung)
Es gibt mehrere Wege um einen eigenständigen Snowflake Proxy einzurichten und zu betreiben.
Docker-Einstellungen
Du musst zuerst Docker und docker-compose installiert haben.
Wir haben ein Docker-Image, das die Einrichtung eines Snowflake-Proxys erleichtert. Zuerst docker-compose.yml herunterladen. Verteile dann den Proxy mit:
docker-compose up -d snowflake-proxy
Du solltest nun die Ausgabe sehen:
Erstelle snowflake-proxy ... fertig
Und dein Proxy ist einsatzbereit!
Ansible
Es gibt jetzt eine Ansible-Rolle, um einen Snowflake-Proxy unter Debian zu installieren erstellt von Jacobo Nájera: https://galaxy.ansible.com/nvjacobo/snowflake
Kompilieren und Ausführen aus dem Quellcode
Zuerst musst du Go installieren und konfigurieren, um den eigenständigen proxy-go-Code zu erstellen. Wenn du Ubuntu oder Debian benutzt, kannst du Go installieren, indem du
apt install golang
ausführst. Andernfalls besuche https://golang.org/dl/. Du wirst Go 1.13+ brauchen um den Snowflake Proxy zu betreiben.Klone den Quellcode.
git clone https://git.torproject.org/pluggable-transports/snowflake.git
- Kompiliere den Snowflake-Proxy.
cd snowflake/proxy go build
- Starte den Snowflake-Proxy.
Für unsere Fallback-Proxy-Go-Instanzen auf Snowflake-Broker verwalten wir Proxy-Go-Instanzen mit Runit. Mit einem einfacheren nohup-Befehl kannst du jedoch auch eine Instanz im Hintergrund laufen lassen.
nohup ./proxy &