Pure-Rust SMB2/3 for talking to a file share over the network. No libsmbclient, no FFI, no mounting. Async on
tokio or smol, and faster than the native macOS SMB client on uploads, downloads, listings, and deletes.
This repo ships two crates:
| Crate | What it is | Page |
|---|---|---|
smb2 |
The library. Use it from your own Rust code. | crates.io · docs.rs |
smb2-cli |
A ready-made smb2 binary. cargo install smb2-cli. |
crates.io |
For the API, the benchmarks, the protocol features covered, and the servers it's tested against, see the
smb2 README.
For the command line, see the smb2-cli README.
The CLI depends on the library by path, so a protocol fix and the CLI change that uses it land together instead of waiting on a release.
- Cmdr: an AI-native file manager that uses
smb2for SMB access. - mtp-rs: the same idea for MTP, so a phone or camera is reachable without
libmtp.
just # fast checks: fmt, clippy, test, doc
just check-all # plus MSRV, security audit, license check
just fix # auto-fix formatting and clippy warningsSee CONTRIBUTING.md for more, and docs/releasing.md for how a release goes out.
MIT OR Apache-2.0, at your option.