寫在前面

互聯(lián)網(wǎng)中繼聊天(IRC)是一個基于文本的即時消息聊天系統(tǒng)。IRC是為論壇頻道(稱為channels)中的小組交流而設(shè)計(jì)的,但也允許通過私人消息進(jìn)行一對一交流,以及聊天和數(shù)據(jù)傳輸,包括文件共享。

一些外站是有使用 irc 作為站內(nèi)溝通的工具,同時個別站點(diǎn)也還有一些 irc 積分獎勵

于是乎,想利用 Nas 或者軟路由來部署 irc,這樣就可以達(dá)到:

  • 省去不同設(shè)備(比如電腦、手機(jī))都要下載安裝 irc 客戶端并進(jìn)行配置
  • 在任意時間、任意設(shè)備都可以通過 Nas 或軟路由來使用 irc,同時 irc 也可以 24 小時在線

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

IRC隨時聊天24小時在線——容器部署thelounge

軟件選型

我們的目標(biāo)是,在 Nas 或者軟路由上部署 irc 客戶端,并且客戶端需要支持 web 遠(yuǎn)程訪問

搜索了相關(guān)的資源,目前符合目標(biāo)的主要是以下兩種:

  • znc
  • thelounge

znc 比較古老,并且看起來配置比較復(fù)雜,成本較高

IRC隨時聊天24小時在線——容器部署thelounge

最后還是選擇了相對比較年輕的 thelounge

IRC隨時聊天24小時在線——容器部署thelounge

安裝配置

因?yàn)橐婚_始是在 Nas 上安裝,后續(xù)遷移到了軟路由,所以兩種安裝方式都發(fā)出來了

軟路由因?yàn)橐彩桥渲昧酥С?docker,所以遷移成本是比較低,對軟路由跑 docker 可以看之前的文章

Unraid 安裝

在 Unraid 上安裝還是比較簡單的,通過社區(qū)商店搜索就可以安裝了

IRC隨時聊天24小時在線——容器部署thelounge

有兩個版本,個人比較習(xí)慣使用 linuxserver 的,點(diǎn)擊安裝后,跳轉(zhuǎn)到 Unraid 的 docker 鏡像配置頁面

IRC隨時聊天24小時在線——容器部署thelounge

做了一個調(diào)整,將網(wǎng)絡(luò)類型改成 br0 并手動指定了 Fixed IP,原因如下:

  • 通過 br0 的方式,可以單獨(dú)從主路由可以管理的 IP,方便后續(xù)調(diào)整上網(wǎng)策略
  • 不需要經(jīng)過 Unraid 的 NAT 進(jìn)行處理,不受限與 Unraid

最后點(diǎn)擊應(yīng)用,就會拉取鏡像并啟動

Openwrt 安裝

先進(jìn)入 docker 頁面,點(diǎn)擊添加按鈕創(chuàng)建一個容器

IRC隨時聊天24小時在線——容器部署thelounge

點(diǎn)擊命令行,并輸入一下命令,解析CLI

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

這樣可以省去部分參數(shù)的填寫,接下來修改使用自定義網(wǎng)橋并分配一個空閑 ip 即可啟動

不了解自定義網(wǎng)橋可以看我之前發(fā)過的文章,作用就是實(shí)現(xiàn)與主路由同子網(wǎng)

IRC隨時聊天24小時在線——容器部署thelounge

提交之后會進(jìn)入已創(chuàng)建狀態(tài),還需要勾選后點(diǎn)擊啟動

IRC隨時聊天24小時在線——容器部署thelounge

這樣在部署了之后,就可以通過 10.0.0.52:9000 來訪問 thelounge 了

配置登陸

開啟認(rèn)證

該版本 thelounge 鏡像默認(rèn)會設(shè)置為 public,任意用戶知道網(wǎng)址就可以打開訪問,不需要登陸認(rèn)證。

而默認(rèn) public 是不支持設(shè)置自動登錄以及 24 小時在線,需要進(jìn)行調(diào)整。

