8 releases
0.2.1 | Jul 21, 2024 |
---|---|
0.2.0 | May 25, 2024 |
0.2.0-beta-3 | Apr 10, 2024 |
0.1.1 | Mar 30, 2024 |
0.1.0 | Feb 20, 2024 |
#6 in #ssh2
220KB
4K
SLoC
RUSFTP
This is a SFTP implmentation based on russh.
Links:
Rationale
Why another SFTP library?
When I started to work on this project, there were no pure Rust async SFTP client library.
Design principles
rusftp
is designed using the following principles:
- No panics
- No locking
- Shared client
- User facing types have no dependent lifetimes
- Futures are
Send
+Sync
+'static
- 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.
Features
-
Client
- Concurrent requests
- Cloneable
SftpClient
andFile
- File (
tokio::io
abstraction) - Dir (
futures::stream
abstraction) - All supported requests and messages
- Path abstraction
- Support for well known SFTP extensions
- User defined extensions
- Support for direct Byte stream (ie: no
russh
)
-
Server
-
Protocol Version
- version 3
- version 4
- version 5
- version 6
Dependencies
~14–24MB
~361K SLoC