本项目是 BaiduPCS-Go 的二次开发版本,旨在将其核心功能封装为 RESTful HTTP API,使其能够轻松集成到其他自动化流程(如 n8n, Web 界面, 脚本等)中。
原版 BaiduPCS-Go 是一个强大的百度网盘命令行客户端。本项目在其基础上增加了 Web Server 模块,提供了一套完整的 HTTP 接口,包括:
- 文件管理: 列出文件、创建目录、移动、复制、删除、搜索、重命名
- 上传下载: 文件上传、下载、获取直链、流式代理下载
- 账号管理: 登录 (BDUSS/Cookie)、扫码登录、切换账号、查看配额
- 离线下载: 添加任务、查询进度、取消任务
- 回收站: 查看、恢复、清空
- 分享管理: 创建分享、列出分享、取消分享、转存分享链接
- xpan API (新): 基于 AccessToken 的文件列表和元数据查询
所有接口均提供 Swagger 在线文档。
本项目基于 Go 语言开发,支持跨平台编译。
依赖: Go 1.18+
# 克隆项目
git clone https://github.com/YourUsername/BaiduPCS-Go-HTTP.git
cd BaiduPCS-Go-HTTP
# 编译 (根据你的系统选择)
# Windows
go build -o BaiduPCS-Go.exe
# Linux / macOS
go build -o BaiduPCS-Go# 启动 API 服务,默认监听 5299 端口
# --verbose 参数用于开启详细日志 (推荐)
./BaiduPCS-Go server --verbose -p 5299启动后,访问 http://localhost:5299/swagger/index.html 查看完整的 API 文档和调试接口。
通常用于部署在无头服务器上,作为后台服务运行。
-
编译:
export GOOS=linux export GOARCH=amd64 go build -o BaiduPCS-Go chmod +x BaiduPCS-Go
-
运行:
# 后台运行,日志输出到 server.log nohup ./BaiduPCS-Go server --verbose -p 5299 > server.log 2>&1 & # 查看日志 tail -f server.log
-
注意:
- 如果需要外网或局域网访问,请确保防火墙放行了
5299端口。 - 登录建议使用 API 接口 (
POST /api/auth/login) 配合 BDUSS 进行登录。
- 如果需要外网或局域网访问,请确保防火墙放行了
适合个人开发者或本地自动化任务。
-
编译: 在 PowerShell 中执行:
$Env:GOOS = "windows"; $Env:GOARCH = "amd64"; go build -o BaiduPCS-Go.exe
-
运行:
- 方式 A (命令行): 打开 PowerShell,运行
.\BaiduPCS-Go.exe server --verbose -p 5299 - 方式 B (登录): 你也可以先使用命令行登录
.\BaiduPCS-Go.exe login,然后再启动 server,这样 API 会自动使用登录好的账号。
- 方式 A (命令行): 打开 PowerShell,运行
-
编译:
export GOOS=darwin export GOARCH=amd64 # Intel core # export GOARCH=arm64 # Apple Silicon (M1/M2/M3) go build -o BaiduPCS-Go chmod +x BaiduPCS-Go
-
运行:
./BaiduPCS-Go server --verbose -p 5299
提供三种登录方式,满足不同使用场景:
最简单安全的登录方式,无需手动获取 BDUSS:
# 运行扫码登录命令
./BaiduPCS-Go qrlogin
# 可选:自定义超时时间(秒)
./BaiduPCS-Go qrlogin --timeout 600程序会在终端显示二维码,使用 百度网盘 APP 扫描即可完成登录。
调用 /api/auth/login 接口:
curl -X POST http://localhost:5299/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"bduss": "你的BDUSS......"
}'扫码登录 API:
# 1. 获取二维码
curl -X POST http://localhost:5299/api/auth/qrcode \
-H "Content-Type: application/json" \
-d '{"include_ascii": true}'
# 2. 查询扫码状态
curl "http://localhost:5299/api/auth/qrcode/status?sign=xxx"
# 3. 完成登录
curl -X POST http://localhost:5299/api/auth/qrcode/login \
-H "Content-Type: application/json" \
-d '{"sign": "xxx", "temp_bduss": "yyy"}'如何获取 BDUSS? 在浏览器登录百度网盘,打开开发者工具 (F12) -> Application -> Cookies,找到
BDUSS的值。
如果你已有 BDUSS 或完整 Cookies:
# 使用 BDUSS + STOKEN
./BaiduPCS-Go login -bduss=xxx -stoken=yyy
# 使用 Cookies
./BaiduPCS-Go login -cookies="BDUSS=xxx; STOKEN=yyy; ..."- 数据安全: 本项目是一个开源的客户端工具,不会上传你的任何账号信息到第三方服务器。所有交互仅发生在你的服务器和百度网盘官方服务器之间。
- 配置文件: 登录凭据 (BDUSS/Cookies) 存储在用户目录下的配置文件中 (如
~/.config/BaiduPCS-Go/pcs_config.json),不包含在项目源码中,因此推送到 Git 仓库是安全的。
| 版本号 | 更新内容 |
|---|---|
| v1.3.2 (2025-12-27) | 新增: xpan API 端点,支持基于 AccessToken 的文件列表和元数据查询 (/api/xpan/files, /api/xpan/file/meta) |
| v1.3.1 (2025-12-27) | 增强: 彻底重写扫码登录 Cookie 提取逻辑,捕获所有 Set-Cookie (含 BAIDUID),解决大文件下载 403 |
| v1.3.0 (2025-12-27) | 新增: /api/account/who 返回完整 cookies 字段;修复: 流式下载 403 问题,支持 cookie 参数 |
| v1.2.3 (2025-12-27) | 新增: 流式下载 API 支持 cookie 参数,解决浏览器防盗链 403 |
| v1.2.2 (2025-12-27) | 修复: stream-download 使用 PCS 客户端携带认证 Cookies 修复 403 |
| v1.2.1 (2025-12-26) | 新增: 流式下载代理 API,解决前端防盗链问题 |
| v1.2.0 (2025-12-25) | 修复: API QR 码返回真实可扫描内容而非 URL |
| v1.1.0 (2025-12-24) | 新增: 扫码登录支持(CLI + API),自动保存 BDUSS 和 STOKEN |
| v1.0.0 (2025-12-11) | 🎉 初始版本:BaiduPCS-Go HTTP API 项目启动 |
原版 BaiduPCS-Go 的说明文档已归档至 docs/README_legacy.md。