11 releases (6 breaking)
0.7.1 | Nov 6, 2024 |
---|---|
0.6.0 | Nov 16, 2023 |
0.5.1 | May 17, 2023 |
0.4.1 | Mar 15, 2023 |
0.1.0 | Jul 9, 2022 |
#1981 in Network programming
82,160 downloads per month
Used in 14 crates
(via openssh-sftp-client)
120KB
2.5K
SLoC
openssh-sftp-client
openssh-sftp-client, implements sftp v3 according to
openssh-portable/sftp-client.c
in rust using tokio
and serde
.
It exposes highlevel async
APIs that models closely after std::fs
that are
easy to use.
Extensions
This crate support the following extensions:
- limits
- expand path
- fsync
- hardlink
- posix rename
- copy-data
How to run tests
For macOS, please install latest rsync from homebrew.
./run_tests.sh
lib.rs
:
This crate provides a set of APIs to access the remote filesystem using the sftp protocol and is implemented in pure Rust.
It supports sending multiple requests concurrently using WriteEnd
(it can be WriteEnd::clone
d), however receiving responses have to be done
sequentially using ReadEnd::read_in_one_packet
.
To create WriteEnd
and ReadEnd
, simply pass the stdin
and stdout
of
the sftp-server
launched at remote to connect
.
This crate supports all operations supported by sftp v3, in additional to the following extensions:
Dependencies
~4–10MB
~97K SLoC