面倒な明示を必要としない透過プロキシの使い方など
透過プロキシは、SHELL変数とかに依存しないので便利です。
例えば、ここでは、privoxy
を使います。
$ sudo pacman -S privoxy
これは、主に、cookie無効化とかuser agent偽造とか広告ブロックとかアクセス制限とか、そういうのを常時有効にしたい人が使いますね。
## all network
# listen-address 192.168.1.X:8118
## local network
# listen-address 127.0.0.1:8118
## tor socks5
# forward-socks5 / 127.0.0.1:9050 .
# transparent proxy
accept-intercepted-requests 1
listen-address
は、デフォルトでは、localhost:8118
になります。これは、ローカルで使う場合ですね。
他のパソコンから当該プロキシサーバーを経由したい場合は、ifconfig
で調べたサーバーのアドレスを記述すればいいです。
$ sudo systemctl start privoxy
$ sudo systemctl enable privoxy
iptables
を使う場合は以下のような感じ。簡単ですね。
# iptables
$ sudo iptables -t nat -A PREROUTING -s 192.168.1.X -p tcp --dport 80 -j REDIRECT --to-ports 8118
各種デバイスで上記で立ち上げたprivoxy proxy server
を経由する場合は、通常、各種OSのネットワーク設定からプロキシ設定を192.168.1.X:8118
にすればいけます。Xはサーバーのアドレス。
ネットワーク設定で一括指定できるので、面倒ではないですね。
通常のローカルネットワークというのは、このようにローカルネットワーク内に設置された一つのプロキシサーバーを経由して、WANとのやり取りをするようになっており、これによって一括してログ監視やアクセス制限が可能な仕組みが一般的です。
/etc/privoxy/config
は、デフォルトで/etc/privoxy/user.*
を読み込んでいて、それに追記することでユーザー設定が出来ます。cookieを強くすると、認証が失敗することもあるので弱めに。
## UA
{ +hide-user-agent{ Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en) } }
## Cookie
# { +crunch-incoming-cookies +crunch-outgoing-cookies +filter{content-cookies} }
{ +session-cookies-only }
## Other
{ \
+change-x-forwarded-for{block} \
+hide-from-header{block} \
+hide-referrer{conditional-block} \
+hide-accept-language{en-us} \
+hide-if-modified-since{-60} \
+overwrite-last-modified{randomize} \
+crunch-if-none-match \
+session-cookies-only \
+fast-redirects{check-decoded-url} \
+hide-user-agent{ Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en) } \
}
/
広告ブロックはファイルを自動ダウンロードして設定するものがありますので、そちらを。
$ git clone https://github.com/Andrwe/privoxy-blocklist
$ cd privoxy-blocklist
$ chmod +x privoxy-blocklist.sh
$ sudo su
$ ./privoxy-blocklist.sh
# コメント削除
$ vim /etc/conf.d/privoxy-blacklist
"PRIVOXY_USER=xxx"
"PRIVOXY_GROUP=xxx"
"PRIVOXY_CONF=xxx"
# 再実行
$ ./privoxy-blocklist.sh
# 再起動
$ systemctl restart privoxy
参考