Это руководство поможет вам настроить мост WebTunnel, скомпилированный из исходного кода, чтобы помочь подвергнутым цензуре пользователям подключаться к сети Tor.
0. Настройте свой домен и веб-сервер
Прежде чем приступить к выполнению приведенных ниже инструкций, необходимо сначала настроить свой домен и веб-сервер.
Обратитесь к первой части Руководства по WebTunnel, чтобы узнать, как настроить веб-сервер.
1. Установите Голанг
Чтобы собрать двоичный файл сервера WebTunnel, вам необходимо установить Golang.
Вы можете установить Go на Debian, запустив:
$ sudo apt install golang
2. Клонирование и компиляция
Клонируйте git-репозиторий WebTunnel:
$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel
И скомпилируйте двоичный файл сервера WebTunnel:
$ cd webtunnel/main/server
$ go build
Наконец, скопируйте двоичный файл в другое место:
$ sudo cp server /usr/local/bin/webtunnel
3. Установите Tor
В системе, похожей на Debian, установите Tor из репозитория Tor Debian.
$ sudo apt install apt-transport-https lsb-release
И запустите эти команды, чтобы включить репозиторий Tor Debian:
$ 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
Импортируйте брелок проекта Tor:
$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
Наконец, обновите список пакетов и установите Tor:
$ sudo apt update && sudo apt install tor deb.torproject.org-keyring -y
4. Отредактируйте свой torrc
Отредактируйте файл конфигурации Tor, обычно расположенный в /etc/tor/torrc
, и замените его содержимое на:
url=https://yourdomain/path
с URL-адресом вашего веб-туннеля, включая ваш домен и секретный путь;
<address@email.com>
with your contact email address;
Никнейм WebTunnetTest
с ником вашего моста.
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
Включите и запустите тор:
$ sudo systemctl enable --now tor.service
А если Tor уже работает, перезапустите, чтобы изменения вступили в силу:
$ sudo systemctl restart tor.service
6. Отредактируйте и перезагрузите разрешение AppArmor tor
Чтобы разрешить tor запускать ваш двоичный файл веб-туннеля, отредактируйте профиль AppArmor system_for
в /etc/apparmor.d/system_tor
и добавьте запись, позволяющую tor запускать WebTunnel:
# During startup, tor (as root) tries to open various things such as
# directories via check_private_dir(). Let it.
/usr/local/bin/webtunnel ix,
Перезагрузите профиль AppArmor:
$ sudo apparmor_parser -r /etc/apparmor.d/system_tor
После изменения профиля и его перезагрузки проверьте, может ли процесс tor теперь выполнять /usr/local/bin/webtunnel
без каких-либо отказов AppArmor.
Проверьте системные журналы (например, dmesg
или /var/log/syslog
), чтобы убедиться, что ошибка не появится снова.
7. Следите за своими журналами
Чтобы убедиться, что ваш мост работает без проблем, вы должны увидеть что-то вроде этого (обычно в /var/log/syslog или запустите sudo Journalctl -e -u tor@default
):
[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
Вы можете отслеживать использование вашего моста WebTunnel в Relay Search.
Просто введите <HASHED FINGERPRINT>
вашего моста в форму и нажмите “Поиск“.
После настройки моста требуется примерно три часа, чтобы мост появился в поиске реле.
8. Заключительные замечания
Your WebTunnel bridge will by default be automatically distributed via the Bridges website, also known as the HTTPS
distributor.
This default applies unless an operator explicitly configures the BridgeDistribution
setting in the torrc file to a different option.
If set to any option other than HTTPS
, the bridge will not be distributed to users.
Если у вас возникли проблемы с настройкой моста, загляните в наш раздел помощи.
If your bridge is now running, you can test it by copying and pasting your bridge line into Tor Browser.
Чтобы построить линию моста WebTunnel, вам нужно скопировать свой мост FINGERPRINT
, но не путайте его с хешированным отпечатком пальца, который вы найдете на веб-сайте Tor Relay Search.
Если вы скопируете хешированный отпечаток пальца вместо отпечатка моста, вы не сможете подключиться.
Вы можете найти свой отпечаток моста в файле /var/lib/tor/fingerprint
.
Не забудьте скопировать только отпечаток пальца и не включать псевдоним моста.
Наконец, вы можете заменить содержимое URL адреса своим доменом и секретным путем.
Вы можете найти это в строке torrc в разделе ServerTransportOptions
.
Now, just replace the content below to create your WebTunnel bridge line. 10.0.0.2:443 is just a random IP address that's never used. It's just there because the pluggable transport specification requires an IP address there.
webtunnel 10.0.0.2:443 FINGERPRINT url=https://yourdomain/path