12 个版本

新版本 0.4.1 2024 年 8 月 21 日
0.3.2 2023 年 5 月 23 日
0.3.1 2022 年 12 月 1 日
0.3.0 2022 年 9 月 14 日
0.1.2 2020 年 10 月 14 日

#4#yagna

Download history 56/week @ 2024-07-24 27/week @ 2024-07-31

83 每月下载量
2 个crate中使用(通过 yarapi

LGPL-3.0GPL-3.0 许可证

135KB
3.5K SLoC

使用 gftp 传输二进制文件

发布文件

启动 yagna 服务

cargo run service run

发布选定的文件(阻塞)。

cargo run -p gftp -- publish {file name}

示例输出

{"result": [{"file": "Cargo.toml", "url": "gftp://0xf2f32374dde7326be2461b4e16a34adb0afe018f/39dc05a25ea97a1c90166658d93786f3302a51b8e31eb9b26001b615dea7e773"}]}

或使用 --verbose (-v)

cargo run -p gftp -- publish {file name} -v
{"jsonrpc": "2.0", "id": null, "result": [{"file": "Cargo.toml", "url": "gftp://0xf2f32374dde7326be2461b4e16a34adb0afe018f/39dc05a25ea97a1c90166658d93786f3302a51b8e31eb9b26001b615dea7e773"}]}

下载文件

cargo run -p gftp -- download \
    gftp://0x06bf342e4d1633aac5db38817c2e938e9d6ab7f3/edb0016d9f8bafb54540da34f05a8d510de8114488f23916276bdead05509a53 \
    -o workdir/gftp/download.txt

上传文件

发布文件以供上传(阻塞)

cargo run -p gftp -- receive workdir/gftp-upload/License

在提供商端上传文件

cargo run -p gftp -- upload LICENSE gftp://0x06bf342e4d1633aac5db38817c2e938e9d6ab7f3/z2IeDvgs1Q1hZ6seR0iSEsKW8kxdxQCK0eoz6DsYVznqJIl5K18NqwJPdLgesY9yR

JSON-RPC 2.0 服务器

要以 JSON RPC 服务器模式启动应用程序,请输入

cargo run -p gftp -- server

JSON RPC 消息可以发送到应用程序的 stdin。 每个 JSON 对象需要以新行结束 (\n)。

发布

{"jsonrpc": "2.0", "id": "1", "method": "publish", "params": {"files": ["Cargo.toml"]}}

下载

{"jsonrpc": "2.0", "id": 2, "method": "download", "params": {"url": "gftp://0xf2f32374dde7326be2461b4e16a34adb0afe018f/1d040d4ea83249ec6b8264305365acf3068e095245ea3981de1c4b16782253cc", "output_file": "/home/me/download.bin"}}

等待上传

{"jsonrpc": "2.0", "id": "3", "method": "receive", "params": {"output_file": "/home/me/upload.bin"}}

上传

{"jsonrpc": "2.0", "id": 4, "method": "upload", "params": {"url": "gftp://0xf2f32374dde7326be2461b4e16a34adb0afe018f/1d040d4ea83249ec6b8264305365acf3068e095245ea3981de1c4b16782253cc", "file": "/etc/passwd"}}

标志

  • -v--verbose

    增加输出详细程度以匹配 JSON RPC 服务器模式。

依赖项

~94MB
~1.5M SLoC