寫在前面
互聯(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 小時在線
于是就有了本文了,大綱如下:
軟件選型
我們的目標(biāo)是,在 Nas 或者軟路由上部署 irc 客戶端,并且客戶端需要支持 web 遠(yuǎn)程訪問
搜索了相關(guān)的資源,目前符合目標(biāo)的主要是以下兩種:
- znc
- thelounge
znc 比較古老,并且看起來配置比較復(fù)雜,成本較高
最后還是選擇了相對比較年輕的 thelounge
安裝配置
因?yàn)橐婚_始是在 Nas 上安裝,后續(xù)遷移到了軟路由,所以兩種安裝方式都發(fā)出來了
軟路由因?yàn)橐彩桥渲昧酥С?docker,所以遷移成本是比較低,對軟路由跑 docker 可以看之前的文章
Unraid 安裝
在 Unraid 上安裝還是比較簡單的,通過社區(qū)商店搜索就可以安裝了
有兩個版本,個人比較習(xí)慣使用 linuxserver 的,點(diǎn)擊安裝后,跳轉(zhuǎn)到 Unraid 的 docker 鏡像配置頁面
做了一個調(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)建一個容器
點(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)
提交之后會進(jìn)入已創(chuàng)建狀態(tài),還需要勾選后點(diǎn)擊啟動
這樣在部署了之后,就可以通過 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
在 Openwrt 上,就是點(diǎn)開容器后,通過控制臺連接進(jìn)去
進(jìn)入容器終端環(huán)境后,修改配置文件/config/config.js,將 public 改為 false
修改之后,重啟一下容器生效
添加用戶
接下來需要進(jìn)入容器終端,通過命令行添加一個用戶,才能在 WebUI 上登陸
s6-setuidgid abc thelounge add root
下方是我在 unraid 上的操作,openwrt 的容器也是對應(yīng)進(jìn)入控制臺即可
輸入上述命令后會要求輸入密碼,以及咨詢是否將日志落盤:
添加完成之后,打開 thelounge 的 WebUI 入口,使用剛才添加的用戶登陸
登陸后,進(jìn)行一些基礎(chǔ)配置,點(diǎn)擊左下角的齒輪進(jìn)行配置頁面(以下僅供參考)
所有配置都是立即生效,不需要點(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 會話,
最后點(diǎn)擊 CONNECT 按鈕開始登錄
然后就是按照站點(diǎn) irc 的認(rèn)證流程輸入對應(yīng)指令完整后續(xù)登錄步驟,進(jìn)入 IRC 頻道
至此,已經(jīng)完成服務(wù)端登錄 IRC 的操作了:
- 將 thelounge 暴露公網(wǎng)后,就可以在任意設(shè)備上使用
- 瀏覽器退出也不會影響 IRC,實(shí)現(xiàn) 24 小時在線
但是總有一些意外情況會導(dǎo)致 irc 掉線需要重新登陸,而重新登陸就又要走完整一遍流程,比較繁瑣,下一步配置就是快速重連。
配置快速重連
接下來就是配置重連自動認(rèn)證的流程,在 irc 站點(diǎn)右鍵,Edit this network...
此時,在 User preference 配置里面會多了一個 Commands 的選項(xiàng),
將站點(diǎn) irc 認(rèn)證指令填入,并且每個命令后面增加一個空行,最后點(diǎn)擊 **SAVE NETWORK **保存設(shè)置
至此,后續(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),歡迎值友理性交流,和諧討論~
,