TopGit
Đánh giá repo GitHub

BitChat - Ứng dụng Nhắn tin Lưới: Đánh giá

permissionlesstech/bitchat
BTopGit review image for permissionlesstech/bitchat
Review by Topgit.dev for permissionlesstech/bitchat, with GitHub repository stats and README context.
Nhận định nhanh

Dùng BitChat nếu muốn ứng dụng nhắn tin lưới hoạt động khi Bluetooth là lựa chọn duy nhất của bạn — định tuyến lưới qua tới 7 chặng, không cần đăng ký, không máy chủ để cơ quan có thể yêu cầu nội dung. Bỏ qua nếu bạn cần ẩn danh tuyệt đối: lớp lưới gắn tin nhắn với mã định danh thiết bị cố định, và tin nhắn riêng qua Nostr dùng sơ đồ mã hóa độc quyền chỉ nói với các máy khách BitChat khác, không phải bất kỳ ứng dụng Nostr nào khác.

Sao
★ 33.5k
Fork
⑂ 5.3k
Ngôn ngữ
Swift
Giấy phép
Unlicense
Chủ đề
Mobile
Cập nhật
Jul 2026
Trang chủ
GitHub

Khi không có (hoặc không tin) cột sóng và Wi-Fi

Trạm phát sóng và Wi-Fi gặp sự cố hay không được tin cậy — tại cuộc biểu tình, vùng thảm họa, những nơi không có sóng — và hầu hết ứng dụng nhắn tin chỉ dừng hoạt động, hoặc hoạt động nhưng liên kết danh tính bạn với số điện thoại và máy chủ của công ty.

Chat mesh qua Bluetooth, dự phòng bằng Nostr

BitChat (permissionlesstech/bitchat) là ứng dụng nhắn tin lưới được viết bằng Swift cho iOS và macOS, kết hợp hai kênh vận chuyển: mạng lưới Bluetooth LE để nhắn tin địa phương khi ngoài kết nối, và giao thức Nostr để tiếp cận khi bạn có mạng. Tin nhắn được chuyển tiếp ngang hàng qua tới 7 chặng trong lưới, được mã hóa bằng Noise Protocol; không tạo tài khoản, không cần số điện thoại, không máy chủ công ty ở giữa.

Relay mesh 7 chặng và mã hóa Noise Protocol

  • Định tuyến kênh kép: thử lưới Bluetooth LE trước, chuyển sang Nostr tự động, với hàng đợi thông minh để tin nhắn không bị mất giữa chuyển tiếp
  • Chuyển tiếp lưới đa chặng lên tới 7 chặng, cho phép tin nhắn di chuyển giữa các nút vượt quá phạm vi Bluetooth trực tiếp
  • Mã hóa Noise Protocol trên lưới với bảo mật hướng tiến cho phiên trực tiếp; tin nhắn "lưu-rồi-chuyển" được niêm phong nhưng không có bảo mật hướng tiến, theo bản giấy trắng
  • Kênh geohash dựa trên vị trí qua relay Nostr (độ chi tiết khối/khu phố/thành phố/tỉnh/vùng) thay vì tọa độ GPS thô
  • Mã hóa tin nhắn riêng tùy chỉnh qua Nostr — sự kiện kind-1059 có cấu trúc v2-prefixed XChaCha20-Poly1305 riêng cho BitChat, không NIP-44, nên chỉ tương tác với các máy khách BitChat khác
  • Lệnh kiểu IRC (/slap, /msg, /who), nén LZ4, chế độ pin thích ứng, xóa dữ liệu bằng ba lần chạm

Bị đòi gỡ và giải pháp xác minh build bằng hash

