IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称)。

搭建IRC服务器主要是为了和研究团队的成员们保持联系。下面简单说一下自主搭建IRC服务器的过程。


安装 UnrealIRCd

UnrealIRCd是一个IRC服务端守护进程。具体的可以看官方的说明.

UnrealIRCd is an Open Source IRC Server, serving thousands of networks since 1999. It runs on Linux, OS X and Windows and is currently the most widely deployed IRCd with a market share of over 50%. UnrealIRCd is a highly advanced IRCd with a strong focus on modularity, an advanced and highly configurable configuration file. Key features include SSL, cloaking, its advanced anti-flood and anti-spam systems, swear filtering and module support. We are also particularly proud on our extensive online documentation.

官方文档里安装过程也说的很明白了,下面总结一下。

# 测试环境为 Ubuntu 16.04 LTS
# 注意不要以root身份安装,可能会导致安全问题。

# 首先下载最新的源码
wget --no-check-certificate --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz

# 解压并进入目录
tar -zxvf unrealircd-4.0.17
cd unrealircd-4.0.17

# 运行配置(注意大小写)
# 如果机器没有安装gcc、make、openssl-devel等可能会报错。按照错误提示安装即可。
# 默认配置一路回车即可,组织名称可按需配置。
./Config 

# make & install
make
make install

# 进入到安装的目录(默认为~下),复制配置文件模版并启动
cd ~/unrealircd
cp conf/examples/example.conf conf/unrealircd.conf

如果启动失败,可去官方的FAQ界面寻求帮助,以下列出我遇到的一些问题。

主要是默认信息没有修改和密钥的问题,对应着行号解决一下。

修改oper后面的name和下面的password。

第二和第三条报错注释里说了怎么解决。执行如下命令然后把生成的key贴到cloak-keys的第二三条即可。

./unrealircd gencloak

最后一条错误改一下邮箱即可。

别忘了加分号。

贴一下启动成功的图。

可能还需要添加防火墙例外(或ECS安全策略)以确保外部访问正常。


## 补充内容

如果想开启iOS端的消息推送(仅限Mutter),还需配置IRC服务端连接至苹果推送服务。Mutter提供了Mutter Push ZNC Module,点击以查看更多,下面简单翻译一下。

# 下载并解压模块,进入解压出的文件夹
wget https://bitbucket.org/jmclough/mutter-push/get/master.zip
unzip -d mutter -j master.zip
cd mutter

# 安装依赖(Python、requests包)
sudo apt-get install python3-pip
sudo pip3 install requests

# 加载 ModPython 模块
/znc loadmod modpython

# 拷贝模块至模块目录下
cp mutter.py ~/.znc/modules/

# 加载ZNC模块
/znc loadmod mutter

客户端安装与测试

简单介绍一下不同环境下IRC客户端的安装。客户端采用基于终端的Irssi,经典的IRC文本聊天器。相关GUI版本在此不作介绍。

*NIX

仅介绍macOS和Ubuntu环境,其他环境相差无几。

macOS

如果mac上从安装包管理工具,请先安装brew(或需要先安装Xcode并运行一次,安装相关开发者工具)。

依次运行下面的命令安装Homebrew,更新源并安装Irssi

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install irssi

如果速度慢则请参考LUG@USTC考虑更换Homebrew源。

替换及重置Homebrew默认源

Homebrew Bottles源

安装完成后运行irssi。

irssi

简单介绍一下Irssi中的入门命令。

# 连接到服务器
/connect [IP]

# 更改昵称(可选)
/nick [nickname]

# 加入频道(若无则创建)
/channel [channel]

# 退出当前频道
/wc

# 断开服务器
/disconnect

# 退出程序
/quit

# 帮助
/help

# 命令帮助
/help [command]

进一步操作可参考官方完备的说明文档

Ubuntu

与macOS类似,简单介绍一下。

# 更新源并安装
sudo apt-get update
sudo apt-get install irssi

# 运行
irssi

# 下面的操作参考macOS中的介绍

Windows

在Windows下,推荐使用WSL(Windows Subsystem for Linux),然后参考Ubuntu的安装和操作进行。相关的GUI版本在此不作介绍。

如何安装WSL

移动端

iOS

在App Store搜索Mutter并安装。

安装后打开Mutter,点击左上角的加号添加服务器。输入名称、IP或域名、昵称等添加一个连接。

进入服务器后,点击右上角的三个点,变更频道至协商好的频道(别忘了#号)。

Let’s chat.

Android

Android下的客户端众多,根据喜好选择下载即可。推荐一款liteIRC。

好了,就这么多,有空再更。


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

Cloudera Manager & CDH 部署 上一篇