写在前面

互联网中继聊天(IRC)是一个基于文本的即时消息聊天系统。IRC是为论坛频道(称为channels)中的小组交流而设计的,但也允许通过私人消息进行一对一交流,以及聊天和数据传输,包括文件共享。

一些外站是有使用 irc 作为站内沟通的工具,同时个别站点也还有一些 irc 积分奖励

于是乎,想利用 Nas 或者软路由来部署 irc,这样就可以达到:

  • 省去不同设备(比如电脑、手机)都要下载安装 irc 客户端并进行配置
  • 在任意时间、任意设备都可以通过 Nas 或软路由来使用 irc,同时 irc 也可以 24 小时在线

于是就有了本文了,大纲如下:

IRC随时聊天24小时在线——容器部署thelounge

软件选型

我们的目标是,在 Nas 或者软路由上部署 irc 客户端,并且客户端需要支持 web 远程访问

搜索了相关的资源,目前符合目标的主要是以下两种:

  • znc
  • thelounge

znc 比较古老,并且看起来配置比较复杂,成本较高

IRC随时聊天24小时在线——容器部署thelounge

最后还是选择了相对比较年轻的 thelounge

IRC随时聊天24小时在线——容器部署thelounge

安装配置

因为一开始是在 Nas 上安装,后续迁移到了软路由,所以两种安装方式都发出来了

软路由因为也是配置了支持 docker,所以迁移成本是比较低,对软路由跑 docker 可以看之前的文章

Unraid 安装

在 Unraid 上安装还是比较简单的,通过社区商店搜索就可以安装了

IRC随时聊天24小时在线——容器部署thelounge

有两个版本,个人比较习惯使用 linuxserver 的,点击安装后,跳转到 Unraid 的 docker 镜像配置页面

IRC随时聊天24小时在线——容器部署thelounge

做了一个调整,将网络类型改成 br0 并手动指定了 Fixed IP,原因如下:

  • 通过 br0 的方式,可以单独从主路由可以管理的 IP,方便后续调整上网策略
  • 不需要经过 Unraid 的 NAT 进行处理,不受限与 Unraid

最后点击应用,就会拉取镜像并启动

Openwrt 安装

先进入 docker 页面,点击添加按钮创建一个容器

IRC随时聊天24小时在线——容器部署thelounge

点击命令行,并输入一下命令,解析CLI

docker run -d --name=thelounge -e TZ=Asia/Shanghai -v /opt/appdata/thelounge:/config --restart always lscr.io/linuxserver/thelounge:latest

这样可以省去部分参数的填写,接下来修改使用自定义网桥并分配一个空闲 ip 即可启动

不了解自定义网桥可以看我之前发过的文章,作用就是实现与主路由同子网

IRC随时聊天24小时在线——容器部署thelounge

提交之后会进入已创建状态,还需要勾选后点击启动

IRC随时聊天24小时在线——容器部署thelounge

这样在部署了之后,就可以通过 10.0.0.52:9000 来访问 thelounge 了

配置登陆

开启认证

该版本 thelounge 镜像默认会设置为 public,任意用户知道网址就可以打开访问,不需要登陆认证。

而默认 public 是不支持设置自动登录以及 24 小时在线,需要进行调整。

对于 Unraid,在 Docker 管理页面点击 thelounge 图标并进入 Console

IRC随时聊天24小时在线——容器部署thelounge

在 Openwrt 上,就是点开容器后,通过控制台连接进去

IRC随时聊天24小时在线——容器部署thelounge

进入容器终端环境后,修改配置文件/config/config.js,将 public 改为 false

IRC随时聊天24小时在线——容器部署thelounge

修改之后,重启一下容器生效

添加用户

接下来需要进入容器终端,通过命令行添加一个用户,才能在 WebUI 上登陆

s6-setuidgid abc thelounge add root

下方是我在 unraid 上的操作,openwrt 的容器也是对应进入控制台即可

输入上述命令后会要求输入密码,以及咨询是否将日志落盘:

IRC随时聊天24小时在线——容器部署thelounge

添加完成之后,打开 thelounge 的 WebUI 入口,使用刚才添加的用户登陆

IRC随时聊天24小时在线——容器部署thelounge

登陆后,进行一些基础配置,点击左下角的齿轮进行配置页面(以下仅供参考)

IRC随时聊天24小时在线——容器部署thelounge

所有配置都是立即生效,不需要点击保存

irc 挂机聊天

前面的步骤仅仅只是完成 irc 客户端的配置,接下来才是真正登陆 irc 在线聊天

添加 irc 账号

首先需要从你对应的站点获取到 irc 相关的登陆信息:

  • irc 服务端地址(域名及端口)
  • irc 用户昵称
  • irc 登陆密码
  • irc 登陆认证命令

然后就可以在 thelounge WebUI 点击左下角的 加号 按钮开始添加 IRC 会话,

IRC随时聊天24小时在线——容器部署thelounge

最后点击 CONNECT 按钮开始登录

IRC随时聊天24小时在线——容器部署thelounge

然后就是按照站点 irc 的认证流程输入对应指令完整后续登录步骤,进入 IRC 频道

IRC随时聊天24小时在线——容器部署thelounge

至此,已经完成服务端登录 IRC 的操作了:

  • 将 thelounge 暴露公网后,就可以在任意设备上使用
  • 浏览器退出也不会影响 IRC,实现 24 小时在线

但是总有一些意外情况会导致 irc 掉线需要重新登陆,而重新登陆就又要走完整一遍流程,比较繁琐,下一步配置就是快速重连。

配置快速重连

接下来就是配置重连自动认证的流程,在 irc 站点右键,Edit this network...

IRC随时聊天24小时在线——容器部署thelounge

此时,在 User preference 配置里面会多了一个 Commands 的选项,

将站点 irc 认证指令填入,并且每个命令后面增加一个空行,最后点击 **SAVE NETWORK **保存设置

IRC随时聊天24小时在线——容器部署thelounge

至此,后续如果连接断开,可以直接输入 /connect 自动认证连接,无需再手动输入

写在后面

目前这种方式,能够实现一个远程 irc 客户端:

  • 可以保持 irc 在线以及远程访问进行 irc 聊天
  • 能够有一个 24 小时在线的网络环境

但是并不能避免因为其他问题导致 irc 掉线,如果 xdm 有什么自动重连方案,也可以评论区分享,最后也多多点赞关注支持一下哇。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。