yazi/yazi-sftp/README.md
2025-09-14 19:42:30 +08:00

15 lines
635 B
Markdown

# yazi-sftp
A fork of [`russh-sftp`](https://github.com/AspectUnk/russh-sftp) used by Yazi, with some changes:
- Supports paths containing invalid UTF-8
- Supports retrieving file nlink, username, and group
- Uses generic return parameters for a more idiomatic API, e.g.:
```rust
let attrs: responses::Attrs = session.send(requests::Stat::new(path)).await?
```
- Reduced dependencies
- Performance optimizations:
- Copy-on-write for all packets to avoid unnecessary memory allocation
- Packet lengths are precomputed to avoid secondary allocations
- Avoids cloning buffers in `AsyncRead` and `AsyncWrite` implementations