#bencode #bittorrent #bencode-parser #decode #file-format #decoder #torrent

bendecode

bendecode 是一个简单的 bencode 解析器,专门用于解析 torrent 文件。它将文件转换为 Rust(结构体和枚举)可接受的格式。

1 个不稳定版本

0.1.3 2023年9月14日
0.1.2 2023年9月14日
0.1.1 2023年9月14日
0.1.0 2023年9月14日

#1544解析器实现

MIT 许可协议

36KB
885

bendecode

Bencode 到 Rust 标准格式的解码器

Documentation test lint test Crates.io Crates.io

使用 BitTorrent 规范 v1 解析 .torrent 文件,因为 v2 目前未积极使用,所以使用两者的混合体。

有关 torrent 文件规范的更多信息,请参阅这里

本项目使用的文件结构可以在这里找到

安装

在您的 Cargo.toml 中将 bendecode 添加为依赖项

    bendecode = "0.1.3"

或者使用 cargo 添加最新版本到您的依赖项中

    cargo add bendecode

使用指南

bendecode 通过处理所有事情来引导您完成整个解码过程

    use bendecode::torrent::Torrent;
    let file = 
        std::fs::read_to_string("torrent_file.torrent").expect("Cannot read the file");

    // The file may not always be read using read_to_string
    // as torrent files sometimes contain invalid UTF-8
    // Hence it is recommended to read the file as bytes by using fs::read()
    // and then making a &str by joining the Vec<u8> into a &str

    let torrent = Torrent::from(file).expect("Cannot parse torrent");

贡献

非常欢迎贡献!阅读 CONTRIBUTING.md 了解贡献指南。

无运行时依赖