86 个版本
使用旧的 Rust 2015
0.32.1 | 2019年6月4日 |
---|---|
0.31.0 | 2018年8月24日 |
0.30.0 | 2017年12月26日 |
0.28.1 | 2017年9月14日 |
0.2.2 | 2015年7月31日 |
#39 in #nat
905 每月下载量
用于 10 个crate (2 个直接)
410KB
5K SLoC
Crust
使用Rust和NAT穿越实现可靠的对等网络连接。任何无服务器、去中心化项目的必需库之一。
包 | 文档 | Linux/OS X | Windows | 问题 |
---|---|---|---|---|
MaidSafe网站 | SAFE开发者论坛 | SAFE网络论坛 |
---|
概述
Crust是一个针对对等连接和数据传输优化的低级别网络库。它实现了连接两个对等节点并安全、可靠地交换消息的原始功能。它支持多种协议(UDP和TCP打洞)并且是加密安全的——所有通信,从握手消息开始,都是加密的。它还提供了其他安全功能,如随机化端口,用于防止针对特定已知端口进行DoS攻击。Crust实现了多种NAT穿越技术,如打洞和使用IGD。
即将推出的功能/优势
多协议扩展
除了现有的TCP & UDP打洞协议外,Crust很快将包括TCP-direct并引入µTP,它包装UDP并添加可靠性、拥塞控制和有序交付,以创建更健壮和更好的范例。支持多种协议意味着如果防火墙/路由器不支持特定协议,则网络切换到另一个协议以建立连接。如果防火墙/路由器支持所有协议,则Crust选择第一个成功建立连接的协议。
安全序列化
网络自动加密传输给它的所有内容。通过安全序列化,我们消除了中间人攻击,因为网络上的所有内容在每个网络跳转处都是加密的。此外,每个节点对数据包进行签名提供了不可否认性,因为发送者不能否认他们签发了该数据包。
引导缓存
Bootstrap缓存增强了使用创世节点(硬编码的地址)进行初始库房检测的概念,通过动态创建一个无需打洞即可直接到达的节点列表。该列表在节点连接/断开网络时进行追加和修剪,因此始终保持最新。
许可证
此Crust库根据您的选择,采用修改后的BSD许可证(LICENSE-BSD)或MIT许可证(LICENSE-MIT)。
贡献
SAFE网络中的版权归其贡献者所有。不需要将版权转让给本项目即可进行贡献。
依赖项
~16MB
~301K SLoC