Privoxy アクションファイル( user.action )のパターン指定で気をつけたいこと
知らない人も多いと思うので簡単に紹介しとくと
Privoxy は Proxy で以下の特徴を持ちます
アクションファイルとは( user.action )
どのフィルタ( default.filter, user.filter )をどの URL に適用するかを定義したファイルです
{ +filter{your_filter_name} } # <= これがフィルタ example.com/regular/expression/after/(?:the/)?slash\.js # <= これがパターン
これは、
- フィルタファイル内(*.filter)で定義された「your_filter_name」フィルタを有効(+)にする
- 適用 URL パターンのドメイン名は FQDN 等で「example.com」。パスは正規表現で「/regular/expression/after/(?:the/)?slash\.js」
さて、やっとここで本題に入ります
パターン = ドメイン(省略可能) + パス(省略可能)
例えば、example.com/regular/expression/after/(?:the/)?slash\.js なら
ドメイン部(Privoxy 独自) | パス(正規表現:POSIX 1003.2)前方一致 |
---|---|
example.com | /regular/expression/after/(?:the/)?slash\.js |
パス指定で気をつけること
- ルート(/)は必須
- 前方一致
引っかかりやすいとこ
例題 | 「/」スラッシュに一致するパターンは? |
正解 | ドメイン + パターン=省略 + ルート 前方一致だから全てのパスに一致 |
問題は「ドメイン部」...独特すぎる!
「ドメイン部」が部分一致じゃない例 ⇐ これにハマった
「ad.example.com」:この場合、「pr.ad.example.com」に一致しない
「.ad.example.com」と書けばOK...orz(ad.example.com にも一致するのが不思議)
つまり、
これが言いたかった