「これ、Go言語で書いたらパフォーマンスも出るし、使用リソースも減るし万々歳じゃね?」というアホの一つ覚えみたいな動機で作り始めました。
mattn/gomirc - GitHubmobirc とほぼ同等の機能が動きます。
https://github.com/mattn/gomirc
- 複数ネットワーク
- クリッカブルリンク
- 画像インライン表示
- 新着件数表示
- ログイン機能
あと、バックログ機能が付いてましてサーバを再起動したい場合は CTRL-C すると backlog.json というファイルに最新100件のバックログが保存されます。
config.json は以下の様に記述します。
{
"irc": [
{
"name": "freende",
"host": "irc.freenode.net:6668",
"user": "my-username",
"password": "my-password",
"channels": ["golang-nuts"]
},
{
"name": "perl",
"host": "irc.perl.org:6668",
"user": "my-username",
"password": "my-password"
}
],
"web": {
"addr": ":5004",
"password": "dankogai"
"root": "/mobirc/",
"backlog": "./backlog.json",
"keywords": ["dan", "kogai"]
}
}
root が指定出来るので、サブディレクトリにインストールしたい人も安心設計。ちゃんと計測していませんが、perl 版を使っていた頃に比べて top の RSS が 2/3 程度に減りました。
あと先日書いた lingr-ircd を使えばこの gomirc からも扱えますし
mattn/go-lingr - GitHubznc を使えば複数のネットワークを束ねる事も出来ます。
https://github.com/mattn/go-lingr
これで何時でも何処でも IRC 出来る様になりますね。よろしければどうぞ。
pull リクエストもお待ちしております。