yazi/yazi-sftp
2025-12-27 07:40:30 +08:00
..
src perf: raise the max allowed concurrent connections per SFTP service (#3466) 2025-12-27 07:40:30 +08:00
Cargo.toml feat: support Unix path backend for the SFTP provider (#3371) 2025-11-26 17:27:52 +08:00
LICENSE feat: new yazi-sftp crate (#3166) 2025-09-14 02:50:28 +08:00
README.md fix: force Git checkout for plugin cache repositories (#3169) 2025-09-14 19:42:30 +08:00

yazi-sftp

A fork of 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.:
    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