広告のブロック @Firefox

FF 48.0aX の後半くらいから、ページの表示完了がやけに遅くなることが頻発。
ちょっと耐えられない。

耐えられないくらい遅い

人力検索の個別ページに大量にまき散らされている広告エリアでは iframe が二重になってたりして、大量のリクエストが出されているのだけれど、開発ツールの「ネットワーク」を見てみると、ホストの名前解決や connect までで 10秒前後かかってる。

広告は、別に嫌いじゃないので消すのもなあと思っていたのだけれど、そのページを見たいのに、本筋ではない広告表示で何十秒も待たされるのはちょっと耐えられないので、広告のブロックをすることに。

2chFirefox 板を見てて、uBlock ってのがあるのを知ったので、それを試してみる。

手順

  1. AMO から uBlock Origin をインストール
  2. 「設定」
    1. 「適切な場合コンテキストメニューを使用」のチェックを外す
    2. 「私は上級者です」にチェック
  3. 「外部フィルタ」に「豆腐フィルタ」を追加
    1. ↓を、テキストボックスに貼り付け
      http://tofukko.r.ribbon.to/Adblock_Plus_list.txt
    2. 左下の「解析」をクリック
    3. 「古いタイプです」とか言われるけど、右上の「適用」をクリック
  4. デフォルトで選択されている外部フィルタは、とりあえずデフォルトのままで

とりあえずの感想

速い。本当に、速い。
今まで、数十秒待たされていた人力検索の個別ページがスパッと表示される。

はてなブログも、気持ち速くなってる。

こんなに速くなるのか :-O

ADP とか訴訟になってるらしいけど、そもそも広告が遅すぎるのが問題なんじゃないかと。
もっと、スパっと表示してくれれば、コンテンツの 5~10% が広告だって、それほど気にならないのに(エロ以外)。
# 他にトラッキングもあるか

副作用

  • Bookmarklet にも反応する
    広告を消すために使ってた Bookmarklet だったので、uBound Origin で消すようにする。
    非表示ルールを追加。
  • adlib さんのアイコンが見えなくなった
    /ad/ が反応する。
    Myフィルターに例外ルールを追加。
  • 某 駆け込み常習者だった凹のアイコンも見えない
    こっちは見えてなくても、何も困らないな
  • Candy Crush Saga Wiki | Fandom powered by Wikia の画像が見えなくなる
    javascript で画像を置き換えている。
    広告のブロックをチェックしている、ってのは、こういうやつのことか。
    ブロックされているスクリプトの URL とルールを uBlocko のログで確認して、Myフィルターに例外ルールを追加。
    二つのスクリプトがブロックされてたけど、片方を外すだけで画像の表示はできて広告は少なめという感じに。

追加した My ルールはこんな感じ。

! http://pex.jp/
pex.jp##section.campaign_area

! adlib さんのアイコン   http://q.hatena.ne.jp/1468372807#a1257828
@@www.st-hatena.com*^ad/adlib^
@@www.hatena.ne.jp/*^ad/adlib^

! http://candycrush.wikia.com の画像が見えなくなっちゃう
@@||slot1.images.wikia.nocookie.net^*_ads_*$script
!@@||slot1.images.wikia.nocookie.net^*_analytics_*$script      こっちは必要なかった(というか、入れるとビデオ広告がうるさい)

! Internet Archive donate
web.archive.org###donate-banner

自分でいじるために


慣れないとむずかしいな。


My フィルタと My ルールの使い分けがよく分からない。

  • パネルからの操作は、My ルールに入る
  • 「要素選択モード」は、My フィルタに入る
  • My フィルタは ABP の書式とほぼ同じなので、共有するとか、他から持ってくるのに便利
  • Selector 指定は、My フィルタでしかできない
  • My フィルタは、除外指定 (Exception Rules) の @@ をサポートしてないので、それをやりたければ My ルールで allow を指定 違う、違う
  • @@ をサポートしてないということは、Element Hiding の例外を指定できないということか そうじゃない

除外指定 (Exception Rules) の @@ は、オプションの document をサポートしてないだけだ。
そもそも目的に合わないし、やるならホワイトリストでやんなよ、ということかな。

(追記)
ruly syntax を読むと、ホストからホストへのざっくりとしたルールしか記述できないんだ。
ざっくりとした指定しかできない半面、文法は分かりやすい。
人力検索に貼ってある ASIN 記法は許可する」とか、そんな風に使えるんだ(多分)。
はてなブログはフレームだろうからできないかも。



広告に限らず、いろいろと消せる。
Facebook のいいねボタンが重たいのは、前から気になってたんだ。

気になること

履歴を表示できるのが気になる。
どこかにプールしてて、何かが肥大するとかないだろうね。

これか?

  %{FIREFOX_PROFILE}/extension-data/ublock0.sqlite

いや、settings というテーブルしかない。
履歴は永続化されてないのかな...

places.sqlite がでかくなってくると、タブを閉じるときにプチフリーズする(「プチ」というには長い)のは前からだけれど、アクセス数が減るということは、こちらも緩和されるということか?

しばらく様子見。

参考URL

Bad Request

記事を投稿しようとしたら、Bad Request で弾かれて、なかなか投稿できなかった。
原因は、www.reddit.com へのリンクが入っていたこと(一時間くらい無駄にした)。

SPAM 対策のつもりなのか、www.reddit.com へのリンクがあるとエラーにするらしい。

UI をきちんとすると SPAMMER に対策されるから、というのだったら、告知しようよ(してる?)。