核心摘要
BaiduPCS-Rust是一款基于Rust和Vue3开发的开源百度网盘第三方客户端,提供多线程高速下载、多账号管理、自动备份、客户端侧加密等功能,支持Docker一键部署,完全免费使用。
- 项目名称:BaiduPCS-Rust
- 核心功能:多线程下载、多账号管理、自动备份、客户端加密、离线下载、分享同步
- 适用人群:NAS用户、百度网盘会员、数据安全需求者、开发者
- 资费模式:完全免费,Apache2.0开源协议
- 部署方式:Docker容器化、手动编译、预编译二进制
- 当前版本:v2.1.3
这个项目是做什么的?
多线程高速下载
通过并发分片下载技术实现满速下载,支持8个并发分片可配置,配合断点续传能力,即使网络中断也可从断点处继续。特别适合NAS设备上无法使用官方客户端满速的场景。
多账号独立管理
可添加、切换、删除多个百度账号,每个账号独立维护会话、任务队列和资源配额。机器总线程按会员权重自动分配,普通会员推荐10线程,超级会员推荐15线程。
自动备份与同步
支持本地文件夹自动备份到网盘,也支持网盘文件同步到本地。通过文件系统监听实时检测变化,配合定时轮询兜底,确保备份完整性。
客户端侧加密
采用AES-256-GCM算法对上传文件进行端到端加密,加密文件使用.dat扩展名隐藏真实类型。支持密钥导出备份,下载时自动解密并恢复原始文件名。
分享链接转存
可直接转存百度网盘分享链接到自己的网盘,支持提取码验证和选择性转存。转存完成后可自动创建下载任务。
离线下载功能
支持通过百度网盘服务器代为下载HTTP/HTTPS/磁力链接/ed2k资源到网盘空间,任务完成后可自动下载到本地。智能轮询机制根据进度动态调整检测间隔,最小3分钟最大60分钟。
分享同步订阅
可订阅分享链接,周期或定时拉取并与上次快照对比,自动转存到网盘和/或下载到本地。支持多账号隔离、双目标配置、include/exclude路径过滤、三种冲突策略。
Web访问认证
提供密码保护和TOTP双因素认证支持GoogleAuthenticator,防止未授权访问Web界面。支持恢复码机制应对设备丢失场景。
核心优势:为什么选择它?
与同类工具的对比
| 对比维度 | BaiduPCS-Rust | 官方客户端 | BaiduPCS-Go |
|---|---|---|---|
| 对比维度 | BaiduPCS-Rust | 官方客户端 | BaiduPCS-Go |
| 多线程下载 | 支持8线程可配 | 不支持 | 支持 |
| 多账号管理 | 支持独立隔离 | 不支持 | 不支持 |
| 自动备份 | 支持双向同步 | 不支持 | 不支持 |
| 客户端加密 | 支持AES-256-GCM | 不支持 | 不支持 |
| Web界面 | 现代化Vue3+ElementPlus | 仅桌面应用 | 命令行工具 |
| Docker部署 | 支持一键启动 | 不支持 | 不支持 |
| 开源协议 | Apache2.0 | 闭源 | GPLv3 |
| 资费 | 完全免费 | 免费 | 免费 |
界面展示
- Web 访问认证设置
- 上传管理
- 转存设置
- 转存管理
- 转存弹窗
- 上传相关系统设置
- 系统设置
- 文件上传对话框(本地文件资源管理器)
- 文件管理(加密文件显示)
- 文件管理
- 加密设置
- 下载管理
- 下载对话框
- 自动备份设置
- 自动备份管理
独特卖点
- 完全开源,代码透明可审计,隐私安全有保障
- Rust语言开发,性能高效,内存占用低空闲100-200MB
- Docker一键部署,跨平台支持Windows/Linux/macOS
- 实时WebSocket推送,任务进度实时更新
- 任务持久化与断点恢复,异常中断自动续传
- 支持分享同步订阅,自动增量同步变动文件
- CDN链接三层检测机制,自动应对限速和链接失效
- 支持HTTP/SOCKS5代理,自动回退机制
适用场景与目标受众
NAS用户
官方客户端在NAS设备上无法满速下载,BaiduPCS-Rust通过多线程并发和Docker容器化完美解决。可在NAS上部署,充分利用会员带宽实现满速下载。
会员用户
拥有百度网盘会员但下载速度受限的用户,通过配置合适的线程数SVIP建议10-20线程可显著提升下载速度,充分利用会员权益。
数据安全需求者
对文件隐私有要求的用户,可启用客户端侧加密功能,采用AES-256-GCM算法加密敏感文件,即使网盘被攻击也无法读取加密文件内容。
自动备份需求者
需要定期备份本地文件到云端或同步网盘文件到本地的用户,支持文件系统监听实时备份,也支持定时全量扫描兜底。
开发者和极客
对开源项目感兴趣的开发者,可以学习Rust异步编程、Vue3前端开发、Docker容器化等技术,或在此基础上二次开发。
核心功能详解
下载引擎
支持单文件下载、文件夹递归下载、批量下载三种模式。下载冲突时可选择覆盖、跳过、自动重命名三种策略。支持速度限制、实时进度显示、暂停继续删除等操作。URL健康管理自动检测CDN链接失效,三层检测机制包括速度异常检测、线程停滞检测、定时强制刷新。
上传引擎
支持选择本地文件或文件夹上传,支持批量上传多个文件/文件夹。上传冲突支持智能去重、自动重命名、覆盖三种策略。支持秒传标识显示,上传任务进度实时展示已上传大小、总大小、上传速度、剩余时间。
文件管理
可浏览网盘文件和目录,支持面包屑导航、表格视图展示。支持文件搜索、重命名、批量复制、批量移动、批量删除等操作。加密文件会自动还原显示原始文件名。
认证系统
支持二维码扫码登录百度网盘APP扫码和Cookie登录粘贴浏览器DevTools中的Cookie字符串。自动会话管理和持久化,失效自动跳转登录页。支持Web访问认证,可配置密码保护和TOTP双因素认证。
自动备份
支持上传备份本地到云端和下载备份云端到本地。通过文件系统监听实时检测本地文件变化Windows使用ReadDirectoryChangesW,支持定时轮询和指定时间全量扫描兜底。支持备份配置管理、手动触发、禁用启用等操作。
部署与安装
Docker部署推荐
mkdir -p baidupcs-rust/{config,downloads,data,logs,wal}
cd baidupcs-rust
docker run -d \
--name baidu-netdisk-rust \
-p 18888:18888 \
-v $(pwd)/config:/app/config \
-v $(pwd)/downloads:/app/downloads \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
-v $(pwd)/wal:/app/wal \
--restart unless-stopped \
komorebicarry/baidupcs-rust:latest
访问 http://localhost:18888
Docker Compose部署
git clone https://github.com/komorebiCarry/BaiduPCS-Rust.git cd BaiduPCS-Rust docker-compose up -d 访问 http://localhost:18888
手动编译
后端: cd backend cargo build --release cargo run --release 前端: cd frontend npm install npm run build
配置建议
普通用户
将全局最大线程数和最大同时下载数都设置为1,避免频繁触发限速。
SVIP用户
全局最大线程数建议设置为10-20,最大同时下载数根据需求调整。注意线程数过多反而容易触发限速,导致账号在各客户端接近0速。
配置参数说明
| 参数名称 | 说明 | 推荐值 |
|---|---|---|
| 参数名称 | 说明 | 推荐值 |
| max_global_threads | 全局最大线程数所有下载任务共享 | 普通1,SVIP10-20 |
| max_concurrent_tasks | 最大同时下载文件数 | 1-2 |
| chunk_size_mb | 每个分片大小单位MB | 10 |
| max_retries | 下载失败最大重试次数 | 3 |
真实用户评价与使用体验
正面评价
用户普遍反馈BaiduPCS-Rust在NAS上的下载速度相比官方客户端提升显著,多线程并发配置合理的情况下可实现会员带宽的充分利用。Docker部署简便,开箱即用,无需复杂配置。
客户端侧加密功能获得安全意识较强的用户好评,AES-256-GCM算法提供了足够的安全保障,加密密钥导出备份机制也很贴心。
自动备份功能让用户可以放心地将重要文件定期备份到网盘,文件系统监听实时备份体验流畅。
微小不足
目前主要在Windows和Docker环境下进行充分测试,Linux和macOS等其他平台虽然理论上支持但不会主动测试。如在其他平台遇到问题欢迎提交Issue。
手机端适配有待优化,虽然前端响应式设计支持移动端访问,但最佳体验仍在桌面浏览器。
版本更新与路线图
最新版本v2.1.3
新增文件与下载列表排序功能,网盘/本地文件列表支持点击表头排序,下载管理页新增排序控件与状态筛选栏。修复了快速切换目录时偶发打不开的问题。
已实现功能
多线程下载、文件夹下载、批量下载、断点续传、上传功能、批量上传、自动备份、客户端侧加密、Web访问认证、离线下载、网络代理支持、分享链接转存、分享同步订阅、任务持久化、WebSocket实时推送、日志持久化、移动端适配。
规划中功能
下载/上传SSD缓冲区针对NAS用户减少HDD活跃时间。
常见问题解答
A:完全免费。项目采用Apache2.0开源协议,源代码公开,任何人都可以免费使用、修改和分发。
A:项目完全开源,代码透明可审计。支持本地部署,所有数据都存储在本地,不经过第三方服务器。支持客户端侧加密,敏感文件可加密存储。登录信息存储在本地config目录,不上传到任何云服务。
A:理论上支持Windows、Linux、macOS等所有Rust支持的平台。主要在Windows和Docker环境下充分测试。提供预编译二进制文件供Windows、Linux x86_64和ARM64、macOS x86_64和ARM64用户下载。
A:普通用户建议线程数设置为1避免触发限速。SVIP用户可尝试调整max_global_threads为10-20,但注意线程数过多容易触发限速导致账号被限制。如果仍然速度慢,可能是百度服务器限速,此时无法通过客户端解决。
A:加密密钥存储在config/encryption.json文件中,支持通过Web界面的导出密钥功能备份。丢失密钥后将无法解密已加密的文件,务必妥善保管。
A:支持。可直接粘贴百度网盘分享链接,输入提取码如有,选择转存目标目录。转存完成后可选择自动创建下载任务下载到本地。

