「Polipo」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(アーカイブに移動)
タグ: 新規リダイレクト
 
(2人の利用者による、間の3版が非表示)
1行目: 1行目:
  +
#redirect [[ArchWiki:アーカイブ]]
[[Category:プロキシサーバー]]
 
  +
[[Category:アーカイブ]]
[[en:Polipo]]
 
[[zh-CN:Polipo]]
 
{{Related articles start}}
 
{{Related|Squid}}
 
{{Related articles end}}
 
 
[http://www.pps.jussieu.fr/~jch/software/polipo/ Polipo のサイト] より:
 
 
:"''Polipo は軽量かつ高速なキャッシュウェブプロキシです (ウェブキャッシュ, HTTP プロキシ, プロキシサーバー)。一人または少人数によって使われることを想定して Polipo は設計されていますが、大規模な使用ができないというわけではありません。''"
 
 
[[Squid]] とは異なり、Polipo はとてもリソースの消費量が少なく簡単に設定することができます。シングルユーザーシステムなど、あまり複雑ではないセットアップで使うのに Polipo はうってつけです。ただし、この汎用性には見返りもあるということに注意してください: Polipo はディスクキャッシュが増えていくことについて何も制限を加えないため、際限なくディスク使用量は増加していきます。この欠陥とも言えるものは設計段階から想定されていることで、サニティチェックを省くことで Polipo のメモリ使用量を劇的に減らしてシステム全体の負担を削減しています。ディスクの使用量を制限するために Polipo はユーザーによって実行して[[ディスククォータ]]を使用するのが実践的でしょう。
 
 
以下では Polipo のインストールと設定について説明します。
 
 
== インストール ==
 
 
[[公式リポジトリ]]の {{Pkg|polipo}} をインストールしてください。
 
 
もしくは、[[AUR]] から最新の開発版である {{AUR|polipo-git}}{{Broken package link|{{aur-mirror|polipo-git}}}} をインストールしてください。
 
 
== デーモンの起動 ==
 
 
polipo デーモンを起動するには:
 
 
# systemctl start polipo
 
 
ブート時に自動的に起動させるには:
 
 
# systemctl enable polipo
 
 
=== マルチインスタンス ===
 
 
Polipo はスーパーユーザー権限がなくても実行させることが可能です。その場合、まず {{ic|/etc/polipo/config.sample}} を適当なディレクトリにコピーしてください:
 
 
$ cp /etc/polipo/config.sample ~/.poliporc
 
 
ファイルを編集して {{ic|/var/cache/polipo}} の代わりに書き込み可能な場所を指定します:
 
 
# Uncomment this if you want to put the on-disk cache in a
 
# non-standard location:
 
diskCacheRoot = "~/.polipo-cache/"
 
 
キャッシュディレクトリを作成:
 
 
$ mkdir ~/.polipo-cache
 
 
最後に、新しい設定を使って Polipo を起動してください:
 
 
$ polipo -c ~/.poliporc
 
 
== 設定 ==
 
 
管理は基本的に {{ic|/etc/polipo/config}} で行います。大抵のユーザーはサンプル設定ファイルを選択することになるでしょう。ほとんどの場合で上手く動作し、ドキュメントも揃っています。
 
 
# cd /etc/polipo; cp config.sample config
 
 
設定の中で注意する必要があるのは Polipo はデフォルトではポートによって外に向かう接続をブロックすることです。Polipo の設定ファイルには送信ポートの許可を制御する2つの変数があります。デフォルトでは 80-100 と 1024-65535 に設定されています。{{Ic|tunnelAllowedPorts}} は HTTPS トラフィックだけでなく Polipo がトラフィックのトンネルを許可するポートを指定します。デフォルトではかなり制限されています: "''デフォルトで ssh, HTTP, https, rsync, IMAP, imaps, POP, pops, Jabber, CVS, Git のトラフィックを許可します。''"
 
 
host:port を開こうとすると Polipo によって "403 Forbidden Port" エラーメッセージが表示される場合、HTTP または HTTPS を使うためにより多くのポートのトラフィックを許可するように Polipo を設定する必要があります。幅広いポートを開くように設定するには、以下を {{ic|/etc/polipo/config}} に追加してください:
 
 
allowedPorts = 1-65535
 
tunnelAllowedPorts = 1-65535
 
 
他のプロキシと違って、Polipo は設定を変更した後に再起動する必要があります。
 
 
=== ブラウザ ===
 
 
プロキシに {{Ic|localhost:8123}} を使うようにブラウザを設定してください。ブラウザのディスクキャッシュを無効化することで無駄な IO 操作をなくしてパフォーマンスの低下を防げます。{{Ic|localhost:8123}} が機能しない場合、{{Ic|''hostname''.localdomain:8123}} のように {{Ic|/etc/hosts}} に合わせてみてください。
 
 
=== トンネリング ===
 
 
{{note|
 
* [http://www.pps.jussieu.fr/~jch/software/polipo/faq.html Polipo FAQ] の "intercepting proxy" には、トンネリングは不可能でサポートされていないと書かれています。
 
* トンネリングを使うには Polipo を特別なユーザーで実行する必要があります。
 
}}
 
 
ブラウザや他のユーティリティを個別に設定して Polipo のキャッシュを使うようにする代わりに、[[iptables]] を使ってトラフィックが Polipo を通るようにすることも可能です。
 
 
iptables をインストールして、適当なルールを {{ic|/etc/iptables/iptables.rules}} に追加します:
 
 
*nat
 
:PREROUTING ACCEPT [0:0]
 
:POSTROUTING ACCEPT [0:0]
 
:OUTPUT ACCEPT [0:0]
 
''-A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner polipo -j ACCEPT''
 
''-A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8123''
 
COMMIT
 
 
上記の設定で HTTP のトラフィックが Polipo を通るようになります。ブラウザのプロキシ設定を全て削除して、iptables を再起動してください。
 
 
=== Privoxy ===
 
 
[[Privoxy]] は広告などの表示したくないものを取り除くのに使われるプロキシです。
 
 
Polipo の開発者によれば、Privoxy のプライバシーを向上させ Polipo のパフォーマンスを引き出すために、Privoxy の上に Polipo を置くのが推奨されます。
 
 
つまり:
 
 
* ブラウザは Privoxy を使うように設定: {{Ic|localhost:8118}}
 
 
* Privoxy はトラフィックを Polipo に渡すように設定: Privoxy の設定ファイルで {{Ic|forward / localhost:8123}} と設定してください。
 
 
=== Tor ===
 
 
{{Warning|Tor プロジェクトは Tor でトラフィックの透過的なルーティングはしないことを推奨しており [https://www.torproject.org/docs/faq.html.en#TBBOtherBrowser] [https://www.torproject.org/docs/faq.html.en#TBBSocksPort]、Tor Browser だけを使うことが強く推奨されています [https://www.torproject.org/download/download.html.en#warning]。代わりに [https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/IsolatingProxy Isolating Proxy] を使うことを考慮してください。}}
 
 
[[Tor]] は匿名化プロキシネットワークです。
 
 
Polipo と Tor を一緒に使うには、{{Ic|/etc/polipo/config}} に以下の部分をアンコメントまたは記述する必要があります:
 
 
socksParentProxy = localhost:9050
 
socksProxyType = socks5
 
 
=== DansGuardian ===
 
 
[[DansGuardian]] はウェブコンテンツフィルタです。Polipo で [[DansGuardian]] を使用するには {{ic|dansguardian.conf}} の proxyport を polipo の 8123 に設定する必要があります:
 
 
# the port DansGuardian connects to proxy on
 
proxyport = 8123
 
 
== トラブルシューティング ==
 
 
=== DNS エラー ===
 
 
ネットワークをバックグラウンドで実行している場合、Polipo のログに以下のようなエラーが残ることがあります:
 
 
Couldn't send DNS query: Connection refused
 
Falling back on gethostbyname.
 
Getaddrinfo failed: Temporary name server failure
 
Host ***.com lookup failed: Getaddrinfo failed: Temporary name server failure (131072).
 
 
このエラーは、Polipo が DNS サーバーに接続する前に、バックグラウンドモードでネットワークが初期化されていないのが原因です (特に DHCP を使う場合)。以下の3つの方法でこのエラーは解決できます:
 
 
* バックグラウンドモードでネットプロファイルを起動しない (不要である場合があります)。
 
* 使用する DNS サーバーに {{ic|dnsNameServer}} を手動で設定。
 
* Polipo のデーモンスクリプト {{ic|/etc/rc.d/polipo}} の start セクションの冒頭付近に {{ic|sleep 10}} (必要であれば、さらに数字を増やす) を追加。ネットワークが初期化された後に Polipo が起動するようになります。
 
 
詳しくは [https://bbs.archlinux.org/viewtopic.php?id=86452 このスレッド] を見て下さい。
 
 
== 参照 ==
 
 
*[http://www.pps.jussieu.fr/~jch/software/polipo/faq.html Polipo FAQ]
 
*[http://www.pps.jussieu.fr/~jch/software/polipo/manual/index.html Polipo マニュアル]
 

2022年8月22日 (月) 10:32時点における最新版