9 个版本
0.2.7 | 2024 年 7 月 29 日 |
---|---|
0.2.6 | 2024 年 4 月 11 日 |
0.2.5 | 2024 年 2 月 13 日 |
0.2.4 | 2024 年 1 月 28 日 |
0.1.2 | 2022 年 5 月 26 日 |
#236 在 网络编程
744 每月下载量
用于 4 个 crate (3 个直接使用)
99KB
2.5K SLoC
Pavão
~ Rust SMB 客户端库 ~
由 @veeso 开发
当前版本:0.2.7 (29/07/2024)
关于 Pavão 🦚
Pavão (/pɐ.ˈvɐ̃w̃/) 是一个 Rust SMB 版本 2 和 3 客户端库,它公开了类型安全的函数来与 C libsmbclient 交互。
Pavão |> Pavé |> 动物之森 |> 狂欢节 |> 里约热内卢 |> Samba |> SMB
Windows 的 SMB Rust 客户端
SMB 在 Windows 上由 fs 模块本机支持。如果您想了解如何在 Windows 上使用 Rust 访问 SMB 共享,请查看此文章 https://blog.veeso.dev/blog/en/how-to-access-an-smb-share-with-rust-on-windows/ 或考虑采用 remotefs-smb。
开始使用 🏁
将 pavao 添加到你的 Cargo.toml 🦀
pavao = "0.2"
在你的系统上安装 pavao C 依赖项 🖥️
MacOS 🍎
使用 brew 安装 samba
brew install samba
基于 Debian 的系统 🐧
使用 apt 安装 libsmbclient
apt install -y libsmbclient-dev libsmbclient
⚠️ 仅在构建应用程序的机器上需要 libsmbclient-dev
基于 RedHat 的系统 🐧
使用 dnf 安装 libsmbclient
dnf install libsmbclient-devel libsmbclient
⚠️ 仅在构建应用程序的机器上需要 libsmbclient-devel
OpenBSD 🐡
使用 pkg_add 安装 samba
pkg_add samba
从源代码构建 📁
从源代码构建安装 libsmbclient
wget -O samba.tar.gz https://github.com/samba-team/samba/archive/refs/tags/samba-4.16.1.tar.gz
mkdir -p samba/
tar xzvf samba.tar.gz -C samba/ --strip-components=1
rm samba.tar.gz
cd samba/
./configure
make
make install
cd ..
rm -rf samba/
创建 pavao 应用程序
use pavao::{SmbClient, SmbCredentials, SmbOptions, SmbOpenOptions};
// Initialize a new client
let client = SmbClient::new(
SmbCredentials::default()
.server(server)
.share(share)
.password(password)
.username(username)
.workgroup(workgroup),
SmbOptions::default().one_share_per_server(true),
)
.unwrap();
// do anything you want here with client
let mut file = client.open_with("/abc/test.txt", SmbOpenOptions::default().read(true)).unwrap();
// read file...
drop(file);
// disconnect from server
drop(client);
运行示例
此存储库提供了两个示例,可在 examples/
目录下找到。
tree
示例可用于获取 smb 共享的文件系统树,可使用以下命令运行:
cargo run --example tree -- -u <username> -w <workspace> -s <share> -P <password> smb://<hostname>
而 transfer
示例显示了如何将文件写入远程主机,可使用以下命令运行:
cargo run --example transfer -- -i <file_on_local> -o <file_to_write> -u <username> -w <workspace> -s <share> -P <password> smb://<hostname>
文档 📚
开发者文档可以在Rust Docs上找到,请访问 https://docs.rs/pavao
支持开发者 ☕
如果您喜欢Pavão并对我所做的工作表示感谢,请考虑进行小额捐赠 🥳
您可以使用以下平台之一进行捐赠
贡献和问题 🤝🏻
欢迎贡献、错误报告、新功能问题和疑问!😉 如果您有任何问题或疑虑,或者您想建议一个新功能,或者您只是想改进pavao,请随意打开一个问题或PR。
请遵循我们的贡献指南
更新日志 ⏳
许可证 📃
Pavão采用GPLv3许可证。
您可以在此处阅读完整的许可证
依赖项
~0.3–0.9MB
~21K SLoC