#bencode #bittorrent #nushell #nu #torrent

bin+lib nu_plugin_from_bencode

一个将 bencode 数据转换为 Nu 结构化值的 Nushell 插件

3 个版本 (破坏性更新)

0.11.0 2024年5月11日
0.10.0 2024年2月8日
0.9.0 2023年12月16日
0.8.1 2023年11月21日
0.2.0 2022年5月4日

#800 in 编码

Download history 140/week @ 2024-05-10 12/week @ 2024-05-17 3/week @ 2024-05-24

每月下载量 667

MIT/Apache 和可能 CC-PDDC

23KB
133 代码行

Nu Plugin From Bencode

一个从 bencode 格式到 Nushell 的转换插件。

插件在 nushell 版本 0.93.0 上进行了最后的测试。

由于插件的接口 Nu 不稳定,该插件是不稳定的。

该插件可用于检查 BitTorrent 元信息文件 (*.torrent),但主要用于探索编写 Nu 插件。

安装

cargo install nu_plugin_from_bencode

注册 插件

register <path to plugin>/nu_plugin_from_bencode

默认情况下,cargo 在 Unix 系统上安装到 $HOME/.cargo/bin

用法

提供的 from bencode 命令没有参数。

要使用

> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode
╭───────────────┬─────────────────────────────────────╮
 announce      │ https://torrent.ubuntu.com/announce │
 announce-list │ [list 2 items]
 comment       │ Ubuntu CD releases.ubuntu.com       │
 created by    │ mktorrent 1.1                       │
 creation date │ 1645734525                          │
 info          │ {record 4 fields}
╰───────────────┴─────────────────────────────────────╯
> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode | select announce-list.0.0
╭───────────────────┬─────────────────────────────────────╮
 announce-list.0.0 │ https://torrent.ubuntu.com/announce │
╰───────────────────┴─────────────────────────────────────╯
> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode | get announce-list.1.0
https://ipv6.torrent.ubuntu.com/announce
> open ubuntu-20.04.1-live-server-amd64.iso.torrent | from bencode | select info.name info.length
╭─────────────┬──────────────────────────────────────╮
 info.name   │ ubuntu-20.04.4-live-server-amd64.iso │
 info.length │ 1331691520                           │
╰─────────────┴──────────────────────────────────────╯

许可证

根据您的选择,许可协议为 Apache License, Version 2.0MIT License

贡献

除非您明确表示,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,均应双重许可,上述无任何额外条款或条件。

依赖关系

~23–53MB
~1M SLoC