LDR Full Feedで画像が表示されないときはrefControlを使おう。

LDR Full Feedが浸透して、はてなRSS版Google Reader版といずれもLDR版のSITE_INFOに対応したスクリプトが公開されています。

LDR Full Feedもバージョンアップを重ねて、LDR Full Feed 0.0.7では相対リンクを絶対パス化できるようになって、より多くのサイトで画像も見られるようになりました。

なんですが、絶対パスになっているのにも関わらず見られないサイトが結構あります。例えばITmediaなんかがそうなんですが、この「史上最薄のThinkPadは光学ドライブを搭載:大和の技術を結集した“究極のThinkPad”――「ThinkPad X300」発表会」という記事のフィードから全文取得するとこんな風になって画像を見ることができません。

下の方に「og_x300_001.jpg」という文字が見えます。これが画像の代わりに表示されているわけですね。なんで表示されないかというと、画像へのアクセスに対してリファラをチェックしていて、外のサーバからだとはじかれてしまうためです。

そこでFirefoxの「RefControl」という拡張をつかって騙します。この拡張は特定のURLのときに指定したリファラを送ることができる拡張です。Autopagerize+LDRize+MunibufferでTumblrを使っている方はもうインストールしていると思います。

インストールするとFirefoxの下にあるステータスバーにアイコンが表示されるので、ここをダブルクリックして設定ウインドウを表示します。

ここで「Add Site」からサイトを追加するのですが、ITmediaの場合は画像がimg.itmedia.co.jpというサーバの上にあって、そこにITmediaのURLをリファラとして送りたいので

  • Site:img.itmedia.co.jp
  • Action:オプションの中から「Forge」を選択。

実際にはActionを「Custom」にしてitmedia.co.jpでも良さそうですが、ITmediaにはいろんなURLがあって面倒なので強制的にSiteと同じURLを送るForgeの設定にしておきます。リファラとしては「img.itmedia.co.jp」が送られることになります。こうするとめでたく画像が見えるようになりますよ。
on

さて、ほかのサイトでもこの手順でいけるんですが、fc2はForgeではうまくいきません。

【追記】
id:Constellationにfc2はリファラなしだと見えるよってコメントをいただきました。
fc2.com全体にリファラを送らない設定にすると画像をLDR上で見ることができるようになります。
refControlの設定は

  • Site:fc2.com
  • Action:オプションの中から「Block」を選択。

で個別に設定しなくても大丈夫です。
コメントありがとうございました。

以上追記。以下はまあ参考になれば*1



fc2は

ブログのURL
http://xxxxxx.blogXX.fc2.com/
画像サーバのURL
http://blogXX.fc2.com/x/xxxxxx/file/a.jpg

のようになっています。xxxxxはサイト固有の名前、blogXXのXXには数字が入ります。
refControlの設定を

  • Site:blogXX.fc2.com
  • Action:オプションの中から「Forge」を選択。

とするとうまく画像が見えません。そんなblogはねーよってことなんでしょう。
そこで、

とするとめでたく見えるようになります。同じサーバ(XXが同じ)ときにまた改めて設定しないといけないかどうかまで検証してないのでちょっとわかりませんが、その辺は臨機応変にってことで。

*1:ならないだろうけど