🚀 BaiduPCS-Rust:高性能百度网盘客户端,用 Rust 与 Vue 3 打造 NAS 满速下载

76 阅读4分钟

Gemini_Generated_Image_pf3cwypf3cwypf3c.png 大家好,今天给大家带来一个我开发的项目:BaiduPCS-Rust,它是一个高性能的 百度网盘客户端,基于 RustVue 3 开发,专为需要高效下载和自动化备份的用户设计,尤其适用于 NAS / 自建服务器 环境。

如果你是百度网盘会员,但是在 NAS 或者 Docker 环境下下载速度总是达不到预期,本项目将帮助你解决这个问题!通过并发下载、断点续传、秒传等技术,最大限度利用会员带宽,轻松实现满速下载

🎯 项目背景

作为长期依赖 百度网盘 的用户,我在使用官方客户端时发现,在 NAS 环境下,下载速度远未达到会员应有的速度,尤其是使用 Docker 进行自建时,速度限制更为明显。

同时,由于本地备份、文件共享等需求的增加,手动管理下载上传文件变得越来越繁琐。这些问题促使我开始动手做一个高效的解决方案——BaiduPCS-Rust

🌟 项目亮点

🔥 高性能下载引擎

BaiduPCS-Rust 通过以下方式提升下载性能:

  • 多线程并发下载:单文件最多支持 8 个分片并发下载,并且支持根据带宽自动调节线程数。
  • 断点续传:支持断点续传,下载过程中即使网络中断也可以继续,不会浪费带宽。
  • 文件夹递归下载:支持整个文件夹的下载,自动创建下载任务,提升批量下载效率。
  • CDN链接刷新机制:针对网络不稳定或者速度异常的文件,定期刷新 CDN 链接,最大化下载速度。

💾 自动备份与秒传支持

除了高效的下载,BaiduPCS-Rust 还支持自动将本地文件备份到百度网盘,避免手动操作繁琐:

  • 自动备份:支持将本地文件或文件夹定时备份到百度网盘。(待实现)
  • 秒传支持:后端秒传支持,上传相同文件时速度超快。

🖥 现代化 Web 界面

项目提供了一个简洁而现代的 Web 界面,使用 Vue 3 + Element Plus,你可以轻松地浏览文件、管理下载、上传任务,实时查看任务进度。

  • 支持任务队列管理、暂停/继续下载、上传任务管理等功能。
  • 支持实时显示下载速度、进度百分比和预计剩余时间(ETA)。

file-management.png

download-management.png

upload-management.png

transfer-setting.png

system-upload-settings.png

copy_77D2A740-0229-40F8-A2FC-396DA63202A2 (1).gif

🔧 Docker 一键部署

对于需要在 Docker 环境下使用的用户,本项目提供了 一键部署 功能,让你可以快速启动和运行。具体的 Docker 部署文档和构建步骤请参考 GitHub 仓库,详细介绍了如何通过 Docker 或 Docker Compose 部署项目。


🛠 技术架构与技术栈

BaiduPCS-Rust 是一个全栈项目,后端使用 Rust 编写,前端使用 Vue 3Element Plus,通过 WebSocket 实现任务状态的实时更新。

后端

  • Rust 1.75+
  • Web 框架:Axum 0.7
  • 异步运行时:Tokio
  • HTTP 客户端:Reqwest
  • 日志系统:Tracing

前端

  • 框架:Vue 3 + Composition API
  • UI 组件库:Element Plus
  • 状态管理:Pinia
  • 构建工具:Vite
  • HTTP 客户端:Axios

部署

  • 容器化:Docker + Docker Compose
  • 多平台支持:Windows、Linux、macOS

🏁 如何快速开始

1. 克隆项目

git clone https://github.com/komorebiCarry/BaiduPCS-Rust.git
cd BaiduPCS-Rust

2. 启动服务

详细的启动步骤和配置文档,请参考 GitHub 页面,其中包含了如何使用 Docker 或源码构建来部署项目。


🚀 使用场景

BaiduPCS-Rust 特别适合以下场景:

  • 自建 NAS 环境的用户:需要高效稳定的百度网盘下载工具。
  • 需要大量文件备份的用户:自动化备份和秒传能力,节省时间和带宽。
  • 开发者和服务器运维人员:可以在 Docker 环境中轻松部署和管理。

📝 最后

BaiduPCS-Rust 是一个 开源项目,欢迎开发者们提出 问题反馈 或者 贡献代码。如果你正在寻找一个可靠的工具来优化百度网盘的下载和上传,或者想要在 自建 NAS 环境中自动化文件备份,BaiduPCS-Rust 将会是一个不错的选择。

👉 GitHub 地址BaiduPCS-Rust

如果你觉得这个项目对你有帮助,请给个 Star,也欢迎大家讨论和交流!


💬 贡献与讨论

如果你有任何问题或者想为这个项目贡献代码,欢迎提交 Issue 或者 Pull Request。
有任何使用或配置上的问题,也可以在 GitHub 上提问,我会尽快回复。