サーバで広告ブロックプロキシを動かす(Squid版)

ALL
スポンサーリンク

Proxyサーバ squidで、広告ブロックを行う方法が次のサイトで紹介されていました。

Squid で広告避け(Computer Memorandum)

Squid で hostsファイルを利用して広告ブロックする方式です。
原理的に、通信が暗号化される https のサイトでも、広告ブロックできます。

hostsファイルは、IPアドレスとドメイン名のペアのリストで、DNSより先に参照されます。
先のサイトでは、ブロックしたい広告ドメインに対して、IPアドレスに 0.0.0.0 を指定したhostsファイルを使用しています。
0.0.0.0 だと外部に参照しにいかないので、結果的に広告ドメインにもアクセスできず、ブロックされる、という仕組みです。

以下、設定方法です。
なお、Squid は既に動作していることが前提です。設定については、下記で説明しています。CemtOS6/7 用です。

proxyサーバ squidでアクセス時に認証を要求する設定

まず、Squid で広告避け(Computer Memorandum) のサイトの、「以下のスクリプトで適当に生成」の下にあるスクリプトを make_adaway_hosts.sh で作成します。

sh make_adaway_hosts.sh 実行で adaway_hosts.txt が出来るので、/etc/squid/adaway_hosts.txt にコピーします。

squid.conf の先頭に次の行を追加します。

/etc/squid/squid.conf

hosts_file /etc/squid/adaway_hosts.txt

後は、Squid を再起動すればOKです。

CentOS6
/etc/init.d/squid restart
CentOS7
systemctl restart squid

Squid の他のプロキシとして、Privoxy の場合の広告ブロックは次の記事に説明があります。

サーバでAdblockのフィルタを使用する広告ブロックプロキシを動かす

以上、Squid で広告ブロックする方法でした。

コメント