keitairc 〜携帯でIRC〜

keitairc


plum や tiarra など、IRC Proxy を通して携帯やブラウザから IRC を閲覧・書き込みする perlプログラム。

keitairc 2.0b11 が 2008/12/31 にリリースされたようです。
(私の指摘した 2.0b10 までの web_root と timestamp のバグは修正されているようです、作者さん Good Job!)

2.0b10 配布先
v2.0b5 配布先ブログ
CVSリポリトジ (2.0b11 もここに)

keitairc の他にも、mobircmobilircがある。

$ mkdir test
$ cd test
$ wget http://tmp.mrmt.net/2.0b5.tar.gz
$ tar zxvf 2.0b5.tar.gz
$ sudo mkdir /usr/share/keitairc
$ cd 2.0b5 $ sudo cp -r lib/ /usr/share/keitairc/
$ sudo cp keitairc /usr/local/bin/

必要なperlモジュールをCPANで準備
(必要なモジュールは keitairc の13-30行目のuse name_of_module)

$ sudo perl -MCPAN -e shell
CPAN> install POE::Filter::HTTPD #など

keitairc の設定。

$ cp dot.keitairc ~/.keitairc
$ cd
$ vi .keitairc

適宜設定、v2.0以降は使われていないパラメータが多数あり、とりあえず設定してみて起動。

$ perl /usr/local/bin/keitairc &

設定ファイルは、先に /etc/keitairc が探され、次に ~/.keitairc が探される。
次のように、引数で設定ファイルを渡すことも可能。

$ perl /usr/local/bin/keitairc ~/.keitairc/user_keitairc &

問題なく起動すれば、いよいよアクセス。
使っているサーバーのURLが http://your_server_url.com/ であったとし、keitaircのポートを8080に設定したのであれば、以下のようにアクセスする。

http://your_server_url.com:8080/

しかし、このままだと、SoftBankなどの端末からアクセスできない。SoftBankなどは、:8080/ というポート指定に対応していないからだ。
そこで、apache の mod_proxy を利用してこれを解決する。
また、複数の keitairc を立ち上げる場合など、多数のポートを開かなければならなくなるが、mod_proxy を上手く使えば port 80 のみを開くことが実現される。

$ cd /etc/apache2
$ sudo ln -s mods_avaiable/proxy.load mods_enabled/proxy.load
$ sudo ln -s mods_avaiable/proxy.conf mods_enabled/proxy.conf
$ sudo ln -s mods_avaiable/proxy_http.load mods_enabled/proxy_http.load
# mod_proxyを有効に

$ sudo vi conf.d/keitairc-proxy.conf

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /irc http://your_server_url:8080/
ProxyPassReverse /irc http://your_server_url:8080/
</IfModule>

$ sudo /etc/init.d/apache2 restart

keitairc の web_root を変更する。

$ cd
$ vi .keitairc

web_root = /irc/ # /irc ではなく、/irc/ と閉じなければうまくいかない

以下のように port 80 にアクセスすればOK。

http://your_server_url.com/irc/

keitairc 2.0b5 にはバグがあり、mod_proxy でしているとき、位置情報送信をすると 404 error になる。
これは、location_receiver へのリンクに web_root が考慮されていないためである。
(v2.0b2でweb_rootが廃止された名残か?)

$ sudo vi /user/share/keitairc/lib/template/location.html

<!-- tmpl_var root --> がポイント、EZweb、docomo、SoftBank に場合分けされたリンク先を変更する。

keitairc 2.0b10 という新しいベータバージョンを発見。
早速入れてみた。
2.0b5にそのまま上書きするとうまくいかない、前バージョンを一度きれいに削除してからインストール。
主な変更点は以下だ。

  • emobile端末サポート
  • favion.icoの対応
  • スタイルの変更(*** joined などが見やすくなった)
  • フォントサイズ指定
  • キーワード反応(何故か動作しない)
  • GPS情報の一部文字化け修正

残念ながらweb_root関連のバグは直っていない。また、2.0b10ではタイムスタンプ関係で新たなバグが発生していて、GPS情報の発信がうまく動いていない。
そのバグフィックスを書いておく。

$ sudo vi /user/share/keitairc/lib/template/default/location_receiver.html

<input type="hidden" name="stamp" value="<!-- tmpl_var stamp -->" /><br />
#34-35行目の間に上記を挿入

$ sudo vi /user/share/keitairc/lib/plugins/00location_receiver

$p->{stamp} = time;
#94行目あたりに上記を挿入

SourceForge.JPのkeitaircプロジェクトのチケットに登録して頂けたので、次回リリースには直して頂けそう。keitaircはとても便利、次回リリースが楽しみだ。

↑ keitairc 2.0b11 で修正して頂きました。素敵なプログラムを作って下さっている作者さんに感謝です。

AppleCare Protection Plan Mac Book Air iMac

RSS MarkRSS Mark 2
   
 


        ※このHPにより生じたトラブルについて、一切責任を負いません。