Adblock Plusの自作フィルタを購読フィルタから復活させる
Adblock Plusは、広告に限らず重たいFlashなどの表示したく無いコンテンツのダウンロードを防ぐことができる、ほとんど必須のFirefox拡張。さらにウェブからフィルタを自動ダウンロードして最新の状態にたもつことが出来る。出来合いのフィルタを利用するのが一般的だが、私の場合はメインプロファイルで作った自作フィルタをアップロードし、他のプロファイルに自動インポートして使っている。
ところが先日、複数のプロファイルを使い分けているときに、あやまってメインプロファイルのローカルフィルタを削除して、アップロードした自作フィルタを購読する設定にしてしまった。これではフィルタに新しい項目を追加してもそれはアップロードされず、他のプロファイルに行き渡らないため、購読フィルタをローカルフィルタに戻すことにした。*1
ところがAdblock PlusのUIからはそのような設定は見当たらず、直接フィルタを編集することになった。adblockのフィルタの実体は「yourProfileFolder/adblockplus/patterns.ini」で、以下のような構造を持っていた。
# Adblock Plus preferences [Pattern] text=.doubleclick. type=filterlist regexp=\.doubleclick\. shortcut=oublecli disabled=false hitCount=126 lastHit=1210147038766 [Pattern] ...............以下[Pattern]が続く [User patterns] [Subscription] url=~il~ [Subscription] url=~fl~ [Subscription] url=~wl~ [Subscription] url=~eh~ [Subscription] url=http://www.example.com/adblock.txt title=example autoDownload=true disabled=false external=false lastDownload=12???????? lastSuccess=12???????? downloadStatus=synchronize_ok lastModified=Wed, 07 May 2008 ??:??:?? GMT requiredVersion=0.7.1 [Subscription patterns] .doubleclick. .fastclick. ............................以下フィルタの内容が続く
そこで、最後の[Subscription]セクションを削除し、[Subscription patterns]以下のエントリを[User patterns]セクションに移して、[Subscription patterns]も削除すると、購読フィルタをローカルフィルタに変換することができた。以下が変換後のpatterns.ini。
# Adblock Plus preferences [Pattern] text=.doubleclick. type=filterlist regexp=\.doubleclick\. shortcut=oublecli disabled=false hitCount=126 lastHit=1210147038766 [Pattern] ...............以下[Pattern]が続く [User patterns] .doubleclick. .fastclick. ............................以下フィルタの内容が続く [Subscription] url=~il~ [Subscription] url=~fl~ [Subscription] url=~wl~ [Subscription] url=~eh~
*1:もし間違ったのが最近なら、yourProfileFolder/adblockplus/patterns-backupN.iniをpatterns.iniに上書きすることで復旧できる。