使用BIP代理长期挂IRC

使用BIP [1] 代理挂IRC和以前在远端服务器挂QQ升级是一个模式, 不过不是为了升级, 而是为了保存日志, 特别是在一些全球的频道, 晚上关了IRC可能错过一些有趣的讨论.

以前听说过这个功能, 但是自己没有去配置, 我想着不安全. 而且一致用命令行的irssi, 或者 emacs里的erc, 都很轻便. 今天Fam告诉我, 我们组有一个公用的服务器, 有kerbose个人账号保证安全, 于是配置了一下, 确实很实用又方便.

需要在一台长期运转的服务器上配置BIP服务, 可以参考这里详细的步骤 [2] 或 3. 然后简单配置客户端就可以.

这里说一下我觉得特别的地方:
1) 我们的服务器是公用, 所以不能使用默认7778端口, 可以先用 nc -l xxxx 来做个监听测试, 确保其他人没有使用.
2) on_connect_send 定义的命令是用来验证IRC服务器上的账号, 不同服务器的命令不一样.  “PRIVMSG UserServ login user password”, 也可以是 “PRIVMSG NickServ :IDENTIFY user password”. 这个不同在注册用户的时候就能知道.
3) channel的定义有多种形式
.1 channel { name = “#linaro,#linaro-meeting”; };
.2 channel { name = “#linaro”;  name=”#linaro-meeting”; }; 可以在每个name后边使用其他参数定制单个channel, 比如有个别channel需要密码验证, 也可以定制是否备份日志,等等.
.3 也可以多个channel语句
4) bipmkpw 的使用: 不带任何参数, 根据提示输入自己的密码, 产生一个hash字符串, 需要更新到bip.conf里.
5) 客户端的密码项包含三部分:    username:password:network,  这个用户名是bip.conf顶部定义的用户名, 密码和bipmkpw输入的一致. network是IRC网络名字, 也是在bip.conf里定义的. 客户端还有一个密码是验证昵称的, 不要混淆.
6) 时区问题, log里显示的是服务器的时区, 还没有解决

[1] http://en.wikipedia.org/wiki/BIP
[2] https://wiki.mageia.org/en/QA_procedure:Bip
[3] https://wiki.linaro.org/Resources/HowTo/BIP