• 作成:
  • 更新:

uBlacklistを使ってポケモン徹底攻略やStack OverflowのコピペサイトをGoogle検索から除外しましょう

コピペサイトがうざい

企業系ゲーム攻略「アルテマ」、ポケモンだけで1900ページの文章盗用を謝罪 被害を受けたサイトは「攻略を続けられなくなる」 - ねとらぼ

最近ポケモン徹底攻略から企業系攻略サイトの多くがデータをコピペしていたことが明らかになりましたね.

倫理的な問題はこの際置いておくとしても, 発売直後にワイルドエリアのWショップの技レコードが本当は日替わりで変わるのに固定で売ってると薄い調査で思い込んでそう書かれていたり, 検索に引っかかるようにしているだけで中身は「調査中」ばかりだったりで内容が薄いサイトがとても多くて困ります.

またプログラマ的にはCODE Q&AのようなStack Overflowの機械翻訳サイトが大量発生していてGoogle検索のノイズになっています. Stack Overflowの英語から日本語に機械翻訳されたコンテンツのサイトについてどう思いますか? - スタック・オーバーフローMeta

まあこちらは Taraflex/Back2stackoverflow: Userscript for redirect to stackoverflow.com from machine-translated sites という拡張機能を使えば自動的にオリジナルに戻れるのですが, 存在が見えること自体が不快ではあります.

uBlacklistを使おう

前は Personal Blocklist (not by Google) – 🦊 Firefox (ja) 向け拡張機能を入手を使っていて, これ複数端末の同期機能がないのとFirefox for Androidに対応してないので自分で対応させたやつを作ろうとしていました. よく調べてみたらuBlacklistという完成品がありました.

もう不要になったので作り方調べたメモを置いておきます.

アイデアの供養

現在の Personal Blocklist (not by Google) – 🦊 Firefox (ja) 向け拡張機能を入手には

  • 「ブロックする」というリンク要素が画面を圧迫している
  • 同期が無いから複数端末で使うのが面倒
  • Firefox for Androidで使えない

という問題を抱えています.

ブロックする部分は普通にcontent scriptで実装できます. コンテキストメニューにそのホストをブロックするメニューを追加すればOK.

バックエンドでは正規表現の配列を持ってそれによってブロックを判定します.

配列は storage - Mozilla | MDN によってFirefox syncで自動同期します.

設定画面は設定ページを実装する - Mozilla | MDN で作れます.

URLはマッチパターン - Mozilla | MDN*.google.*にでもマッチさせて, JavaScript側でtbmに値が存在するかチェックすればOKでしょう. と思ったら

ワイルドカード "*" は host の最初のみに適用できることに注意してください。

と書いてますね… Googleの全ドメイン追加するしか無さそうですね.

ダメならGoogleの全ドメイン追加しておきます.

それはそうとuBlacklistの話

これは複数端末で同期出来ます. ただGoogle Drive連携機能が現在不安定なのと, Firefox for Androidで使えないという問題があるので, 適当なクラウドストレージにアップロードしてpublic linkを作って各端末でそれを購読するという手法をオススメします. GitHubとかでも良さそうですね.

私のフィルタは https://raw.githubusercontent.com/ncaq/uBlacklistRule/master/uBlacklist.txt に存在しています.

もっとたくさんフィルタリングしたものが邪魔な『〇〇について調べてみました!』『いかがでしたか?』を駆逐する | パソコン修理のエヌシステムBLOG に存在しますが, 私は購読していません. たまにNAVERまとめを本当にまとめに使っていて良質なまとめが存在するからです. あと芸能人に興味ないのでゴシップサイトがそもそも検索に引っかからない.

PCじゃないと使えないとお悩みの方へ

度々触れていますが, Firefox for Android は拡張機能が使えるので, uBlacklistuBlock Origin も使えます.

uBlock Originのフィルタには 280blocker | モバイル広告ブロッカーがオススメです.

Firefox for Androidは登場当時は馬鹿みたいに遅かったのですが, 「Android」版「Firefox」、高速化を目指してネイティブUIの採用へ - CNET Japan でネイティブになってからはまともな速度になりました.

後最近検索するとたまにブランク画面になることが無くなった気がします.

カスタムタブがデフォルトでオンになっていますが無効化出来ます.

ここ数年はAndroid端末を買ったらまずChromeを無効化してFirefoxをデフォルトブラウザーにしているのですが, 致命的な互換性問題には遭遇したことがありません(ごくたまにデザインが崩れたりはする). サイトがiOS SafariとAndroid Chromeに対応させているからFirefoxで問題になることは無いということですかね.

というわけでみなさんもFirefox for Androidをインストールして, 機械翻訳サイトや抽選詐欺やウイルス詐欺のマルウェアアプリをインストールさせる広告から解放されましょう.

ついでにFirefox Syncを有効活用するためにPCのブラウザもFirefoxにしましょう.

Appleはブラウザエンジンを解放しろ(訂正)

iPhoneを使ってる人は… うーん… 現状解決手段無いんですよね…

Firefox for iOSのWebKitではWebExtensionを実装できないようです.

結局Appleがストア規約を改定してくれないとダメで改定する気あまり無さそうなのでwebブラウジングはAndroid端末でやりましょう!

独立リポジトリにしました

ファイルだけサーバに置くのをやめて、ルール生成プログラムとルールをまとめて一つのリポジトリに置くことにしました。

ncaq/uBlacklistRule: uBlacklist向けのルールです。