美文网首页即时通信
IRC 服务器搭建与测试

IRC 服务器搭建与测试

作者: xanderwang | 来源:发表于2018-07-18 01:42 被阅读0次

    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源。

    替换及重置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。

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

    相关文章

      网友评论

        本文标题:IRC 服务器搭建与测试

        本文链接:https://www.haomeiwen.com/subject/lkunpftx.html