BitChat nhận được sự chú ý đáng kể (30.106 sao GitHub, gần 4.700 lần sao chép) một phần vì những gì nó làm — nhắn tin lưới Bluetooth không tài khoản, dự phòng Nostr — và một phần vì những gì đã xảy ra với nó: README nói thẳng rằng kho lưu trữ đã phải chịu yêu cầu gỡ xuống, và bản sao không xác minh xuất hiện mỗi khi nó bị gỡ. Điều đó thúc đẩy dự án ghi lại xác minh bản dựng (bảng băm phát hành trong docs/VERIFYING-A-BUILD.md) cẩn thận hơn hầu hết các ứng dụng đơn nền tảng.

Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao

Biểu tình, vùng thảm họa và phối hợp không cần sóng

  • Phối hợp với những người gần đó khi dịch vụ di động bị gián đoạn hoặc được tránh cố ý — biểu tình, lễ hội, ứng phó thảm họa
  • Kênh công cộng giới hạn vị trí cho một khu phố hoặc thành phố mà không phát sóng tọa độ GPS chính xác
  • Trò chuyện nhóm tạm thời, không cần đăng ký nơi bạn không muốn số điện thoại liên kết với danh tính của bạn
  • Tin nhắn tiếp tục chuyển tiếp qua lưới điện thoại thay vì cần một kết nối liên tục đến máy chủ

Cài từ App Store hoặc build từ source

Hai cách theo README: lấy nó từ App Store (bitchat.free) để bản dựng ký, hoặc dựng từ mã nguồn. Đối với bản dựng từ mã nguồn, mở bitchat.xcodeproj trực tiếp trong Xcode (sao chép Configs/Local.xcconfig.example trước nếu bạn muốn bản dựng ký), hoặc cài đặt `just` (brew install just) và chạy `just check` rồi `just run` — repo ghi chú `just` cố ý không bao giờ vá mã nguồn, dự án, hoặc tệp cấu hình của bạn. Nếu bạn dựng từ nơi nào khác ngoài repo chính thức hoặc App Store, README khuyên bạn xác minh tệp nhị phân so với bảng băm phát hành trong docs/VERIFYING-A-BUILD.md trước khi tin tưởng.

Lệnh kiểu IRC và kênh theo geohash

Khi chạy, BitChat hoạt động như máy khách IRC: /msg và /who hoạt động như mong đợi, /slap để vui, và kênh có thể được giới hạn theo bán kính vị trí geohash thay vì tên chủ đề. Tin nhắn tự động định tuyến đến các nút gần qua Bluetooth và chuyển tiếp qua tới 7 thiết bị để mở rộng phạm vi; khi không có nút lưới nào trong tầm, nó chuyển sang Nostr sử dụng một trong 290+ relay. Cử chỉ ba lần chạm xóa dữ liệu địa phương ngay lập tức. Đối với phát triển, bài kiểm tra chạy bằng `swift test` hoặc `just test-ios`, và chuỗi giao diện người dùng được lưu trong tệp `.xcstrings` cho bất kỳ ai muốn thêm bản dịch.

Những gì thực sự chạy được khi offline

  • Không tài khoản, số điện thoại, hay máy chủ trung tâm — tin nhắn định tuyến ngang hàng hoặc qua relay Nostr mà bạn không phải tin tưởng
  • Thực sự hoạt động ngoài kết nối: lưới Bluetooth với chuyển tiếp 7 chặng che phủ những khoảng trống phủ sóng thực tế, không chỉ là lý do quảng cáo
  • Bảo mật hướng tiến trên phiên lưới trực tiếp qua Noise Protocol
  • Xem trọng tính toàn vẹn bản dựng — tài liệu xác minh băm theo phát hành tồn tại vì dự án phải xử lý các bản sao do yêu cầu gỡ xuống
  • Ứng dụng Swift gốc cho iOS/macOS thay vì trình bao bọc đa nền tảng, vì vậy nó hoạt động như ứng dụng iOS bình thường thay vì chạy trong webview

