Unofficial

BitchMyQnap

BitchMyQnap:在您的 QNAP 上使用 IRC

用戶端、機器人、含服務的伺服器、bouncer 和 FTP。

BitchMyQnap 在 NAS 上提供整套 IRC 環境:用戶端 irssi 和 BitchX、搭配 Tcl 的 Eggdrop 機器人、搭配 Anope 服務的 UnrealIRCd 伺服器、ZNC bouncer 和 Pure-FTPd。

套件包含這些程式。Bucket & Code Server IDE 中的編輯器專案另外提供精靈,它會詢問名稱和您的密碼、寫入設定檔,並啟動一個小型網路。

App Center 中:(example) BitchMyQnap · Intel 和 AMD (x86_64) · QTS 6.0 或 QuTS hero 6.0 以上版本 · freeware

NAS 上執行中的網路

./irc.sh start

unrealircd: started

anope: started

znc: started

eggdrop: started

ftp: started

./irc.sh status

unrealircd: running (pid 10590)

anope: running (pid 10619)

znc: running (pid 10651)

eggdrop: running (pid 10683)

ftp: running (pid 10713)

內含項目

配方清單列出這些程式,建置時會加入它們需要的函式庫。

用戶端

irssi
終端機 IRC 用戶端,支援 TLS
BitchX
經典終端機用戶端,支援 TLS

機器人

eggdrop
Eggdrop 1.10,IRC 機器人
tclsh
Tcl 8.6,機器人的指令碼語言

伺服器與服務

unrealircd
UnrealIRCd 6,IRC 伺服器,含 unrealircdctl
services
Anope 2.0:NickServ、ChanServ、OperServ 等

Bouncer

znc
ZNC 1.9,含網頁介面;不含 Perl、Python 或 Tcl 模組

FTP

pure-ftpd
支援 TLS 的 Pure-FTPd
pure-pw
自己的使用者資料庫

工具

busybox
chpst 以各程式自己的使用者啟動它們
screen
關閉終端機後仍讓用戶端繼續執行

實際畫面

QNAP NAS 上小型測試網路的實際畫面:精靈的頻道、它的機器人和兩個用戶端。

irssi:一位使用者加入頻道 bitchmyqnap,其中有暱稱 sysop 和 BitchBot
irssi 透過 TLS 進入精靈的頻道,裡面有操作員和機器人。
BitchX:伺服器統計資料與加入頻道 bitchmyqnap
同一頻道中的 BitchX。

適合對象

您想要自己的聊天室

UnrealIRCd 和 Anope 讓您在自己營運的伺服器上擁有註冊的暱稱和頻道,供朋友或團隊使用。

您整天都在 IRC 上

電腦睡眠時 ZNC 仍保持連線,irssi 在終端機關閉後也會繼續在 screen 中執行。

您喜歡機器人

Eggdrop 待在您的頻道中,您可以用 Tcl 指令碼擴充它。

安裝

  1. 將本站儲存庫新增至 App Center 一次:三個步驟。
  2. 在儲存庫清單中找到 (example) BitchMyQnap,然後按 安裝。
  3. 在 控制台 › 網路&檔案服務 › Telnet / SSH 中開啟 SSH。

啟動

BitchMyQnap 沒有自己的視窗,要從終端機使用。以 admin 透過 SSH 登入,然後啟動用戶端。若要架設自己的網路,請使用下方的專案。

ssh admin@192.0.2.10                      # 您的 NAS 位址
irssi -c irc.example.com -p 6697 --tls    # 任何透過 TLS 連線的 IRC 伺服器

三個命令架起網路

套件包含這些程式,精靈和執行器則留在編輯器專案 BitchMyQnap 中,因此這部分需要 Bucket & Code。依下方說明建置並啟用應用程式,然後在編輯器終端機中執行:

make setup       # 精靈:名稱、您的密碼、網路資料夾
make start       # 啟動網路的程式
make irc-status  # 哪些正在執行

精靈會詢問網路名稱、伺服器和服務的名稱、頻道、您的暱稱、機器人的暱稱,以及是否設定 FTP。您的密碼只以雜湊形式保存。UnrealIRCd 與 Anope 之間的連結密碼和 cloak 金鑰都是隨機產生。

每個程式都以使用者 65534 執行,而且只有在 /proc 顯示程式自己的二進位檔正以該使用者執行時,irc.sh 才會向它傳送訊號。

執行中網路的連接埠

連接埠監聽者
6667UnrealIRCd,IRC,所有位址
6697UnrealIRCd,透過 TLS 的 IRC,所有位址
9669UnrealIRCd,服務連結,僅 127.0.0.1
9667ZNC,透過 TLS 的 IRC 和網頁介面,所有位址
9021, 9022-9031Pure-FTPd,控制與被動連接埠,所有位址

啟動之後

  • 將用戶端連線到連接埠 6697,再用您的暱稱和密碼執行 /oper,就會成為 IRC 操作員。
  • /msg NickServ REGISTER 會註冊您的暱稱。Anope 會將該暱稱設為服務的 root。
  • 用 /msg 傳 hello 給機器人:第一個說 hello 的人會成為它的擁有者。
  • ZNC 的網頁介面位於連接埠 9667,使用 HTTPS,IRC 用戶端則以 TLS 連線到同一個連接埠。

須知

  • UnrealIRCd、ZNC 和 Eggdrop 拒絕以 root 執行。若只用套件啟動它們,您需要自行撰寫設定檔並選擇使用者。
  • 網路的程式會在 NAS 重新啟動時停止。make start 會再次啟動它們。
  • 在 QuTS hero 上,共用資料夾的 ACL 可能讓其中的資料夾對使用者 65534 關閉。精靈會在最後檢查,如果資料夾被關閉,就會指出它。應用程式自身磁碟區上的資料夾可以正常使用。
  • BitchX 在每行開頭放置兩個 8 位元標記,UTF-8 終端機無法繪製。上方的圖片將它們留白。

隨時修改,重新建置

BitchMyQnap 是 Bucket & Code Server IDE 的範例,這是我們為 QNAP 提供的免費開發環境。它會在您自己的 NAS 上從原始碼編譯每個程式,並將結果打包成 QPKG。

從面板操作

  1. 在 Bucket & Code 中開啟 應用程式,再開啟 範例 分頁。如果還沒有 Builder 環境,請新增 Ubuntu 24.04 builder (full)。
  2. 在 BitchMyQnap (geek set 3) 上按 使用此範例。應用程式會連同配方一起出現,但尚未建置任何內容。
  3. 按 建置,再按 啟用。安裝 QDK 工具鏈後,匯出 就能產生 QPKG。

從終端機操作

編輯器專案 BitchMyQnap 在 recipes.txt 中保存相同的清單。刪除一行或從配方庫新增配方,然後在編輯器終端機中執行:

make app        # 從 recipes.txt 製作應用程式
make build      # 建置並追蹤工作
make activate   # /usr/app/BitchMyQnap 現在指向此建置
make qpkg       # 匯出 QPKG (需要 QDK 工具鏈)

QPKG 包含應用程式的程式。setup.sh 和 irc.sh 留在專案中。

Bucket & Code App Builder 的新應用程式頁面 觀看在 Bucket & Code 中的操作 Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) YouTube 影片 8 分鐘

相關頁面