WeeChat は IRC Bouncer にもなる
テキストベースの IRC クライアントとして有名な WeeChat ですが、IRC Bouncer としても使えることがわかり、使ってみたら大変によさそうであったので共有いたします。
旧環境
最近まではこんな感じで ZNC に IRC サーバに繋ぎっぱなしにさせて、クライアントが繋いできたときは設定された行数をプレイバックするみたいにして使っていた。
+--------------+ IRC +---------+ IRC +-------------+ | LimeChat(PC) | ---------> |+-------+| -----> | Company IRC | +--------------+ || ZNC || +-------------+ +------------------+ IRC |+-------+| IRC +----------+ | LimeChat(iPhone) | -----> | Server | -----> | freenode | +------------------+ +---------+ +----------+
これだとちょっとダルい問題があって、PC からだとネットワークが切れて再接続されるたびにバッファプレイバックするので、直近で nick 呼ばれてたりするといちいち LimeChat が通知出して来てウザい。
iPhone からだと、細い回線下ではバッファの読み込みに超時間がかかってウザい。
かと言ってバッファを少なくし過ぎたり、バッファを残さないようにするとかだと利便性に欠いてしまうので大変ウザい。
新環境
そこでこのような構成にしてみた。
WeeChat はサーバの tmux 上で動いていて、 SSH してから tmux attach してから普通にクライアントとして使います。
最初は WeeChat のウラに ZNC を残しておいて、WeeChat も iPhone も ZNC に繋ぎに行くようにしようと考えていたけど、WeeChat に IRC Boucer としての機能があるとわかり、ZNC は落とした。
+----+ SSH +-----------+ IRC +-------------+ | PC | -------------------> |+---------+| -----> | Company IRC | +----+ || WeeChat || +-------------+ +------------------+ IRC |+---------+| IRC +----------+ | LimeChat(iPhone) | -----> | Server | -----> | freenode | +------------------+ +-----------+ +----------+
新環境のメリットとデメリット
ごく短期間使っただけの所感です。
- メリット
- デメリット
iPhone と WeeChat で未読が共有出来るのは本当に便利。
Relay の設定
接続先のサーバごとに待ち受けポートを変えるなど、いくつかやり方があるので、ユーザーズガイドを一読してからお試しになることをオススメいたします。
今回は SSL で接続し、ひとつのポートで待ち受けて、サーバパスワードで接続先サーバを区別する方法を紹介します。
前提
IRC サーバへの接続など、WeeChat を IRC クライアントとしてひと通り普通に使えるようにしておく必要があります。
ここでは割愛します。クイックスタートガイドを読みましょう。SSL 鍵作成
$ mkdir -p ~/.weechat/ssl $ cd ~/.weechat/ssl $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 3650 -out relay.pem weechat: /relay sslcertkey
- パスワードを設定
weechat: /set relay.network.password **********
- リレー設定
weechat: /relay add ssl.irc 8000
- クライアントの設定
- SSL 有効
- ポート 8000
- サーバパスワード servername:password
おまけ
WeeChat に乗り換えてやったことを都度書くようにした。
- WeeChat を入れてやったことまとめ
オススメプラグインや設定などあれば、是非教えて下さい。
Enjoy IRC!!