Raspberry Pi で広告削除 | privoxy



Raspberry Pi を広告除去Proxyサーバに

広告が何かとウザいので、Raspberry Pi に広告除去Proxyサーバを立てることで解決したいと思う。

既に、DD-WRTを導入した無線アクセスポイントで Privoxy を導入しているのだが、広告のフィルタリングルール等を、もう少し詳細に変更したいという気持ちが出てきて、Raspberry Pi で実現することにした。

まずは、apt-get で Privoxy をインストールする。

スマホからの proxyアクセスを許可する設定を入れる。

スマホ側設定(iPhoneの場合)

「設定」→「Wi-Fi」→「自宅のWi-FiのSSIDの i ボタンを押す」→「Proxy を設定」

Server:Raspberry Pi のIPアドレス

Port:8118

以上で完了だ。

自宅にいるときは、Raspberry Pi の広告除去 Proxy を経由して通信するようになり、快適なウェブブラウジングが実現する。

外出時も、Raspberry Pi の広告除去 Proxy を利用したいときは、自宅に VPN で接続し、VPN の Proxy 設定に上記を入れておくと良い。

(参考)ついでに、キャッシュ Proxy も設定する

ついでに、キャッシュを蓄えることで、ウェブブラウジングを高速化したいと思う。

Proxy サーバとして超有名な squid の標準機能を利用して、キャッシュ化する。

必要最低限の設定を入れる。

Privoxy → Squid に変更。

これで、キャッシュを使うようになり、高速ウェブブラウジングが実現する。

(参考)更についでに、DNSキャッシュも設定する

更についでに、DNSキャッシュを蓄えて、DNS解決の高速化を行う。

Google DNSサービスに見に行くように変更。

プライベートDNSに、Raspberry Piに導入したdnsmasqを見に行く設定を入れることで、DNS解決が高速化する。

結果は…?

正直、ウェブブラウジングがめちゃめちゃ爆速になった。

adblockerの最新広告フィルタールールを適用

privoxyをインストールした当初でも、簡単な広告除去フィルタールールは入っているようだが、最新の広告は除去しきれない。

そこで、広告除去で老舗のadblockerのフィルタールールを、privoxy用に変換して使用する。

ALWというこちらのページ の方が、なんとこの自動変換スクリプトを作ってくださっているので、こちらを拝借する。

/etc/privoxy/user_filer という独自のディレクトリを切って、自動変換スクリプトをこちらにダウンロード。

実行権限を付与して、bashで実行するだけ。

この自動変換スクリプトが、privoxyの設定も自動的に行なってくれるという、痒いところに手が届く素晴らしさ。

あとは、privoxyをリスタートするだけでOK。

後は、ときどき(思い立ったときに)自動変換スクリプトを実行してあげるだけで、最新のフィルタールールにアップデートできる。

なんと素晴らしいのだろう。

YouTubeなどの日本独自広告の除去

YouTubeの自動広告など煩わしい広告も除去したい。そのためには、日本に特化したフィルターを使用する必要がある。そこで、豆腐フィルターというこれまた有志の方が作ってくださっているフィルタを活用する。

豆腐フィルターなどのフィルタールールをprivoxy用に変換するためのツールGitHubに掲載してくださっているprivoxy-adblockからダウンロードする。

日本用のフィルターとして有名な、前記豆腐フィルターとABP Japanese filters(GitHub)を使用する。

豆腐フィルタ
http://tofukko.r.ribbon.to/Adblock_Plus_list.txt

ABP Japanese filters – GitHub
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt

privoxy-adblock.shに実行権限を付与し、上記フィルターを -p パス -u フィルターURLを指定して実行する。

このprivoxy-adblock.shは、privoxyのconfigを自動で変更してしてくれないので、ここは手動で設定する。

/etc/privoxy/configに下記の3種類(ファイルは.actionと.filterの6個)が生成されているはずなので、これをconfigに明示的に指定する。

あとは、privoxyを再起動して完了。

これで見事にYouTubeの動画広告を見なくなった。



シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント