8个版本

0.2.1 2024年7月21日
0.2.0 2024年5月25日
0.2.0-beta-32024年4月10日
0.1.1 2024年3月30日
0.1.0 2024年2月20日

#1878 in 网络编程

Download history 173/week @ 2024-05-25 9/week @ 2024-06-01 2/week @ 2024-06-08 1/week @ 2024-06-29 8/week @ 2024-07-06 130/week @ 2024-07-20 44/week @ 2024-07-27

174 每月下载量

Apache-2.0

220KB
4K SLoC

RUSFTP

Crates.io License Crates.io Version docs.rs

这是一个基于russh的SFTP实现。

链接

动机

为什么还需要另一个SFTP库?

当我开始这个项目时,还没有纯Rust异步SFTP客户端库。

设计原则

rusftp 是以下原则下设计的

  • 无panic
  • 无锁
  • 共享客户端
  • 用户类型没有依赖的生命周期
  • Futures 是 Send + Sync + 'static
  • Futures 是急切型的

因此你可以获取一个 SftpClient,克隆它,并在共享引用后使用它。你可以并发地启动多个SFTP请求,甚至可以从多个线程启动。

功能

  • 客户端

    • 并发请求
    • 可克隆的 SftpClientFile
    • 文件 (tokio::io 抽象)
    • 目录 (futures::stream 抽象)
    • 所有支持请求和消息
    • 路径抽象
    • 支持知名SFTP扩展
    • 用户自定义扩展
    • 支持直接字节流(即:无 russh
  • 服务器

  • 协议版本

    • 版本3
    • 版本4
    • 版本5
    • 版本6

依赖项

~14–25MB
~363K SLoC