Diese Anleitung hilft dir, eine WebTunnel-Brücke einzurichten, die aus der Quelle kompiliert wurde, um zensierten Nutzern zu helfen, sich mit dem Tor-Netzwerk zu verbinden.
0. Konfiguriere deine Domain und deinen Webserver
Bevor du mit den folgenden Anweisungen fortfährst, musst du zuerst deine Domain und deinen Webserver konfigurieren.
Im ersten Teil der WebTunnel-Anleitung erfährst du, wie du deinen Webserver einrichtest.
1. Installiere Golang
Um das WebTunnel-Server-Binary zu erstellen, musst du Golang installieren.
Du kannst Go unter Debian installieren, indem du folgendes ausführst:
$ sudo apt install golang
2. Klonen und kompilieren
Klone das WebTunnel-Git-Repository:
$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel
Und kompiliere die WebTunnel-Server-Binärdatei:
$ cd webtunnel/main/server
$ go build
Kopiere schließlich die Binärdatei an einen anderen Ort:
$ sudo cp server /usr/local/bin/webtunnel
3. Installiere Tor
Auf einem Debian-ähnlichen System installierst du Tor aus dem Tor Debian Repository.
$ sudo apt install apt-transport-https lsb-release
Und führe diese Befehle aus, um das Tor-Debian-Repository zu aktivieren:
$ CODENAME=$(lsb_release -cs)
$ cat <<EOF > /etc/apt/sources.list.d/tor.list
deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
EOF
Importiere den Tor Project Schlüsselbund:
$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
Zum Schluss aktualisierst du deine Paketliste und installierst Tor:
$ sudo apt update && sudo apt install tor deb.torproject.org-keyring -y
4. Bearbeite dein torrc
Bearbeite deine Tor-Konfigurationsdatei, die normalerweise unter /etc/tor/torrc
zu finden ist, und ersetze ihren Inhalt durch:
url=https://yourdomain/path
mit deiner WebTunnel-URL einschließlich deiner Domain und dem geheimen Pfad;
<address@email.com>
with your contact email address;
Nickname WebTunnelTest
mit dem Nickname deiner Brücke.
BridgeRelay 1
ORPort 127.0.0.1:auto
AssumeReachable 1
ServerTransportPlugin webtunnel exec /usr/local/bin/webtunnel
ServerTransportListenAddr webtunnel 127.0.0.1:15000
ServerTransportOptions webtunnel url=https://yourdomain/path
ExtORPort auto
ContactInfo <address@email.com>
Nickname WebTunnelTest
SocksPort 0
5. Tor neustarten
Aktiviere und starte Tor:
$ sudo systemctl enable --now tor.service
Oder starte Tor neu, wenn es schon lief, so dass die Änderungen angewandt werden:
$ sudo systemctl restart tor.service
6. AppArmor tor-Berechtigung bearbeiten und neu laden
Um Tor zu erlauben, dein WebTunnel-Binary auszuführen, bearbeite das AppArmor system_tor
-Profil unter /etc/apparmor.d/system_tor
und füge einen Eintrag hinzu, der es Tor erlaubt, WebTunnel auszuführen:
# During startup, tor (as root) tries to open various things such as
# directories via check_private_dir(). Let it.
/usr/local/bin/webtunnel ix,
Lade das AppArmor-Profil neu:
$ sudo apparmor_parser -r /etc/apparmor.d/system_tor
Nachdem du das Profil geändert und neu geladen hast, teste, ob der tor-Prozess nun /usr/local/bin/webtunnel
ohne jegliche AppArmor-Verweigerung ausführen kann.
Überprüfe die Systemprotokolle (z. B. dmesg
oder /var/log/syslog
), um sicherzustellen, dass der Fehler nicht erneut auftritt.
7. Überwache deine Protokolle
Um zu bestätigen, dass deine Brücke ohne Probleme läuft, solltest du etwas wie das hier sehen (normalerweise in /var/log/syslog oder führe sudo journalctl -e -u tor@default
aus):
[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
Du kannst die Nutzung deiner WebTunnel-Brücke auf Relay Search überwachen.
Gib einfach den <HASHED FINGERPRINT>
deiner Brücke in das Formular ein und klicke auf "Suchen".
Nach dem Einrichten der Brücke dauert es etwa drei Stunden, bis die Brücke in der Relaysuche angezeigt wird.
8. Abschließende Anmerkungen
Deine WebTunnel-Brücke wird standardmäßig automatisch über die Bridges-Website verteilt, auch bekannt als HTTPS
-Verteiler.
Diese Vorgabe gilt, es sei denn, ein Betreiber konfiguriert die Einstellung BridgeDistribution
in der torrc-Datei ausdrücklich auf eine andere Option.
Wird eine andere Option als HTTPS
gewählt, wird die Brücke nicht an die Benutzer verteilt.
Wenn du Probleme beim Einrichten deiner Brücke hast, wirf einen Blick in unseren Hilfebereich.
Wenn deine Brücke jetzt läuft, kannst du sie testen, indem du deine Brückenzeile kopierst und in den Tor Browser einfügst.
Um deine WebTunnel-Brückenlinie zu erstellen, musst du den FINGERPRINT
deiner Brücke kopieren, aber verwechsle ihn nicht mit deinem gehashten Fingerprint, welcher der Fingerprint ist, den du auf der Tor Relay Search Webseite findest.
Wenn du den gehashten Fingerprint anstelle deines Brücken-Fingerprints kopierst, kannst du keine Verbindung herstellen.
Du kannst deinen Brücken-Fingerprint in der Datei /var/lib/tor/fingerprint
finden.
Denk dran, nur den Fingerprint zu kopieren und den Nickname der Brücke nicht mit einzubeziehen.
Schließlich kannst du den Inhalt der URL durch deine Domain und den geheimen Pfad ersetzen.
Du kannst dies in deiner torrc-Zeile unter ServerTransportOptions
finden.
Ersetze nun einfach den folgenden Inhalt, um deine WebTunnel-Brückenleitung zu erstellen. 10.0.0.2:443 ist nur eine zufällige IP-Adresse, die nie verwendet wird. Sie ist nur da, weil die Spezifikation der austauschbaren Übertragungsart dort eine IP-Adresse verlangt.
webtunnel 10.0.0.2:443 FINGERPRINT url=https://yourdomain/path