Pure-Rust SMB2/3 for talking to a file share over the network. No libsmbclient, no FFI, no mounting. Async,
runtime-agnostic, 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.