2014年10月12日日曜日

Tracから外部へのリンクにクッションページを挟む

リンク元をあまり知られたくない場合、リファラーを上書きするページを間に挟みますよね。
tracなんか特にあまり存在を知られたくない場合が多いと思います。

クッションページの作り方は置いておいて、tracの改造方法を書いておきます。


tracが出力しているhtmlを見ると、外部リンクのclassが「ext-link」となっています。
これは簡単に改造ができます。これで検索すれば良いだけとなります。

私の環境では「/usr/lib/python2.6/site-packages/Trac-1.1.2dev_r11693-py2.6.egg/trac/wiki/formatter.py」に該当の文字がありました。
外部リンクの a 要素を構築している部分です。

href属性の中身を書き換えて、クッションページへ飛ぶようにすれば完成となります。

例)class_="ext-link", href="http://xxxxxxx.com/jumper.php?u=" + url, title=title or None, target="_blank")