« | »

2013.09.26

iphoneの広告を消す

広告を消すというか広告を非表示にする訳だが。

androidだと rootを取って adawayや adfreeを入れればほとんどの広告を消せるけど iphoneではなかなかそう言うのがない。と言うか全くない。まっ、root取れない androidでも消せないけどね。

そこで違ったアプローチ….

androidでも iphoneでも wifiだと proxyの設定ができるので proxyで広告サイトを弾いてしまおう。

原理は簡単だけど、設定は大変。少なくとも、ネットワークや UNIXの知識は最低限必要なので….

前提条件:

  • 自前の鯖を立てられる人
  • データ通信で PROXY通す場合は、iphoneの設定しくると全く通信できなくなるので自分で責任を持って出来る人

 


まず、wifiで safariとかアプリの広告を非表示にするには、wifiの設定で proxyを通す設定をする。やり方はあちこちに書いてあるのでここでは書かない。ぐぐって。
で、proxy側では adaway用の「日本向け 超強力 広告除去用 Hosts ファイル 」(こんな大変なのをまとめてくれてありがとう)を参照して広告サイトをダミーに振り替える。具体的には squidの場合、hosts_fileディレクティブを使って「広告除去用 Hosts ファイル」を読み込み、ダミーサイト(空白ページ)へ誘導する。取得した「広告除去用 Hosts ファイル」を adaway.hostsとしたら

squid.conf ——
hosts_file /etc/squid/adaway.hosts
————
のように指定してあげる。
「広告除去用 Hosts ファイル」は
127.0.0.1 hogehoge.tdl
みたいになっているので、squidでは hogehoge.tdlのアドレスは 127.0.0.1を返すようになるので当然そんなページは無いので広告は表示されないと言う仕組み。ただ、時々無いページを表示しようとして遅くなるのでローカルホストで httpdなりを立ち上げておいて 127.0.0.1/は空白を表示するとか 404エラーのカスタムを作っておくとよい。例えば mini_httpdだとしたら
mini_httpd_config —–
port=80
data_dir=/var/www/minihttpd
host=127.0.0.1
logfile=/var/log/mini_httpd.log
charset=utf-8
————
/var/www/minihttpd/index.html —–
<html>
</html>
————
/var/www/minihttpd/errors/err404.html —–
<html>
</html>
————
みたいな感じかな。

wifi接続だと比較的簡単だね。

つづく

 

Trackback URL

Comment & Trackback

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
:-[ (B) (^) (P) (@) (O) (D) :-S ;-( (C) (&) :-$ (E) (~) (K) (I) (L) (8) :-O (T) (G) (F) :-( (H) :-) (*) :-D (N) (Y) :-P (U) (W) ;-)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)