對于 Unraid,在 Docker 管理頁面點(diǎn)擊 thelounge 圖標(biāo)并進(jìn)入 Console

IRC隨時聊天24小時在線——容器部署thelounge

在 Openwrt 上,就是點(diǎn)開容器后,通過控制臺連接進(jìn)去

IRC隨時聊天24小時在線——容器部署thelounge

進(jìn)入容器終端環(huán)境后,修改配置文件/config/config.js,將 public 改為 false

IRC隨時聊天24小時在線——容器部署thelounge

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

添加用戶

接下來需要進(jìn)入容器終端,通過命令行添加一個用戶,才能在 WebUI 上登陸

s6-setuidgid abc thelounge add root

下方是我在 unraid 上的操作,openwrt 的容器也是對應(yīng)進(jìn)入控制臺即可

輸入上述命令后會要求輸入密碼,以及咨詢是否將日志落盤:

IRC隨時聊天24小時在線——容器部署thelounge

添加完成之后,打開 thelounge 的 WebUI 入口,使用剛才添加的用戶登陸

IRC隨時聊天24小時在線——容器部署thelounge

登陸后,進(jìn)行一些基礎(chǔ)配置,點(diǎn)擊左下角的齒輪進(jìn)行配置頁面(以下僅供參考)

IRC隨時聊天24小時在線——容器部署thelounge

所有配置都是立即生效,不需要點(diǎn)擊保存

irc 掛機(jī)聊天

前面的步驟僅僅只是完成 irc 客戶端的配置,接下來才是真正登陸 irc 在線聊天

添加 irc 賬號

首先需要從你對應(yīng)的站點(diǎn)獲取到 irc 相關(guān)的登陸信息:

  • irc 服務(wù)端地址(域名及端口)
  • irc 用戶昵稱
  • irc 登陸密碼
  • irc 登陸認(rèn)證命令

然后就可以在 thelounge WebUI 點(diǎn)擊左下角的 加號 按鈕開始添加 IRC 會話,

IRC隨時聊天24小時在線——容器部署thelounge

最后點(diǎn)擊 CONNECT 按鈕開始登錄

IRC隨時聊天24小時在線——容器部署thelounge

然后就是按照站點(diǎn) irc 的認(rèn)證流程輸入對應(yīng)指令完整后續(xù)登錄步驟,進(jìn)入 IRC 頻道

IRC隨時聊天24小時在線——容器部署thelounge

至此,已經(jīng)完成服務(wù)端登錄 IRC 的操作了:

  • 將 thelounge 暴露公網(wǎng)后,就可以在任意設(shè)備上使用
  • 瀏覽器退出也不會影響 IRC,實(shí)現(xiàn) 24 小時在線

但是總有一些意外情況會導(dǎo)致 irc 掉線需要重新登陸,而重新登陸就又要走完整一遍流程,比較繁瑣,下一步配置就是快速重連。

配置快速重連

接下來就是配置重連自動認(rèn)證的流程,在 irc 站點(diǎn)右鍵,Edit this network...

IRC隨時聊天24小時在線——容器部署thelounge

此時,在 User preference 配置里面會多了一個 Commands 的選項(xiàng),

將站點(diǎn) irc 認(rèn)證指令填入,并且每個命令后面增加一個空行,最后點(diǎn)擊 **SAVE NETWORK **保存設(shè)置

IRC隨時聊天24小時在線——容器部署thelounge

至此,后續(xù)如果連接斷開,可以直接輸入 /connect 自動認(rèn)證連接,無需再手動輸入

寫在后面

目前這種方式,能夠?qū)崿F(xiàn)一個遠(yuǎn)程 irc 客戶端:

  • 可以保持 irc 在線以及遠(yuǎn)程訪問進(jìn)行 irc 聊天
  • 能夠有一個 24 小時在線的網(wǎng)絡(luò)環(huán)境

但是并不能避免因?yàn)槠渌麊栴}導(dǎo)致 irc 掉線,如果 xdm 有什么自動重連方案,也可以評論區(qū)分享,最后也多多點(diǎn)贊關(guān)注支持一下哇。

作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。