1个不稳定版本
0.1.0 | 2020年10月7日 |
---|
300 在 多媒体 中
每月 35次下载
用于 2 个crate(通过 tox)
31KB
400 行
Tox
这个库是Rust中toxcore的实现 - 一个基于DHT的、分布式、加密、易于使用的P2P网络。
参考
Tox参考 应用于在Rust中实现toxcore。 参考源仓库。
如果现有的文档看起来不完整,或者不够清晰,请在参考仓库中填写问题/拉取请求。
贡献
...是受欢迎的。 😄 更多信息,请查看 CONTRIBUTING.md。
构建
相对简单。首先,安装Rust >= 1.65和一个C编译器(Windows上的Visual Studio构建工具,其他平台上的GCC或Clang)。
然后你可以使用以下命令构建调试版本:
cargo build
要运行测试,使用
cargo test
要构建文档并在浏览器中打开,使用
cargo doc --open
使用clippy
要检查clippy警告(linting),你需要带有clippy-preview
组件的nightly Rust。
要检查
cargo clippy --all
要使用测试检查
cargo clippy --all --tests
目标
- 改进Rust中的toxcore实现
- Rust API
- 文档
- 测试
- 更多
进度
一个完全用Rust编写的tox-node,带有DHT服务器和TCP中继,可以在这里找到。
目前我们正在致力于客户端部分。
作者
zetox 由 Zetok Zalbavar (zetok/openmailbox/org) 创建并已被tox-rs团队吸收。
tox-rs 项目得到了许多用户的贡献。请参阅AUTHORS.md。感谢每一位的贡献者!
许可证
本项目遵循GPLv3+许可证,并包含Apple App Store 例外条款。
lib.rs
:
例如:
use tox_encryptsave::*;
let plaintext = b"pls no encrypt";
let password = b"123456";
// to encrypt data
let encrypted = pass_encrypt(plaintext, password)
.expect("Failed to encrypt >.<\"");
// confirm that the data is encrypted
assert_ne!(plaintext, encrypted.as_slice());
assert!(is_encrypted(&encrypted));
// decrypted is same as plaintext
assert_eq!(plaintext,
pass_decrypt(&encrypted, password).unwrap().as_slice());
依赖项
约18MB
约82K SLoC