长期运行的 PT 站点“开放注册 / 可用邀请数 / 连通性”监控服务(默认 NexusPHP/M-Team),站点列表来源于 MoviePilot 或手动配置,Cookie 优先从 CookieCloud 获取并支持回退。
- 多源站点管理:
- MoviePilot:自动拉取 MP 认证站点,无需重复配置。
- 手动添加:支持手动添加 MP 不支持的站点。
- CookieCloud:自动同步 Cookie,失败回退到本地配置。
- 全方位监控:
- 开放注册:检测
signup.php或注册页关键字。 - 邀请名额:解析首页/用户中心/邀请页,智能判断等级权限与名额数量。
- 连通性:实时检测站点能否访问。
- 开放注册:检测
- 现代 Web UI:
- 响应式设计:完美支持桌面端与移动端(Mobile Card View)。
- 实时日志:WebSocket 实时推送扫描日志,支持按分类/站点/关键字过滤。
- 暗色模式:自动跟随系统或手动切换。
- 数据大屏:直观展示各站点状态概览。
- 通知触达:
- Telegram Bot
- 企业微信(应用消息)
方式 A:Docker Compose (推荐)
docker-compose.yml:
services:
pt-invite-watcher:
image: helloworldz1024/pt-invite-watcher:latest
container_name: pt-invite-watcher
restart: unless-stopped
ports:
- "8003:8080"
volumes:
- ./data:/data
environment:
# 数据库路径(必填)
PTIW_DB_PATH: "/data/ptiw.db"
# 可选:初始化配置(也可启动后在 WebUI 配置)
MP_BASE_URL: "http://moviepilot:3001"
COOKIECLOUD_BASE_URL: "http://cookiecloud:8088"启动:
docker compose up -d访问:http://localhost:8003
方式 B:Docker Run
docker run -d \
--name pt-invite-watcher \
--restart always \
-p 8003:8080 \
-v "$(pwd)/data:/data" \
-e PTIW_DB_PATH="/data/ptiw.db" \
-e MP_BASE_URL="http://moviepilot:3001" \
-e COOKIECLOUD_BASE_URL="http://cookiecloud:8088" \
helloworldz1024/pt-invite-watcher:latest依赖:Python 3.10+, Node.js 18+
-
后端启动:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python3 -m pt_invite_watcher run -
前端构建:
cd webui npm install npm run build说明:后端实际提供的是
pt_invite_watcher/webui_dist(Vite build 产物)。如果你修改了webui/src,需要重新执行 build,否则可能看到旧 UI 行为(后端启动时会尝试提示 build 可能过期)。
所有配置均可在 Web UI (/config) 中可视化管理,也可以通过环境变量预设。
| 变量名 | 说明 | 默认值 |
|---|---|---|
PTIW_DB_PATH |
SQLite 数据库路径 | ./data/ptiw.db |
PTIW_SCAN_INTERVAL_SECONDS |
扫描间隔 (秒) | 600 |
PTIW_DISABLE_SCHEDULER |
禁用后台定时扫描(仅手动触发) | 0 |
PTIW_DISABLE_LEADER_LOCK |
禁用定时扫描 Leader 锁(多进程共享同一 DB 时可能重复扫描) | 0 |
PTIW_WEB_AUTH_USERNAME |
Web UI 认证用户名 | (无) |
PTIW_WEB_AUTH_PASSWORD |
Web UI 认证密码 | (无) |
PTIW_DISABLE_AUTH |
强制禁用 Web UI 认证(用于临时绕过 BasicAuth) | 0 |
MP_BASE_URL |
MoviePilot 地址 | - |
COOKIECLOUD_BASE_URL |
CookieCloud 地址 | - |
- 项目对移动端进行了深度适配。
- 日志页面自动切换为卡片视图,方便在手机上查看详细日志。
- 导航栏自动切换为底部 Dock 栏。
本项目仅用于“状态监控与通知”,不包含任何绕过验证、突破安全机制、自动抢注或获取邀请码的功能。请遵守各站点规则。