[aka.民办基站]想制作一个蓝牙/wifi+内网的mesh+p2p+网关多协议加密聊天软件,在无网络环境使用

Wmz1024 2026-07-11 20:40 1

统一 Transport Layer:蓝牙、Wi-Fi Direct、LAN、Internet、LoRa 等都作为可插拔传输层。

自动协议切换:同一条消息可以根据环境自动选择或切换传输路径。

Gateway Bridge:Linux/Windows 服务器可以作为多协议桥接节点,把不同网络连接起来。

Offline First:即使完全断网,局部网络仍能正常通信;恢复连接后自动同步。

P2P + Mesh + Relay:既支持直接通信,也支持多跳转发和固定中继。 ^-^


有没有搞头

最新回复 (9)
  • yunzaixi 07-11 20:44
    1

    没用

  • xiaomaomao888 07-11 20:48
    2

    大概是 看不懂

  • krililrify 07-11 20:50
    3

    属于折腾系列,因为很少使用场景,你可以说一个在什么样的情况下会需要这种通讯方式吗?

  • Wmz1024 楼主 07-11 20:53
    4

    @krililrify #3 无网环境

    目前好像就只有航旅纵横有这种功能(内网聊天)

    目前有同类软件是bitchat

    “即使在互联网中断、自然灾害、xx活动或网络连接受限的地区,网络也能保持正常运行。”


    想做类似的

  • Wmz1024 楼主 07-11 20:54
    5

    @krililrify #3 相较于其他p2p 增加中继有线传输更像是民办基站🤔

  • RETN 07-11 20:56
    6

    电池:

    其实 Vivo 某些型号有个传呼机功能,在大城市同城还是有不少人的

  • incognito 07-11 21:05
    7

    蓝牙不就是隔空传送吗?

  • markfeng 07-11 23:46
    8

    一句话判断


    这不是「又一个 IM」,而是 多传输统一的消息路由层(类似「应用层的 TCP/IP + 网关」)。

    方向成立,赛道也有人在做;真正拉开差距的不是功能清单,而是:路由可靠性、冲突同步、电池/带宽成本、以及有没有垂直场景能付账。


    ───


    为什么有搞头


    ┌────────────────────┬──────────┬──────────────────────────────────────────────────┐

    │ 能力 │ 真实需求 │ 说明 │

    ├────────────────────┼──────────┼──────────────────────────────────────────────────┤

    │ 可插拔 Transport │ 强 │ 终端环境碎片化严重,单一通道撑不住 │

    ├────────────────────┼──────────┼──────────────────────────────────────────────────┤

    │ 自动选路/切换 │ 中高 │ 用户要的是「发出去了」,不是「选蓝牙还是 Wi-Fi」 │

    ├────────────────────┼──────────┼──────────────────────────────────────────────────┤

    │ Gateway Bridge │ 很强 │ 这是把局部网拼成大网的关键,也是商业化落点 │

    ├────────────────────┼──────────┼──────────────────────────────────────────────────┤

    │ Offline First │ 强 │ 灾害、工厂、矿区、舰船、偏远、审查环境都需要 │

    ├────────────────────┼──────────┼──────────────────────────────────────────────────┤

    │ P2P + Mesh + Relay │ 必要 │ 没有多跳和中继,覆盖永远不够 │

    └────────────────────┴──────────┴──────────────────────────────────────────────────┘


    结构性机会:

    互联网把「可达」当默认;你把「可达」当可选。

    在断网、弱网、跨协议(蓝牙 LoRa 局域网 公网)这些场景,现有 WhatsApp / 微信几乎交白卷。


    ───


    竞品与「已有答案」


    不要从零发明一切,要对标、借鉴、差异化:


    ┌───────────────────┬─────────────────────────┬───────────────────────────────┐

    │ 项目 │ 强项 │ 短板(你可切入) │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ libp2p │ 多 transport、NAT、发现 │ 偏开发者基建,产品层薄 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Matrix + bridges │ 联邦、桥接 │ 在线假设重,弱网/本地 mesh 弱 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Briar │ 离线、蓝牙/Wi-Fi │ 场景偏审查,通用性一般 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Meshtastic │ LoRa mesh │ 低带宽、应用层简陋 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Yggdrasil / cjdns │ 加密 overlay │ 不覆盖蓝牙/LoRa 等异构层 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Scuttlebutt (SSB) │ Offline-first 同步 │ 延迟高、身份与存储模型特殊 │

    ├───────────────────┼─────────────────────────┼───────────────────────────────┤

    │ Syncthing 思路 │ 断网同步哲学 │ 文件向,非消息路由 │

    └───────────────────┴─────────────────────────┴───────────────────────────────┘


    可做差异化的点:

    统一消息抽象 + 多物理层 + 网关桥 + 自动选路 + 断网同步,做成一条产品链路,而不是五个独立项目。


    ───


    真正难的部分(决定成败)



    1. 统一消息模型,而不是统一 socket


    各 transport 差异巨大:


    • 蓝牙:短距、小 MTU、连接贵

    • Wi-Fi Direct / LAN:中带宽、发现复杂

    • Internet:NAT、防火墙、可达性

    • LoRa:极低带宽、高延迟、payload 往往几十~两百字节级


    不能假装都是「可靠字节流」。更稳的是:


    App

    → Envelope(身份 / 优先级 / 过期 / 分片 / 回执策略)

    → Router(选路 / 多跳 / 降级)

    → Transport Adapter(蓝牙 / Wi-Fi / LAN / 公网 / LoRa)


    Envelope 必须可分片、可压缩、可降级(LoRa 只传关键字段 + 哈希,全文走后续高带宽路径)。



    1. 自动协议切换 ≠ 随便换 channel


    要解决的是 路径选择问题,不是 if-else 列表:


    • 链路代价:延迟、功耗、成功率、费用

    • 消息属性:大小、紧急度、是否可丢、是否需确认

    • 拓扑:直接可达 / 多跳 / 经 Gateway

    • 安全:该路径是否满足端到端与元数据要求


    「同一条消息自动换路径」可以,但要定义清楚:是 重试换路、分片分流,还是 多路径冗余发送(耗电/费流量)。



    1. Gateway Bridge 是产品核心,也是运维雷区


    Linux/Windows 做多协议桥很正确,实际要处理:


    • 地址空间翻译(蓝牙地址 ≠ IP ≠ LoRa node id)

    • 信任边界(谁能桥、桥到哪、会不会变成后门)

    • 存储转发容量与 GC

    • 时钟与因果序(离线很久再上线)

    • 桥节点本身成为 单点与审查/攻击面


    建议定位: Gateway = 可选的超级 peer(store-and-forward + 协议转换),不是必须中心服务器。



    1. Offline First 的本质是 CRDT / 同步协议


    「断网能聊、上线同步」听起来简单,工程上是:


    • 消息 ID、去重、乱序

    • 群组/会话状态合并

    • 已读、撤回、编辑的冲突

    • 磁盘与带宽配额(不能无限攒)


    至少要有:append-only log + 幂等投递 + 会话级因果/向量时钟(或简化版 Lamport)。

    全量 CRDT 可以后置,MVP 先保证「不丢、不重复、可最终一致」。



    1. Mesh 扩展性是物理限制


    多跳 mesh 在移动设备上:


    • 跳数一多,成功率断崖

    • 广播风暴、路由表膨胀

    • 手机电池扛不住「永远在扫、永远在转」


    务实拓扑:

    短距密集用 P2P;区域用少量固定 Relay/Gateway;远程走 Internet;LoRa 只走「控制面 + 极短消息」。

    不要一上来做「全球自组织无限 mesh」。

  • ysbjie7 07-11 23:55
    9

    技术上没问题,但实际上如果有人用来搞事的话,很快就会有对应的硬件探针出来(感觉用esp32就能很快做出来),然后牵连所有正常用户

* 帖子来源NodeSeek
返回