Repository navigation
维护状态更新(2026-10-29):v1 已停止维护 / No longer maintained。
3.5.0 是 v1 最终版本,后续不再提供新功能、Bug 修复、依赖升级或安全更新。本仓库暂不归档,历史代码与下载继续保留。
后续开发请访问 Tweet-Watcher-v2。v2 当前为预发布版本;已有实例请先阅读迁移与回退指南及验证范围。
以下为原 v3.5.0 发行说明。
本版本修复管理面板的会话、代理及来源隔离问题,并加入持久待发送队列。抓取到的消息先落盘,重试、重启或后续抓取窗口变化后仍可继续发送;时间线解析遇到坏页或未覆盖的历史区间时保留错误或缺口状态。
主要变化
- 会话吊销后立即关闭 SSE,并在每次发送事件前复核认证;严格验证受信代理与 Cloudflare 访客地址。
- 支持独立管理域名、
PUBLIC_ORIGIN、来源绑定会话及 Secure__Host-Cookie。 - 新增原子持久发送队列、逐条发送确认、目标 Bot/Chat 绑定、容量限制和状态损坏保护;启动首轮前完成旧 ID 迁移。
- 使用随仓库发布的固定采集入口与
@steipete/bird@0.8.0,校验完整原始时间线页,支持置顶、模块及有界追页;不再允许自定义宿主机可执行程序。 - 更新 Express、proxy-addr、body-parser 和 qs 等依赖。
- 附带 twscrape 的固定版本源码研究、离线探针和证据;它尚未接入运行时。
升级与恢复
- Node.js 最低版本为 22;按锁文件执行
npm ci --ignore-scripts。 - 升级前备份完整数据目录。
delivery_state.json与delivery_state.initialized.json必须一起备份/恢复;不要删除它们来重置状态告警。旧sent_ids.json仅用于首次迁移。 - 如启用独立域名,按部署模板同步设置 Nginx/systemd 和
PUBLIC_ORIGIN,新来源需要重新登录。旧版本缺少受信代理令牌的部署还需更新代理配置。 - 消息采用至少一次交付;Telegram 成功后、本地确认落盘前发生崩溃仍可能重复发送。本版本不会自动恢复升级前已丢失的消息。
验证
- 发布前重新运行应用测试:145/145 通过,0 失败、0 跳过。
- 服务端、采集入口及前端 JavaScript 语法检查通过;
npm audit --omit=dev返回 0 告警。 - 研究材料链接和 SHA256 清单核验通过。twscrape 的离线研究不代表已经完成真实账号适配或上线验证。