tiarraを入れてみたので設定とかのメモ
IRC-Proxyのtiarraをようやく入れたのでメモ。
サーバーを用意していないので、とりあえず自分のマシン(MAC-OSX10.5.6)で動かしてみる。
※2011/12/13追記
ZNCというSSL対応のIRCプロキシが良さそうです。
EC2 に ZNC という IRCプロキシ入れてみた - 気が向いたら
ダウンロード
こちらが本家 Tiarra : Archiveもしくは coderepos よりチェックアウト
% svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra
適当な場所へ置く。
tiarra.confの設定
ダウンロードしたディレクトリ内に、「sample.conf」というファイルがあるので、コピーして「tiarra.conf」とリネームする。confファイルは大きく分けて以下のブロックがある。
generalブロック
networksブロック
各ネットワークの設定
プラグインの設定
generalブロック
ここの設定をする前に、自宅のマシンに外からも接続する場合の事を考えて、パスワードを設定しておく。
tiarraを設置したディレクトリ内に移動して、
% ./tiarra --make-password
で、設定したいパスワードを聞かれるので入力。
cryptされた値として返されるので、コピーしておく。
次にtiarra.confを編集。
general { # ユーザー情報 # 省略不能です。 nick: taketin user: taketin name: taketin # Tiarraが開くポート。ここに指定したポートへクライアントに接続させる。 # 省略されたらポートを開かない。 tiarra-port: 6667 # Tiarraにクライアントが接続する際に要求するパスワードをcryptした文字列。 # 空の文字列が指定されたり省略された場合はパスワードを要求しない。 # crypt は ./tiarra --make-password で行えます。 tiarra-password: さきほど生成したcryptされたパスワード # IRCサーバーから送られる文字のコードと、IRCサーバーへ送る文字のコード # どちらも省略された場合はjis。 server-in-encoding: utf8 server-out-encoding: utf8 # クライアントから受け取る文字のコードと、クライアントへ伝える文字のコード # どちらも省略された場合はjis。 client-in-encoding: utf8 client-out-encoding: utf8 }
networksブロック
# 接続するIRCネットワークに名前を付けます。この名前は後で使用します。 # 複数のネットワークに接続したい場合は多重定義して下さい。 name: 任意の設定名(例えばcodecheck.inとか)
各ネットワークの設定
先ほどnetworksブロックで設定したnameに対しての設定を行う。
codecheck.in { host: irc.codecheck.in port: 6667 }
接続先設定が複数ある場合は上のフォーマットで繰り返し記述しておく。
プラグインの設定
色々なオプションがある。
とりあえず以下の設定をした。
- Channel::Join::Connect {
↓
+ Channel::Join::Connect {
# サーバーに初めて接続した時、指定したチャンネルに入るモジュール。
# 書式: <チャンネル1>[,<チャンネル2>,...] [<チャンネル1のキー>,...]
# コンマの直後のスペースは無視されます。
#
# 例:
# 「#aaaaa@ircnet」に「aaaaa」というキーで入る。
#channel: #aaaaa@ircnet aaaaa
#
# 「#aaaaa@ircnet」、「#bbbbb@ircnet:*.jp」、「#ccccc@ircnet」、「#ddddd@ircnet」の4つのチャンネルに入る。
#channel: #aaaaa@ircnet,#bbbbb@ircnet:*.jp, #ccccc@ircnet
#channel: #ddddd@ircnet
channel: #codecheckin@codecheck.in
channel: #cnkin@codecheck.in
}
これで、サーバ接続時に自動的に指定チャンネルに入ってくれる。
- Log::Channel { ↓ + Log::Channel {
これでログが取れる。記録先はとりあえずデフォルトでlogというディレクトリを作って保存してくれるようだ。
- Log::Recent { ↓ + Log::Recent {
これで、切断後しばらくして再接続した場合、最近のログを表示してくれるらしい。便利。
- User::Nick::Detached {
↓
+ User::Nick::Detached {
# クライアントが接続されていない時に、特定のnickに変更します。
# クライアントが接続されていない時のnick。
# このnickが既に使われていたら、適当に変更が加えられて使用されます。
# クライアントが再び接続されると、切断前のローカルnickに戻ります。
detached: taketin_away
}
これで、切断した時に設定したnickに変更してくれる。
tiarra起動してクライアントより接続
% ./tiarra &
で、tiarraがバックグラウンドで実行される。
特にエラー等表示されていないようならOK。
クライアント(LimeChat等)で接続してみる。
server: 127.0.0.1 port: 6667 password: 先ほど設定したパスワード
で、適当な名前つけて接続。
同時に、今tiarra経由で接続しているircサーバに直接接続してみると動作確認できる。
tiarra経由の接続を切ると、nickがtaketin→taketin_awayに変われば成功。
ちなみにtiarra起動中にtiarra.confをいじった場合は、ircクライアントより
/load
とコマンドを打てば設定を再読込してくれる。