tiarra を導入してみた

August 23rd, 2008 by admin | Filed under day.

最近、社内で IRC がはやっていることもあって、IRC をよく使っている。

twitter や wassr の情報も IRC で集められる net-irc という id:cho45 さんの tig.rbwig.rb があることを知った。これを使えば、すべて IRC にまとめらると思って、さっそく導入してみた。

環境は、FreeBSD 7.0-RELEASE。

 

0. ruby-gems や ruby gem の json がインストールされていない場合は、インストールする

  $ sudo portinstall devel/ruby-gems

  $ sudo gem install json

1. coderepos から net-irc/trunk を checkout する

   $ svn co http://svn.coderepos.org/share/lang/ruby/net-irc/trunk net-irc

2. net-irc は gem でもインストールできるが、更新頻度が高いのでその場所で実行する方法を選んだ、まずは twitter の tig.rb、使い方は –help オプションをつけると分かる

  $ cd net-irc

  $ ruby ./examples/tig.rb –help

3. 自分のサーバで常駐させたいため、他のコンピュータからも接続する可能性があるので、–host オプションをサーバのホスト名を指定する、–host オプションをつけないと他のコンピュータからは接続できなかった

  $ ruby ./examples/tig.rb –host hogehoge

4. あとは、IRC クライアント(僕は LimeChat for OSX を愛用しています)で、サーバ名に hogehoge、ポート番号に 16668 を指定、TwitterIrcGateway を参照しながらニックネームやパスワードを設定して、IRC クライアントで自分が follow しているユーザのタイムラインが流れていること、ステータスをアップデートできることは確認する

5. wassr 版の wig.rb も同じ要領で設定する

 

ここで、tig.rb と wig.rb は、とても便利なんだけれど、tig.rb と wig.rb の接続するポートが違うので IRC クライアントからそれぞれのサーバを追加するのがめんどう。どうせなら、一つずつチャンネルにしてほしい。これを実現するのが、IRC Proxy ソフトウェアの tiarra。tiarra の公式ホームページは、こちら

さっそく、tiarra も導入してみる。

1. coderepos から tiarra を checkout する

  $ svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra

2. tiarra のサンプル設定ファイル sample.conf を tiarra.conf としてコピーする

  $ cp sample.conf tiarra.conf

3. tiarra.conf で、tig.rb と wig.rb を使えるように設定する、具体的な設定方法は tig.rb、wig.rb のコメントに書いてある

僕は、次のような感じで設定した。general の encoding の設定はしておかないと、tig.rb とかで文字化けするので注意。ホスト名には、–host オプションで指定したホスト名を設定する。


general {
nick: 共通のニックネーム
user: 共通のユーザ名
name: 共通の名前
tiarra-password: tiarra に接続するときのパスワード
client-allowed: *
tiarra-port: 16667
notice-error-messages: 1
conf-encoding: utf8
server-in-encoding: utf8
server-out-encoding: utf8
client-in-encoding: utf8
client-out-encoding: utf8
}

networks {
multi-server-mode: 1
name: twitter
name: wassr
}

twitter {
host: ホスト名
port: 16668
name: athack tid ratio=32:1 replies=6
password:
in-encoding: utf8
out-encoding: utf8
}

 

wassr {
host: ホスト名
port: 16670
name: athack tid=10 ratio=10:3:5
password:
in-encoding: utf8
out-encoding: utf8
}

 

4. あとは、tiarra を起動して、IRC クライアントソフトで接続して、#twitter@twitter チャンネルと #wassr@wassr チャンネルに接続できることを確認する

  $ tiarra/tiarra –config=設定ファイル名

 

これでかなりに便利になった。しかし、tiarra を起動する前に tig.rb と wig.rb を起動しておかないといけない。サーバを再起動したときなんかに毎回手動で起動するのはかなり面倒なので、freebsd の rc スクリプトを書いて一発でまとめて起動するようにして、 coderepos に tiarra_with_net-irc としてコミットした。

freebsd の rc スクリプトは、初めてまともに書いたが、とても簡単に書けて、なかなか楽しかった。

tiarra_with_net_irc の使い方は、次のとおり。

1. tiarra_with_net_irc を checkout する

  $ svn co http://svn.coderepos.org/share/config

2. tiarra_with_net-irc を /usr/local/etc/rc.d へコピーする

3. tiarra_with_net-irc スクリプトの最初にある3つの変数を設定する

  USER=<tiarra を実行するユーザ、通常ユーザで充分です>

  ROOTDIR=<CodeRepos を checkout してあるルーとディレクトリ、このディレクトリに net-irc と tiarra が checkout されていることを前提としています>

  CONFIG=<tiarra の設定ファイルの場所>

4. 起動できるように /etc/rc.conf に、次の設定を追加する

  tiarra_enable=”YES”

5. オプションとして、tig.rb、wig.rb、の制御も可能になっているので、必要なら /etc/rc.conf へ設定す、デフォルトは全部起動するようになっている

6. あとは、起動するだけ

  $ sudo /usr/local/etc/rc.d/tiarra_with_net-irc start

sudo する理由は、tig.rb や tiarra をデーモンとして起動させるために、FreeBSD の daemon コマンドを使って実行ユーザを指定しているため。

 

さらに、今日はてなハイクAPIが公開されたわけですが、この API を作った id:cho45 さんが hig.rb をもう作ってくれました!すげぇー、スピードで驚いた。というか、API を作っていたとは…。

そこで、さっそく hig.rb も導入してみた。はてなハイクの場合投稿専用のメールアドレスを登録しないと使えないので注意。

tiarra.conf には、次のように設定する。
haiku {
host: ホスト名
port: 16679
name: はてなID athack tid=10 ratio=10:3:5
password: はてなハイク専用のパスワード
in-encoding: utf8
out-encoding: utf8
}

これで、はてなハイクも IRC クライアントから追えるようになった。

net-irc 作者の id:cho45 さんと、tiarra 作者の Topia さんに感謝。

 

tirra の freebsd ports はとても古いので、tiarra と net-irc をまとめた FreeBSD ports を作ると ports の勉強になっていいかもしれないが、マニアックすぎて誰も使ってくれないかも。

 

Tags:

Leave a Reply