RachelOS
|
f54aba50cb
|
1.5.3-Fix
|
2026-08-14 09:27:50 +08:00 |
|
RachelOS
|
e18003fd40
|
1.5.3-Fix
|
2026-08-13 17:14:38 +08:00 |
|
RachelOS
|
bb29a7a45e
|
1.5.2-增加读书渠道
|
2026-08-13 15:15:56 +08:00 |
|
dao24dao
|
8628d91496
|
feat(weread): 执行/定时任务前自动刷新 Cookie(宿主机代理闭环)
- 新增 scripts/host_weread_refresh_agent.py:宿主机常驻刷新代理(verify-first,
Cookie 有效时秒回不启动浏览器;失效时无头刷新;登录态过期才需扫码)
- 新增 launchd plist(KeepAlive)常驻代理
- jobs/mps.add_job:weread_mp 模式下,执行/定时同步前自动请代理刷新,
刷新失败(需扫码)则中止任务并明确报错,不再静默同步 0 篇
- 修复冷却期 bug:冷却期内不再无条件跳过,Cookie 失效时强制刷新
- 修复扫码等待失效 bug:扫码模式不注入过期种子 Cookie 且清空上下文,
判定改为必须通过真实接口校验,否则窗口保持等待(5 分钟 -> 10 分钟)
|
2026-08-07 15:45:52 +08:00 |
|
dao24dao
|
9ec8493688
|
fix(weread): Cookie 刷新移至宿主机 + 去重与真实有效性校验
架构修正(采纳用户建议):
- 微信读书登录态 profile 由 macOS 钥匙串加密,容器内 Linux Chromium 解密不了,
故将所有浏览器操作(首次扫码 + 每日自动刷新)改到宿主机用本机 Chrome 完成;
容器(jobs/mps.add_job)只读取 wx.lic 明文 Cookie 同步文章,不再启动浏览器。
- 删除 jobs/mps._refresh_cookie_pre_step 及其在 add_job 的调用。
- scripts/refresh_weread_cookie.py 新增 --headless 参数(launchd 每日 07:55 自动刷新),
默认无参为 GUI 扫码模式;launchd 模板相应改为 --headless 调用。
健壮性修复(消除『假阳性刷新成功』):
- core/weread_cookie_refresh.py 增加 _dedupe_cookie:种子注入与保存前去重,
消除 wr_vid/wr_skey 等重复键(重复键会导致服务端取到过期值、报 -2012/-2041)。
- 增加 _verify_cookie:刷新后用真实 /web/mp/articles 接口验证 Cookie 是否真能拉到数据,
任何非零 errCode(含 -2012/-2041)均判为无效;此前仅检查 'wr_vid=' 会误将过期
Cookie 当作有效(把过期 Cookie 重新写回 wx.lic 却报『刷新成功』)。
- 无头模式验证失败如实返回 False 并提示需本机扫码,不再沿用过期 Cookie 谎称成功。
|
2026-08-07 14:53:28 +08:00 |
|
dao24dao
|
c4d0ac6181
|
fix(weread): 微信读书 Cookie 自动刷新前置 + 修复消息任务执行结果误报
- 新增 core/weread_cookie_refresh.py:通过 Playwright 无头复用数据卷登录态刷新微信读书 Cookie,
从 wx.lic 读取 cookie_refresh_url 与冷却时间;缺失有效登录态时返回 False 并沿用旧 Cookie 同步
- 消息任务增加刷新前置步骤(jobs/mps.py add_job),置于独立线程执行,规避 asyncio 事件循环内
调用 Playwright 同步 API 触发的 "Sync API inside the asyncio loop" 冲突
- 新增 scripts/refresh_weread_cookie.py 及 launchd 模板,供首次/过期时本机前台扫码建立登录态
- Dockerfile 补装 Chromium 与系统依赖,使容器内可无头运行刷新
- apis/weread.py 新增 POST /weread/config 保存 cookie_refresh_url/browser_path;
前端 WereadManagement.vue 增加「自动刷新 Cookie」配置区块
- 修复消息任务执行结果误报(apis/message_task.py):原逻辑用订阅号数量冒充"新增文章数",
改为同步等待队列执行完毕后汇总 tracker 记录的真实 article_count,文案明确区分订阅号数与文章数
|
2026-08-07 11:40:37 +08:00 |
|