layout: post
title: "IRC 服务器搭建与测试"
date: 2018-05-12 11:12:20 +0800
categories: 瞎折腾
description: 很简单,就是不想用tx的东西。
以下为原创内容。
mac上的QQ、Wechat耗电堪比IDE,越来越多的功能,越来越臃肿的程序,越来越可怕的耗电量。国内Telegram也凉的差不多了,加上工作学习用终端比较多,IRC或许是个不错的选择。
先上一波百度百科。
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界面寻求帮助,以下列出我遇到的一些问题。
[图片上传中...(irc-err0.jpg-db7834-1531849426722-0)]
主要是默认信息没有修改和密钥的问题,对应着行号解决一下。
[图片上传中...(irc-err1.jpg-729480-1531849435693-0)]
修改oper后面的name和下面的password。
第二和第三条报错注释里说了怎么解决。执行如下命令然后把生成的key贴到cloak-keys的第二三条即可。
./unrealircd gencloak
最后一条错误改一下邮箱即可。
别忘了加分号。
贴一下启动成功的图。
[图片上传中...(irc-success.jpg-a345d7-1531849450329-0)]
可能还需要添加防火墙例外(或ECS安全策略)以确保外部访问正常。
<del>## 补充内容
<del>如果想开启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源。
安装完成后运行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版本在此不作介绍。
移动端
iOS
在App Store搜索Mutter并安装。
安装后打开Mutter,点击左上角的加号添加服务器。输入名称、IP或域名、昵称等添加一个连接。
进入服务器后,点击右上角的三个点,变更频道至协商好的频道(别忘了#号)。
Let's chat.
Android
Android下的客户端众多,根据喜好选择下载即可。推荐一款liteIRC。
好了,就这么多,有空再更。
网友评论