23 个版本
0.10.8 | 2024 年 3 月 19 日 |
---|---|
0.10.7 | 2023 年 8 月 21 日 |
0.10.6 | 2023 年 7 月 21 日 |
0.10.3 | 2023 年 2 月 1 日 |
0.1.0 | 2020 年 6 月 11 日 |
#12 在 #物联网设备
每月 78 次下载
在 3 个 crate 中使用 (通过 tdn)
200KB
4.5K SLoC
Chamomile
在 P2P 网络上构建健壮稳定的连接
特性
- 支持在 P2P 网络上的两个节点之间构建健壮稳定的连接。
- 支持无需许可的网络。
- 支持授权网络(分布式网络)。
- 基于 DHT 和中继连接。
- 多种传输方式:QUIC(默认)/ TCP / UDP 基础协议。
- 同一运行时连接多种传输方式。
简单测试。
- A:
cargo run --example permissionless 127.0.0.1:8000
- B:
cargo run --example permissionless 127.0.0.1:8001 127.0.0.1:8000
- C:
cargo run --example permissionless 127.0.0.1:8002 127.0.0.1:8000
如果不支持 127.0.0.1
绑定,您可以更改为 0.0.0.0
并再次尝试。
中继测试。
- A:
cargo run --example relay 192.168.xx.xx:8000
- 此 IP 是您的局域网地址,它将执行中继工作。
- B:
cargo run --example relay 127.0.0.1:8001 192.168.xx.xx:8000
- 启动等待通过中继稳定连接。
- C:
cargo run --example relay 127.0.0.1:8002 192.168.xx.xx:8000 XX..
- XX.. 是上面 B 网络的
peer id
将连接到它。 - 如果将B和C修改为
127.0.0.1
改为0.0.0.0
,握手成功后它们将自动连接,不再需要中继。
- XX.. 是上面 B 网络的
设计点
- 手机、物联网设备、PC和服务器是第一类公民
- 能够适应复杂网络环境的传输和穿透能力
- 支持弹跳功能,与其他节点建立虚拟连接,构建虚拟DHT
- 加密传输和安全DHT保护
- 支持局域网下所有互联和单中心连接,也可以支持公共网络环境中的DHT
- 根据连接数和网络环境自动切换连接
- 如果Alice使用QUIC,Bob使用TCP,他们仍然可以相互连接和通信。
更多信息,请访问
- 网站:https://cympletech.com
- Twitter:https://twitter.com/cympletech
- Discord:https://discord.gg/UfFjp6Kaj4
- E-mail:[email protected]
许可证
本项目采用以下任一许可证
- Apache License,版本2.0,(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
- 反战许可证(LICENSE-AW或https://github.com/sunhuachuang/AW-License)
任选其一。
依赖项
~22–33MB
~537K SLoC