yazi/yazi-sftp
2026-03-04 15:36:13 +08:00
..
src fix: make the SFTP VFS provider's create_dir() and create_new() correctly report "file exists" errors (#3495) 2026-01-03 19:01:38 +08:00
Cargo.toml fix: wrong intersection check in preview and spot rendering (#3736) 2026-03-04 15:36:13 +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