taiyoh's memorandum

@ttaiyoh が、技術ネタで気づいたことを書き溜めておきます。

Macじゃない環境でもIRCで流れてくる画像を表示したい人生だった

 MacLimeChatのサムネイル表示機能が羨ましすぎるのですが、今使ってるマシンがUbuntuだったりして、悲しみが募っていたわけです(Macに変えればいいじゃん、というのは根本的すぎるのでスルーします)。そんな悲しみを紛らわすためにずっとIRCツールを探し続けてたのですが、サムネイル表示できるのはどうもなさそう。
 でも、そんな時に見つけたのがweecloudというweb frontendでした。
 → eirikb/weecloud · GitHub
 このweecloudというツールはweechatのrelayという機能を使って機能拡張を行うもので、weechatとはnode.jsでデータのやりとりを行い、ブラウザとはsocket.ioを使ってやりとりをしてます。表示部分に特化していて、かつその表示はHTMLなので(正確にはjade)、HTML・js・cssをいじれば自分好みの表示ができるやん、ということに気づいたわけです。
 ということで、早速拙い英語でp-r送ってみました
 → insert thumbnail if message has image url by taiyoh · Pull Request #25 · eirikb/weecloud · GitHub
 実際採用されるかは謎ですが。
 あと、このweecloudは手元で動かすことを想定していて、認証関連は完全にスルーしてるんですね。なのでうかつにVPSに置くのは厳しいのですが、ここであのtypester師謹製のgateの出番となります。用意したサブドメインへのアクセスは一番表に置いたnginxで受け、gateに渡す。あとは認証はgateがやってくれて、通れば更にその後ろのweecloudに渡してくれます。gateはwebsocketにも対応してるので、リアルタイム通信も問題ないです。また、weechatの起動してるサーバと同じ所でweecloudを動かすので、relay用のポートを外に空ける必要がなく、weecloudとの通信をsslにしておけば、そこそこ安全性も確保できるのではと思います。
 この成果を後輩に言ってみたら「努力がすさまじいwww」と小馬鹿にされたわけですが、冒頭でも言ったとおりサムネイル表示を出来る方法を探してたのと、gateを使ってみる口実が欲しかったというのが今回の目的なので、もしかしたら数日たったら飽きて戻ってる可能性もだいぶあります。

(追記: 8/22)
上記p-r、早速マージされておりました。