15 个版本
0.3.1 | 2024 年 6 月 7 日 |
---|---|
0.3.0 | 2024 年 5 月 21 日 |
0.2.0 | 2024 年 5 月 3 日 |
0.1.11 | 2024 年 3 月 31 日 |
0.1.2 | 2024 年 2 月 25 日 |
#461 in 网络编程
270KB
5.5K SLoC
distrans
"字节必须流动。"
Distrans (分发和传输) 通过 Veilid 网络匿名发送和接收文件内容。
使用
distrans seed <file>
为文件创建索引并作为种子,显示可以用来获取文件的 dht 密钥。
distrans fetch <dht key> [directory]
在种子文件的同时获取文件(默认为当前目录)。
类似于 bittorrent,distrans 除非有对等节点正在种子文件,否则无法获取文件。
请参阅 distrans --help
了解更多选项。
试试吧!
使用 distrans fetch VLD0:cCHB85pEaV4bvRfywxnd2fRNBScR64UaJC8hoKzyr3M
尝试获取测试文件。
安装
在 Linux、macOS 或 Windows 上安装二进制发布版本。
Rust crate
使用 cargo install distrans
安装 crate。
crate 依赖可能需要根据目标平台安装系统包。
Debian Bookworm 需要 apt-get install build-essential libssl-dev pkg-config
。
其他可能类似。
Nix flake
使用 nix run github:cmars/distrans
在 Nix 上运行 distrans。
将此 flake (github:cmars/distrans
) 作为输入添加到您的 home manager flake。
或使用类似的方法将默认包添加到传统的 home.nix
中
(builtins.getFlake "github:cmars/distrans").packages.x86_64-linux.default
计划
1.0 版本发布路线图上的内容。
跟踪器
跟踪器将使 distrans 对等节点群体更像是 bittorrent,其中可以同时种子和获取块。
多文件共享
Distrans 线路协议和索引结构支持多文件共享,但尚未完全实现。
故障排除
时钟偏差
Distrans运行一个嵌入式Veilid节点,这需要一个同步的本地时钟。时钟偏差可能会阻止Distrans连接到Veilid网络。
调试日志
可以使用RUST_LOG环境变量配置日志。
RUST_LOG=debug
将启用Distrans以及veilid-core中的所有调试级别日志,这可能有助于解决底层Veilid网络问题和报告问题。
问题
在提交问题时要注明操作系统类型、操作系统版本、distrans版本和复现步骤。您可以附加任何日志以帮助。
开发
在Nix环境中,使用nix develop github:cmars/distrans
(或在此目录中使用nix develop
)来获取带有必要工具依赖的开发shell。
在其他平台上,一个Veilid开发环境就足够了。
capnp
仅在处理协议线格式时才是必需的。
CICD
Github用于CICD和特别是发布自动化。
贡献
分支和版本通常会定期镜像到Gitlab。如果它们与项目计划和目标相符,可能会接受来自任一分支的拉取请求。
在挑选分支和提出建议之前,先打开一个问题并提问,以获得最佳结果。
依赖关系
~28–70MB
~1M SLoC