このガイドでは、Linux ベースのシステムでの Snowflake プロキシのインストール、運用、管理について説明します。
Snowflake プロキシを運用することは、Tor Project の反検閲活動に貢献する簡単な方法です。
1. Go のインストール
まず、ソースコードからスタンドアロンプロキシをビルドするために、Go コンパイラをインストールして設定する必要があります。
sudo 権限を持つユーザーアカウントを使用してログインするか、root を使用して直接ログインしてください (後者の場合は、以下のコマンドの sudo 部分を省略します) 。
Ubuntu や Debian をご利用の場合は、 sudo apt install golang を実行して Go をインストールできます。
Fedora や Red Hat、Amazon Linux をご利用の場合は、sudo yum install golang または sudo dnf install golang を実行します。
Snowflake プロキシを実行するには、Go 1.21 以降が必要です。
go version コマンドを使用して Go のバージョンをご確認ください。
または、公式サイトから Go バイナリーをダウンロードし、インストール手順に沿ってください。
2. git をインストールして Snowflake リポジトリをクローンする
次に、Snowflake のソースコードをダウンロードするための git クライアントが必要です。
Ubuntu や Debian をご利用の場合は、 sudo apt install git を実行して 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 を編集します。
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 &