安装ZNC,一款IRC的bouncer

最近使用IRC聊天,发现总是一半掉线,而掉线了之后自己还没有发现,直到半个小时之后才会自动重连,这让本人有点恼火,看看有没有什么解决方案。经过搜索发现,ZNC是一个很不错的方案,可以转发来自IRC的消息了。

一、ZNC简介

ZNC是一个很不错的IRC bouncer,能够使和IRC客户端在中断和连接过程中不会丢失聊天信息。ZNC具有如下特性1:

  • 离线支持,即使没有客户端相连,ZNC仍然能够缓冲一部分信息。
  • 多客户端和多网络支持,可以多个客户端连同一个ZNC,同一个ZNC也可连接多个网络。
  • SSL与IPv6支持,能够更加安全与快捷。
  • 能够使用web administration自定义设置

可以看出,ZNC还是很不错的IRC的中转工具。下面就讲讲如何在ubuntu的VPS上安装ZNC吧。

二、ZNC安装

ZNC需要手动编译安装。

2.1 ZNC编译安装

正如其它的编译安装的过程相同,ZNC的编译安装方法也极为简单。首先需要安装编译所需要的工具包:

$ sudo apt-get install build-essential libssl-dev pkg-config

再接下来下载并编译ZNC 下载地址:

$ wget http://znc.in/releases/znc-latest.tar.gz
$ tar -zxvf znc-lastest.tar.gz
$ cd znc*
$ ./confgure
$ make
$ sudo make install

如果你完成上面所有步骤,那么你已经成功安装了ZNC。

2.2 ZNC配置

ZNC启动自然需要配置,首先最好新建一个专为znc的帐户(当然这是非必须的),并切换到其home目录下:

$ sudo adduser znc-admin
$ su znc-admin; cd;

在新建目录过程会有填写密码的步骤,安照要求填写即可。

再接下来使用znc自带的产生配置文件的向导来生成配置文件:

$ znc --makeconf

这个时候ZNC开始配置向导,中间会不断问各种问题,同时也会提供一个默认的范例式的选项,如果直接回车就会采用默认的该选项(在方括号内)。其中几个比较重要的参数有:

  • ZNC监听的端口号(1025~65535)
  • ZNC的帐户名
  • ZNC的帐户密码

除了这三个之外,其它的设置是比较随意的。另外该版本的ZNC默认连接到网络的选项中默认的就是freenode,所以只要开启了网络选项,一路默认下来就可以直接连接freenode了。

下面是过程记录:

[ ..  ] Checking for list of available modules...
[ >>  ] ok
[ **  ]
[ **  ] -- Global settings --
[ **  ]
[ ??  ] Listen on port (1025 to 65534): 5000
[ ??  ] Listen using SSL (yes/no) [no]: no
[ ??  ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no
[ ..  ] Verifying the listener...
[ >>  ] ok
[ **  ] Unable to locate pem file: [/home/znc-admin/abc/znc.pem], creating it
[ ..  ] Writing Pem file [/home/znc-admin/abc/znc.pem]...
[ >>  ] ok
[ **  ] Enabled global modules [webadmin]
[ **  ]
[ **  ] -- Admin user settings --
[ **  ]
[ ??  ] Username (alphanumeric): abc
[ ??  ] Enter password:
[ ??  ] Confirm password:
[ ??  ] Nick [abc]: abc
[ ??  ] Alternate nick [abc_]:
[ ??  ] Ident [abc]:
[ ??  ] Real name [Got ZNC?]:
[ ??  ] Bind host (optional):
[ **  ] Enabled user modules [chansaver, controlpanel]
[ **  ]
[ ??  ] Set up a network? (yes/no) [yes]: yes
[ **  ]
[ **  ] -- Network settings --
[ **  ]
[ ??  ] Name [freenode]:
[ ??  ] Server host [chat.freenode.net]:
[ ??  ] Server uses SSL? (yes/no) [yes]:
[ ??  ] Server port (1 to 65535) [6697]:
[ ??  ] Server password (probably empty):
[ ??  ] Initial channels:
[ **  ] Enabled network modules [simple_away]
[ **  ]
[ ..  ] Writing config [/home/znc-admin/abc/configs/znc.conf]...
[ >>  ] ok
[ **  ]
[ **  ] To connect to this ZNC you need to connect to it as your IRC server
[ **  ] using the port that you supplied.  You have to supply your login info
[ **  ] as the IRC server password like this: user/network:pass.
[ **  ]
[ **  ] Try something like this in your IRC client...
[ **  ] /server <znc_server_ip> 5000 abc:<pass>
[ **  ]
[ **  ] To manage settings, users and networks, point your web browser to
[ **  ] http://<znc_server_ip>:5000/
[ **  ]
[ ??  ] Launch ZNC now? (yes/no) [yes]:

最后只需要将znc所监听的端口打开在iptables打开即可。

三、客户端配置

实际上客户端基本不用配置什么的,只需要按照常规的方式将自己的远程VPS当作服务端添加即可。不过其中主要存在就是用户名和密码问题,一般来说按照提示输入即可。以weechat为例(由于weechat支持用户和密码的配置,所以只需要修改其配置文 件的用户和密码,就不用每次登陆的时候都需要用户名和密码了)

/server add myserver abc.com/5000
/connect myserver

之后出现需要用户和密码,使用提示输入相应的命令即可

此条目发表在LINUX, 软件安装分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。