Skip to content

v2.1.5

Choose a tag to compare

@github-actions github-actions released this 24 Jul 15:35
· 35 commits to main since this release

BaiduPCS-Rust v2.1.5 发行说明

发布日期:2026-07-24


🎯 版本说明

v2.1.5 是在 v2.1.4 基础上的小版本更新,主要解决两个「重要」问题,并完善分享同步排除规则的使用体验:

  • 部分账号文件操作报 errno=-6(重要):修复部分账号登录成功、却在列目录 / 转存 / 上传等一切文件操作上全部 errno=-6 的问题——根因是这些账号百度强制 BDUSS + STOKEN 双凭证,而 REST 接口此前只带了 BDUSS。
  • 分享同步·include 目录下多层级排除规则失效(重要):修复用 include 圈选目录、再对其深层内容配 exclude 时排除不生效的问题。
  • 排除规则更好用:新增常用词表点选、批量输入(每行一条 / 粘贴多行)与内嵌使用说明。

平滑升级:本版本不涉及任何不兼容的数据迁移,从 v2.1.x 升级无感知。新增的分享同步「常用词表」配置默认为空(老配置文件缺失该段自动视为空),无需手动操作。仍建议升级前按惯例备份数据目录(见下方「升级说明」)。


🐛 问题修复

账号·部分账号文件操作报 errno=-6(重要)

问题:部分账号登录(扫码 / Cookie 导入)成功,随后任何网盘文件操作——列目录、转存、上传、分享同步——都返回 errno=-6(身份校验失败),而 BDUSS 本身经 passport 校验是有效的。

根因:这些账号百度要求 BDUSS + STOKEN 双凭证,pan(REST/xpan)接口只带 BDUSS 时一律返回 errno=-6(见 issue #130);而此前所有 REST 请求的 Cookie 头都只写了 BDUSS=xxx

修复

  • Cookie 头统一带 STOKEN:REST 接口的 Cookie 头改由统一构造,只要账号有 STOKEN 就一律带上(BDUSS=xxx; STOKEN=yyy);老账号即便多带 STOKEN 也无副作用,因此无差别附加。
  • errno=-6 自愈:获取文件列表遇到 errno=-6 时,自动触发一次「预热刷新会话」后重试,尽量在用户无感知的情况下恢复。
  • 可操作提示:预热重试后仍未恢复的(多为纯 BDUSS 导入、缺少 STOKEN 且无法自动预热出 STOKEN 的账号),如实返回可操作提示——请通过「添加账号」重新扫码登录,或重新导入包含 STOKEN 的完整 Cookie 后重试。

分享同步·include 目录下多层级排除规则失效(重要)

问题:当订阅用 include 圈选某个目录、再对该目录下的深层子内容配置 exclude 排除规则时,排除不生效——被排除的深层内容仍被转存 / 下载。

根因:抓取阶段的 BFS 在判断「某目录是否需要继续深入」时,只认「该目录是某个 include_path 自身或其祖先」,漏掉了「该目录是某个 include 目录的后代」这一支。于是 BFS 在 include 目录下一层就截断,深层内容从未被扫描exclude 过滤与 subtree_pruned 标记都无从发生;后续整目录 fs_id 直传时,百度服务端又把被排除的深层内容原样递归复制回来。

修复:把「dir 是某个 include 目录的后代 → 用户圈选的是整棵子树,必须继续深入」这一判断补齐到抓取阶段的三处同款逻辑(dir_allowed / item_allowed / dir_needs_more_pages),使三者语义一致,多层级排除规则恢复生效(issue #128 追加反馈)。已补充单元测试覆盖。


✨ 新功能

分享同步·排除规则常用词表

创建 / 编辑订阅时,排除规则不必每次重复手输:

  • 点选快速添加:维护一份排除规则「常用词表」,编辑订阅时点一下即可加入当前规则。
  • 存为常用:把当前订阅正在用的规则一键存入词表,方便下次复用。
  • 在系统设置维护:词表的增删在系统设置 → 分享同步中进行。默认为空、不做任何预置,完全由用户自行配置(老配置文件缺失该段自动视为空词表)。

分享同步·排除规则批量输入

排除规则输入框支持一次添加多条:每行一条(输入一条按回车,或直接粘贴多行文本后添加)。逗号、空格等标点不作分隔——它们可能是文件名 / 路径的一部分。

分享同步·排除规则使用说明

内嵌可展开的「使用说明」帮助面板(订阅编辑器与系统设置页共用同一份文案,避免两处漂移),讲清规则要点:

  • 规则匹配的是完整路径(相对分享根目录),不只是文件名,且区分大小写
  • 通配符 * 匹配任意字符(可跨目录层级),? 匹配单个字符;
  • 文件夹路径命中规则时,该文件夹及其中全部内容一起排除;
  • 按关键词 *关键词*、按扩展名 *.格式(如 *.nfo);大小写不同的写法需各加一条(如 *.mkv*.MKV)。

🔧 升级说明

Docker 用户

# 升级前建议先备份挂载的 data 卷

# 拉取指定版本镜像
docker pull komorebicarry/baidupcs-rust:v2.1.5

# 或使用 latest 标签
docker pull komorebicarry/baidupcs-rust:latest

# 重启容器
docker-compose down && docker-compose up -d

二进制用户

Releases 页面下载对应平台的二进制文件,替换原有可执行文件后重启服务。

配置与数据

  • 本版本无破坏性数据迁移,从 v2.1.x 升级无需任何手动操作(分享同步「常用词表」配置默认为空,老配置文件自动兼容)。
  • 升级仍建议按惯例备份 backend/config/backend/wal/(Docker 用户备份挂载的 data 卷)。
  • 默认端口仍为 18888,不影响现有反向代理 / 防火墙 / 书签。
  • 若你此前遇到部分账号 errno=-6:升级后请为受影响账号重新扫码登录、或重新导入包含 STOKEN 的完整 Cookie,以便新逻辑携带双凭证。

📁 下载

平台 文件名
Windows (x86_64) BaiduPCS-Rust-v2.1.5-windows-x86_64.zip
Linux (x86_64) BaiduPCS-Rust-v2.1.5-linux-x86_64.tar.gz
Linux (ARM64) BaiduPCS-Rust-v2.1.5-linux-aarch64.tar.gz
macOS (x86_64) BaiduPCS-Rust-v2.1.5-macos-x86_64.tar.gz
macOS (ARM64) BaiduPCS-Rust-v2.1.5-macos-aarch64.tar.gz
Docker 镜像 BaiduPCS-Rust-v2.1.5-docker.tar.gz

完整更新日志:参见项目根目录的 CHANGELOG.md
问题反馈:欢迎通过 GitHub Issues 进行反馈