feat(auth): separate read and write bilibili accounts

This commit is contained in:
kairee committed 2026-10-31 20:01:21 +08:00
1 parent 5c2ab7b187
commit 178ab64b18
17 files changed
+671 -707

No files matched your search

+9 -7
View File
@@ -71,11 +71,12 @@ uv run python --version
# 查看现有收藏夹工具帮助
uv run bili-fav help
# 扫码登录并原子更新 config.json
uv run bili-fav auth
# 扫码登录并原子更新指定账号
uv run python app.py auth --account read
uv run python app.py auth --account write
# 检查现有 B 站登录状态
uv run bili-fav auth --check
# 检查两套 B 站登录状态
uv run python app.py auth-check --account all
# 执行当前无网络依赖的测试
uv run python tests/test_auth.py
@@ -200,7 +201,8 @@ PRAGMA synchronous = NORMAL;
│ ├── logging_json.py # 脱敏 JSON 日志
│ ├── bilibili/
│ │ ├── client.py # HTTP、WBI、重试与限速
│ │ ├── auth.py # 从 favsort 抽取的扫码授权能力
│ │ ├── auth.py # Cookie、设备指纹与请求头工具
│ │ ├── auth_flow.py # app.py auth 的扫码与原子写回流程
│ │ └── favorite.py # 加入收藏夹与排序定位
│ ├── services/
│ │ ├── discovery.py
@@ -224,7 +226,7 @@ PRAGMA synchronous = NORMAL;
└── data/ # 本地运行期数据,默认不提交
```
`favsort.py` 继续保持可独立运行。P0 实施时优先抽取其通用的 Cookie、请求头、扫码授权和收藏夹 API 逻辑;不要直接复制出第二套不一致的身份与请求实现。
`favsort.py` 继续保持可独立运行,但只操作 `bilibili.write`;扫码授权统一由 `app.py auth --account read|write` 提供。Cookie、设备指纹与请求头逻辑必须共用 `reaction_board.bilibili.auth`。
---
@@ -275,7 +277,7 @@ PRAGMA synchronous = NORMAL;
```
- `folders` 中的年度夹由人工创建,系统只读;
- 兼容现有 `favsort.py` 的扁平 `mid` / `csrf` / `cookie` 写法;存在 `bilibili` 嵌套对象时以嵌套值为准;
- 配置必须为 `bilibili.read` / `bilibili.write` 双账号结构;不兼容顶层扁平 `mid` / `csrf` / `cookie`;
- P0 已实现的命令行:`python app.py init`、`python app.py sync [--full]`、`python app.py status`。
### 5.2 安全规则- Windows 本地开发时应限制 `config.json` 的文件访问权限;部署到 Linux 时权限必须为 `600`;