← 所有精選

GitHub Trending 精選

每日一個爆紅開源專案

日榜 #12026-07-27

permissionlesstech/bitchat

bluetooth mesh chat, IRC vibes

★ 30.3k stars · ▲ +1,166 今日 · 🔶 Swift · 📜 Unlicense在 GitHub 開啟 ↗
bluetoothbluetooth-ledecentralizede2e-encryptioniosmacosmesh-networkmessagingnostrswift

這是什麼

bitchat 是一款用 Swift 寫成的去中心化訊息 App,定位很清楚:在沒有帳號、電話號碼與中央伺服器的前提下,讓使用者可以建立像 IRC 一樣的「旁支群聊」。它的核心不是單一通訊協定,而是 雙傳輸架構:近距離時走 Bluetooth LE mesh,支援自動發現、點對點與多跳轉發;需要跨地域時,則把 Nostr 當作網際網路 relay 層,提供全球可達與基於 geohash 的地理頻道。README 也特別提醒,雖然它強調隱私,但 mesh 仍會使用由身份金鑰衍生的持久裝置識別,附近無線電可觀察到的 metadata 需要參考 whitepaper 理解。

為什麼上榜

這個專案今日以 30,254 stars、單日新增 1,166 stars 衝上日榜,熱點來自兩個方向。第一,它把「離線 mesh」與「網際網路 relay」放進同一個聊天體驗,當 Bluetooth 可用時優先走本地連線,不可用時再 fallback 到 Nostr,這比單純離線聊天或單純去中心化社群工具更完整。第二,README 對「可信安裝」講得很重:建議從 App Store 安裝,或自行驗證 source 與 release hash manifest;並明說此 repo 曾遭遇 takedown demands,因此不可驗證的 mirror 風險更高。這讓它不只是酷炫的通訊 App,也帶有一點抗審查與供應鏈信任議題。

適合誰,可以拿來做什麼

bitchat 適合想研究 Bluetooth mesh 訊息路由、Nostr relay 應用、或隱私通訊 UX 的開發者;一般使用者若只想要帳號制聊天,未必是它的目標族群。README 明列 mesh #bluetooth 可用於離線通訊、抗災、偏遠地區、抗議現場等情境;location channels 則可把 geohash 精度對應到 block、neighborhood、city、province、region 等地理範圍,用於在地活動與社群討論。若你在做 iOS/macOS 原生 App、低功耗藍牙、或去中心化 relay 的產品原型,它提供了相當完整的技術參考。

上手

README 建議優先從 App Store 安裝;若要從原始碼建立可信版本,可用 Xcode 或 just。簽名的裝置 build 需要建立本機設定並換成自己的 Apple Developer Team ID:

open bitchat.xcodeproj
cp Configs/Local.xcconfig.example Configs/Local.xcconfig

常用檢查包括 macOS debug build、SwiftPM 測試與 iOS simulator 測試:

xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" \
  -configuration Debug CODE_SIGNING_ALLOWED=NO build
swift test

若使用 just,README 提供:

brew install just
just check
just run

README 重點摘要