# 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](https://for-web-material-gazushige.s3.ap-northeast-1.amazonaws.com/blog/imgs/20240916-1.webp)
参考までにFast.comでテストしてみました。IPを見るとちゃんと機能してるようです。速度はもちろん遅いですけど・・・
# APIでtor-privoxyを使ってみる
次に、APIリクエストをtor-privoxy
経由で行う方法です。JavaScriptでaxios
ライブラリを使ってリクエストを行います。
このスクリプトでは、Privoxyを経由してAPIリクエストを送信しています。axios
のプロキシ設定をlocalhost:8118
に指定することで、リクエストがTorネットワークを経由します。
# まとめ
tor-privoxy
をDockerで運用することで、簡単にTorとPrivoxyを使ったプライバシー保護された通信環境を構築できます。ブラウザやAPIリクエストに対しても簡単に適用できるため、開発やテスト時に便利です。
Torの設定は柔軟に変更可能で、特定の国を除外することも簡単に設定できるため、用途に応じた運用が可能です。ぜひ、この記事を参考にしながら、プライバシー保護された通信環境を試してみてください。