Googleリーダー→Tiny Tiny Reader

Googleリーダーが2013年7月1日に廃止される[archive]ということなので、代替のRSSリーダーを検討することになった。条件は以下の通り。

  • 複数の端末からアクセスするからサーバサイド型

  • パスワード管理がめんどいので外部のサービスはあまり使いたくない。

  • FreeBSDのportsでインストールできるやつがいいな。

てことで、Tiny Tiny RSS(tt-rss)をいれることにした。インストールはportsのwww/tt-rssであっさり終了。設定は、インストール時のメッセージにしたがってまずmysqlを設定、次いでtt-rssがインストールされたディレクトリにあるconfig.phpを編集。む、プロキシの設定が無いのが気になる。ファイアウォールの内側からでは使えない?

で、ブラウザからtt-rssに接続して、GoogleリーダーからエクスポートしたOPMLファイルをインポート。うむ、やはり動かない。

てことで「tt-rss proxy」ぐぐってみる。まず公式サイトの掲示板[archive]。ふむふむ、RSSの取得にはMagpieとかSimplepieとかいうのを使っていて、そのソースをいじればできるんじゃね?、ということか。tt-rssのツリーを見ると、lib/simplepie/simplepie.incというやつがある。これをいじればいいのかな。

で、次に「simplepie proxy」で検索してみると、Codelab Blogに答えが載っていた[archive]

curl_setopt($fp, CURLOPT_PROXY, 'プロキシサーバのIPアドレス');
curl_setopt($fp, CURLOPT_PROXYPORT, プロキシサーバのポート);

を、curl_setoptがたくさん設定されている辺りに追加すればいい、ということのようだ。やってみる、けど動かない。うーむ。

で、気づいたんだけど、「プロキシを使うかどうかもcurl_setoptで設定しなきゃいけないんじゃね?」ということで、PHPのオンラインマニュアルを読んでみる。CURLOPT_HTTPPROXYTUNNELってのがそれっぽい。てことで、

curl_setopt($fp, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($fp, CURLOPT_PROXY, 'プロキシサーバのIPアドレス');
curl_setopt($fp, CURLOPT_PROXYPORT, プロキシサーバのポート);

としてみたところ、うまく動作した。さようなら、Googleリーダー。

(2014/1/5追記)

これで一応は動作してたんだけど、サーバを再起動する度にRSSに接続できず、サーバ起動後にttrssを手動でrestartしなきゃならなかった。理由を調べて見たところ、include/functions.phpの方でプロキシを設定すれば良いことがわかった。つまり、curl_setoptがたくさん設定されている辺りに

curl_setopt($ch, CURLOPT_PROXY, 'プロキシサーバのIP:ポート');

を追加してやることにより、上記の問題が解消された。

(2021/1/13追記)

現在では状況が変わり、 config.php のコメントには記載されていないものの、以下の一行を追加することでプロキシを設定できるようになった。

define('_HTTP_PROXY', 'http://プロキシサーバのIPアドレス:プロキシサーバのポート');

デフォルトではcURLも使わないようになった模様。また、今年からDocker以外のサポート(つまりサーバ環境への直接のインストール)は徐々になくなっていくらしい。FreeBSDのpkgやportsでサポートされなくなるのも時間の問題かも。代替のRSSリーダーどうしよう。Bottle+MySQL+cURLあたりで自作しようかな。調べたらfeedparserというものがあるらしい。

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。