Không ẩn danh như 'không cần đăng ký' nghe có vẻ

  • Chỉ iOS/macOS — codebase Swift, không có bản dựng Android hoặc desktop Linux/Windows, vì vậy trò chuyện lưới chỉ hoạt động nếu mọi người trong nhóm đều dùng phần cứng Apple
  • Tin nhắn "thư" lưu-rồi-chuyển không nhận bảo mật hướng tiến, chỉ phiên lưới trực tiếp mới có, theo bản giấy trắng của BitChat
  • Danh tính lưới không ẩn danh: bản giấy trắng thừa nhận một mã định danh thiết bị cố định được suy ra từ khóa danh tính của bạn, ngay cả khi khóa geohash thay đổi
  • Tin nhắn riêng qua Nostr sử dụng cấu trúc v2 XChaCha20-Poly1305 độc quyền thay vì NIP-44, vì vậy chúng không tương tác với bất kỳ máy khách Nostr nào khác — bạn bị khóa vào BitChat ở cả hai đầu
  • Repo đã phải đối mặt với yêu cầu gỡ xuống, và cảnh báo riêng của README về các bản sao không thể xác minh có nghĩa là bạn cần thực sự kiểm tra bảng băm thay vì lấy bất kỳ bản dựng bitchat nào bạn tìm thấy trực tuyến

SimpleX Chat, Briar, Meshtastic

simplex-chatBriarMeshtastic

BitChat thực sự dành cho ai

Nhà phát triển và người dùng coi trọng quyền riêng tư trên iPhone hoặc Mac muốn ví dụ làm việc về ứng dụng nhắn tin lưới Bluetooth có dự phòng Nostr, và sẵn sàng đọc những cảnh báo quyền riêng tư của bản giấy trắng thay vì giả định 'không tài khoản' nghĩa là 'hoàn toàn ẩn danh'. Bỏ qua nếu nhóm của bạn không phải ai cũng dùng thiết bị Apple, hoặc nếu bạn cần tin nhắn tương tác với hệ sinh thái Nostr rộng hơn thay vì chỉ các máy khách BitChat khác.

Giải đáp thắc mắc về BitChat

BitChat có an toàn để sử dụng cho tin nhắn riêng tư không?

Phía lưới nhận được mã hóa Noise Protocol với bảo mật hướng tiến khi bạn đang trong phiên trực tiếp, nhưng tin nhắn lưu-rồi-chuyển chỉ được niêm phong, không bảo mật hướng tiến, và bản giấy trắng xác định mã định danh thiết bị cố định là rủi ro hủy ẩn danh thực tế, mặc dù hẹp.

BitChat có yêu cầu kết nối Bluetooth mọi lúc không?

Không. Nó thử lưới Bluetooth LE trước và tự động chuyển sang giao thức Nostr qua một trong 290+ relay khi không có nút lưới nào trong tầm, vì vậy nó vẫn hoạt động với kết nối internet bình thường.

BitChat có thể nói chuyện với các ứng dụng Nostr khác không?

Chỉ cho kênh geohash công cộng của nó, chúng sử dụng relay Nostr tiêu chuẩn. Tin nhắn riêng sử dụng sơ đồ mã hóa riêng của BitChat thay vì NIP-44, vì vậy chúng chỉ hoạt động giữa các máy khách BitChat.

BitChat có sẵn cho Android không?

Không, dựa trên repo này — đó là codebase Swift chỉ nhắm tới iOS và macOS, không có bản dựng Android được đề cập.

Làm sao tôi biết bản dựng BitChat không phải giả mạo?

Cài đặt từ App Store (bitchat.free) hoặc dựng từ repo mã nguồn đã xác minh, sau đó kiểm tra tệp nhị phân so với bảng băm phát hành trong docs/VERIFYING-A-BUILD.md — dự án thêm điều này cụ thể vì nó đã phải đối mặt với yêu cầu gỡ xuống và các bản sao không xác minh xuất hiện và xưng là BitChat.

Repo liên quan

Nguồn & ghi công

Dựa trên kho lưu trữ GitHub permissionlesstech/bitchat (30.106 sao, 4.681 lần sao chép, Unlicense/public domain).

Dữ liệu GitHub · đồng bộ lần cuối 27 thg 7, 2026Đánh giá bởi Henry
Về TopGit