Crate rusftp

Source
Expand description

SFTP library based on russh.

For now, only the client side is implemented.

It implements the SFTP protocol RFC version 3. See: https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-02

§Design principles

rusftp is designed using the following principles:

  • No panics
  • No locking
  • Shared client
  • No borrowing for the user facing types
  • Most futures are Send + Sync + 'static
  • All futures are eager

So you can take a SftpClient, clone it, and use it behind a shared referenced. You can start multiple SFTP requests concurrently, even from multiple threads.

§Examples

See https://github.com/aneoconsulting/rusftp/blob/main/examples/simple_client.rs

Re-exports§

pub use russh;

Modules§

client
SFTP client module.
message
Collection of all SFTP messages.
utils
Utilities module
wire
Encoder/Decoder module for the SFTP wire format.