1 个不稳定版本

0.0.1 2021年9月22日

#11#rendezvous

MIT AND BSD-2-Clause

82KB
1.5K SLoC

p2p2

Github Workflows Docs.rs Crates.io

p2p2 是 p2p 库的继承者。我认为这样的继承是必要的,因为原始的 p2p 库试图在 Rust 1.0 之前的 Rust 代码中实现异步操作。要使用原始的 p2p 库,您需要使用 mio 实现自己的事件循环,这在现代 Rust 中相当不必要。此外,p2p 的一些依赖现在已不再维护,导致 p2p 无法使用 Rust 的现代(>1.48)版本编译。

此代码库(至少目前)部分是原始 p2p 的副本。许多接口相似,特别是加密部分几乎是一个完全的副本。

目标

p2p2 的目标与原始 p2p crate 的目标相同

此 crate 的目标是提供一种健壮且加密安全的 NAT 穿越机制,用于点对点连接。它假设已提供公开可达的 rendezvous 服务器。

服务器代码本身也包含在 crate 中,因此该 crate 可以用于部署服务器或用于点对点客户端通信,或者两者同时使用 - 例如,如果您在端口转发端点运行服务器,它将对外公开以供其他 rendezvous 使用,同时您可以选择正常的 NAT 穿越机制与其他对等方通信。

最低支持的 Rust 版本

Rust 1.47.0 及以上

许可证

本软件根据 MIT 和 BSD-2-Clause 许可证授权。还包括 maidsafe.net 的版权,该版权是此代码库选定部分的原版权所有者。

依赖项

~18–28MB
~183K SLoC