tor-privoxyをdockerで運用してみた備忘録
TorとPrivoxyを使ってプライバシーを保護した通信を行うため、tor-privoxyコンテナをDockerで運用する方法を紹介します。設定ファイルのテンプレートや具体的な利用方法について記録しています。
設定ファイルのテンプレ
まず、Dockerfileとdocker-compose.ymlを使って、TorとPrivoxyを設定します。
Torの設定ファイルを/etc/torrc.d/にコピーする構成です。さらにapk updateとapk upgradeで最新の環境を構築します。
次に、docker-compose.ymlを使ってコンテナを起動します。
この設定により、TorのプロキシやPrivoxyがそれぞれのポートで動作します
torrcの設定ファイル
Torの動作に影響を与えるtorrcの設定例です。
- ```ExcludeNodes```: 特定の国やIPアドレスを除外する設定です。ここでは、主要国とローカルホストを除外しています。
- ```NumEntryGuards```: エントリガード(Torの最初のノード)の数を設定します。
- ```StrictNodes```: ノードの制約を厳格に守るかどうかを決定します。1は厳密に守る設定です。
tor-privoxyを使ってみる
ブラウザでtor-privoxyを使ってみる
ブラウザでTor経由の通信を行いたい場合、Privoxyのポート(デフォルトは8118)をプロキシとして設定することで、Torネットワークを通じた通信が可能です。
- ブラウザのプロキシ設定で、HTTPプロキシをlocalhost:8118に設定。
- 設定が完了したら、Torネットワークを経由してWebサイトにアクセスすることができます。 
参考までにFast.comでテストしてみました。IPを見るとちゃんと機能してるようです。速度はもちろん遅いですけど・・・
APIでtor-privoxyを使ってみる
次に、APIリクエストをtor-privoxy経由で行う方法です。JavaScriptでaxiosライブラリを使ってリクエストを行います。
このスクリプトでは、Privoxyを経由してAPIリクエストを送信しています。axiosのプロキシ設定をlocalhost:8118に指定することで、リクエストがTorネットワークを経由します。
まとめ
tor-privoxyをDockerで運用することで、簡単にTorとPrivoxyを使ったプライバシー保護された通信環境を構築できます。ブラウザやAPIリクエストに対しても簡単に適用できるため、開発やテスト時に便利です。
Torの設定は柔軟に変更可能で、特定の国を除外することも簡単に設定できるため、用途に応じた運用が可能です。ぜひ、この記事を参考にしながら、プライバシー保護された通信環境を試してみてください。





