В этом руководстве вы узнаете об установке, работе и обслуживании прокси-сервера Snowflake в системах на базе Linux. Запуск прокси-сервера Snowflake - это простой способ внести свой вклад в борьбу с цензурой в рамках проекта Tor.

1. Установите Go

Сначала вам нужно будет установить и настроить компилятор Go для сборки автономного прокси из исходного кода. Пожалуйста, войдите в систему, используя учетную запись пользователя с правами sudo или напрямую с root (в последнем случае опустите часть sudo в следующих командах).

Если вы работаете на Ubuntu или Debian, вы можете установить Go при помощи команды sudo apt install golang. Если вы используете Fedora, Red Hat или Amazon Linux, используйте sudo yum install golang или sudo dnf install golang.

Для запуска прокси-сервера Snowflake вам понадобится Go 1.21 или более новая версия. Проверьте версию вашего Go с помощью команды go version. В противном случае загрузите Go binary с официального сайта и следуйте инструкции по установке.

2. Установите git и клонируйте репозиторий Snowflake

Во-вторых, вам нужен git-клиент для загрузки исходного кода Snowflake.

Если вы работаете на Ubuntu или Debian, вы можете установить git при помощи команды sudo apt install git. Если вы используете Fedora, Red Hat или Amazon Linux, используйте sudo yum install git или sudo dnf install git. В случае использования другого дистрибутива обратитесь к документации по используемому пакетному менеджеру.

Пожалуйста, выполните следующие шаги под учетной записью пользователя, под которой должен быть запущен прокси. Не используйте root.

Мы рекомендуем создать отдельного пользователя snowflake с ограниченными правами.

Откройте терминал и клонируйте исходный код:

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

3. Постройте прокси-сервер Snowflake

После клонирования репозитория вы можете собрать бинарник прокси-сервера Snowflake, выполнив команду:

cd snowflake/proxy
go build

4. Запустите прокси-сервер Snowflake

После завершения компиляции прокси можно запустить его командой:

nohup ./proxy &

Примечание: Команда nohup позволяет программе выполняться в фоновом режиме даже после закрытия терминала, а & переводит команду в фоновый режим немедленно.

Если вы хотите сохранить вывод прокси в лог-файл, например, чтобы посмотреть, как вы используете прокси, вы можете использовать:

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

5. Убедитесь, что прокси запускается после перезагрузки системы

Отредактируйте свой кронтаб, выполнив команду:

crontab -e

Введите следующую строку (пример, измените путь в соответствии с настройкам вашей системы)

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

Пожалуйста, проверьте, что это сработало: перезагрузите систему и проверьте логи. Примечание: На некоторых установках Linux это может не работать.

6. Постоянно обновляйте прокси-сервер Snowflake

Для поддержания актуальности прокси snowflake, периодически выполняйте предложенные команды раз в несколько недель под аккаунтом, использованным во время установки прокси:

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