程式忍者PGNinja

Hacker News

Parley 用標準 IRC 打造聯邦化去中心化聊天系統

· 開源專案 Parley 讓聊天伺服器像電子郵件一樣互相聯邦通訊,使用者可用 irssi、WeeChat 等既有 IRC 客戶端直接連線使用。

Parley 是由 James Mills(暱稱 prologic)主導開發的開源專案,目標是打造一套聯邦化、去中心化的聊天系統。它的核心構想是讓每個網域自行架設實例,使用者身分如同電子郵件地址,例如 alice@foo.com,可以跨實例互相通訊,不必依賴單一中央伺服器。

Parley 前端使用標準 IRC 協定,能直接搭配 irssi、WeeChat 等現有客戶端使用,不需額外安裝插件;不同實例之間則透過附帶 Ed25519 簽章的 HTTPS 請求互相聯邦,並以 DNS SRV 記錄(_parley._tcp.<domain>)自動發現對方、建立連線。伺服器端以 Go 語言撰寫(佔 93.9%),資料儲存在 SQLite,並支援 IRCv3 的 server-time、message-tags 等擴充功能。

頻道分為跨實例同步的全域頻道與僅限本機的本地頻道,聊天紀錄可搜尋且能在伺服器重啟後保留,並內建每秒一則的訊息節流機制防止濫用。專案目前版本為 v0.5.0,已加入圖片、表情反應與已讀標記等功能,作者形容目前狀態是『能端對端運作、但尚未強化過的概念驗證』,採用 MIT 授權釋出原始碼。

對正在學程式的孩子來說,Parley 是觀察『聯邦式架構』的好例子,也就是像 Mastodon、Email 那樣讓不同伺服器互相溝通的設計方式,而且它是建立在孩子們可能已經聽過的 IRC 通訊協定之上。有興趣的青少年也可以直接閱讀原始碼,了解一個真實的 Go 語言開源專案是如何組織測試與聯邦通訊邏輯的。

開源聊天軟體網路協定Go

其他新聞