BaiduPCS-Rust 是一个使用 Rust 和 Vue 3 构建的现代化百度网盘第三方客户端,提供多线程下载、自动备份与本地侧加密上传能力,并支持 Web 管理、访问密码与 TOTP 双因素认证。
✨ 功能特性
🔐 认证系统
✅ 二维码扫码登录(百度网盘 APP 扫码)
✅ 自动会话管理
✅ 会话持久化
✅ 自动登录状态验证
✅ 失效自动跳转登录页
✅ Web 访问认证(可选,保护 Web 界面访问)
密码保护:防止未授权访问
TOTP 双因素认证:支持 Google Authenticator 等应用
恢复码机制:丢失 TOTP 设备时的备用登录方式
📁 文件管理
✅ 浏览网盘文件和目录
✅ 目录导航(面包屑)
✅ 文件列表展示(表格视图)
✅ 文件信息展示(名称、大小、时间、类型)
⬇️ 下载引擎
✅ 单文件下载(多线程并发下载,8 个并发分片,可配置)
✅ 文件夹下载(递归下载整个文件夹,自动扫描并创建任务)
✅ 批量下载(支持多文件/文件夹同时下载)
✅ 断点续传支持
✅ 速度限制(可配置)
✅ 实时进度显示(下载速度、进度百分比、ETA)
✅ 任务队列管理
✅ 暂停/继续/删除功能
✅ URL健康管理和智能淘汰策略
✅ CDN链接刷新三层检测机制(速度异常检测、线程停滞检测、定时强制刷新)
✅ 下载文件资源管理器(选择下载目录,支持最近目录记忆)
⬆️ 上传引擎与任务管理
✅ 统一的上传任务列表视图(上传管理页面)
✅ 支持选择本地文件或文件夹发起上传(通过本地文件资源管理器)
✅ 批量上传(支持多文件/文件夹同时上传)
✅ 统一上传按钮(文件和文件夹使用同一个上传入口)
✅ 上传任务进度实时展示:已上传大小、总大小、上传速度、剩余时间(ETA)
✅ 任务控制:暂停/继续/重试/删除
✅ 秒传标识:支持后端秒传时,在任务上展示"秒传"标记
✅ 上传最近目录记忆(自动记录最近使用的上传目录)
🎨 Web 界面
✅ 现代化 Vue 3 + Element Plus UI
✅ 响应式设计
✅ 实时状态更新
✅ 友好的用户体验
✅ 移动端适配
💻 本地文件资源管理器(上传文件选择器)
✅ 仿系统"资源管理器"的本地文件浏览体验
✅ 支持根目录、前进/后退、返回上一级、刷新等导航操作
✅ 支持文件/目录/文件或目录三种选择模式(根据上传场景配置)
✅ 支持分页加载和"加载更多",适配大目录场景
✅ 提供空态/错误态 UI,操作失败可一键重试
🔗 转存功能
✅ 分享链接转存(支持转存百度网盘分享链接到自己的网盘)
✅ 提取码验证(支持带提取码的分享链接)
✅ 转存后自动下载(可选,转存成功后自动创建下载任务)
✅ 转存任务管理(查看转存进度和状态)
⬇️ 离线下载
✅ 离线下载功能(支持通过百度网盘服务器代为下载资源到网盘空间)
✅ 多种链接格式支持:HTTP/HTTPS、磁力链接(magnet)、ed2k 链接
✅ 磁力链接自动标准化(Base32 转十六进制)
✅ 任务管理:添加、查询、取消、删除离线下载任务
✅ 实时进度显示:通过 WebSocket 实时推送任务状态和进度更新
✅ 自动下载功能:任务完成后可自动下载到本地,支持配置保存路径和每次询问路径选项
✅ 智能轮询机制:根据任务进度预测完成时间,动态调整轮询间隔(最小 3 分钟,最大 60 分钟)
✅ 任务详情查看:支持查看任务的完整信息,包括文件列表、保存路径、源链接等
🐳 部署支持
✅ Docker 一键部署
✅ Docker Compose 支持
✅ 多阶段构建优化
📡 实时与持久化能力
✅ 任务持久化与断点恢复
✅ WebSocket 实时推送
✅ 日志持久化与滚动
🔄 自动备份
✅ 上传备份(本地 → 云端):自动将本地文件夹备份到百度网盘
✅ 下载备份(云端 → 本地):自动将云端文件同步到本地
✅ 文件系统监听:实时检测本地文件变化(Windows 使用 ReadDirectoryChangesW)
✅ 定时轮询兜底:防止监听遗漏,支持间隔轮询和指定时间全量扫描
✅ 备份配置管理:创建/编辑/删除配置、手动触发、禁用/启用
✅ 备份历史记录与 SQLite 持久化
🔐 客户端侧加密
✅ AES-256-GCM 加密算法:端到端加密保护文件隐私
✅ 支持普通上传和自动备份:灵活选择是否启用加密
✅ 加密密钥管理:生成、导出、删除密钥
✅ 加密文件使用 .dat 扩展名隐藏真实文件类型
✅ 加密快照管理:记录映射关系,支持下载自动解密
✅ 文件管理原始文件名显示:加密文件在文件列表中自动还原显示原始文件名
⚠️ 重要提示:请务必妥善备份以下文件,否则已加密的文件将无法解密!
GitHub地址:https://github.com/komorebiCarry/BaiduPCS-Rust

评论(0)