同步 pg.20260908-2148.zip: 新增0 修改8 删除1
This commit is contained in:
1 parent
8691a0fbbf
commit
badc055cd7
10 files changed
+866
-249
No files matched your search
@@ -1,3 +1,47 @@
|
|||||||
# tv
|
# tv · PG 资源镜像
|
||||||
|
|
||||||
PG资源追踪者
|
> PandaG 发布包自动监控同步仓库(由 pg-monitor 维护)
|
||||||
|
|
||||||
|
## 📡 最近同步记录
|
||||||
|
|
||||||
|
### 2026-09-08 12:05 同步 pg.20260908-2148.zip
|
||||||
|
- 管理员说明: youtube: 彻底修复多语言音轨切换不够完美的问题, 自研SABR协议栈上的唯一实现, 当ST还在靠降级UA续命 YT-DLP还在靠浏览器Cookie续命时, 宝宝的Youtube已经率先实现了全自研SABR协议栈之完美兼容 无视节点质量 无视系统版本 限制视频和会员视频都那么自由奔放流畅, 这可怎么得了啊!
|
||||||
|
- 文件: 新增 0 / 修改 8 / 删除 1
|
||||||
|
- 修改: jsm.json、lib/aliproxy.tar.xz、lib/aliproxy.tar.xz.md5、lib/allinone.tar.xz、lib/allinone.tar.xz.md5、lib/tokenm.json、pg.jar、pg.jar.md5
|
||||||
|
- 删除: dt/fy.gif
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 本仓库自动维护说明
|
||||||
|
|
||||||
|
本仓库 `zjp/tv` 由 **PG 自动监控更新项目**(`/opt/pg-monitor`)全自动维护: 监控 Telegram 群组/频道 **PandaG节奏熊猫** 发布的最新压缩包 `pg.YYYYMMDD-HHMM.zip`, 自动下载解压, 与仓库逐目录逐文件(相对路径+SHA256)严谨对比, 将差异**精确镜像**同步到此仓库, 并推送 TG 通知 + 在此登记同步记录。
|
||||||
|
|
||||||
|
### 实现逻辑
|
||||||
|
1. **监控**: 每 1 小时由 systemd timer 短进程触发一次(无常驻, 空闲零占用); Telethon 用户会话拉取群组近期文档消息。
|
||||||
|
2. **识别**: 正则 `pg.\d{8}-\d{4}.zip` 匹配官方发布的压缩包(仅接受频道侧发布、剔除普通成员), 与历史库去重后取**最新未处理**包; 消息文本作为"管理员更新说明"。
|
||||||
|
3. **下载解压**: 下载至缓存并 SHA256 校验 → 安全解压(zip-slip 防护 + 总大小上限)。
|
||||||
|
4. **对比**: 提取目录与仓库 checkout 生成 `相对路径→SHA256` 全量清单, 得到 added/modified/deleted(新增/修改/删除), 不漏任何更新。
|
||||||
|
5. **永久规则**: 对 `jsm.json` 每次重放永久规则(见下); `lib/tokentemplate.json` 模板变更合并进 `lib/tokenm.json`, **tokenm 已填账户信息永不覆盖**。
|
||||||
|
6. **精确镜像推送**: 新包不存在的文件在仓库中同步删除(自有文件 README.md/.gitignore 及结构文件 jsm.json、lib/tokenm.json 受保护不删); git commit + push 到本仓库 `main`。
|
||||||
|
7. **通知与记录**: 同步成功后推送 TG 通知(更新文件清单 + jsm/tokentemplate 字段级变化 + 管理员说明), 并在此 README 顶部追加本次记录。
|
||||||
|
|
||||||
|
### jsm.json 永久规则(每次发布自动重放, 幂等)
|
||||||
|
- 顶层插入 `"logo": "./dt/fy.gif"`(作为第一个键)。
|
||||||
|
- 站点 `key="豆瓣"`(api=`csp_Douban`) 的 `name` 改为 `大鹏影视`。
|
||||||
|
- 「TG频道搜索」「TG群组搜索」站点 `ext.proxy` 强制为 `noproxy`。
|
||||||
|
- 所有 JSON 按规范缩进序列化, 保证 git diff 只反映真实逻辑变化。
|
||||||
|
|
||||||
|
### lib/tokenm.json 合并规则
|
||||||
|
- 以 `lib/tokentemplate.json` 为模板; 模板新增/变化字段写入 `tokenm.json`。
|
||||||
|
- `tokenm.json` 中**已填字段一律保留不变**(空值才被模板覆盖), 模板删除的字段在 tokenm 中保留。
|
||||||
|
|
||||||
|
### 目录/部署
|
||||||
|
- 代码: `/opt/pg-monitor`; 数据: `/var/lib/pg-monitor`(SQLite `pg.db`/checkout `repo/`); 密钥: `/etc/pg-monitor/secrets.env`(0600)。
|
||||||
|
- systemd: `pg-monitor.timer`(每小时 + 随机延迟) → `pg-monitor.service`(oneshot)。
|
||||||
|
- 日志: `journalctl -u pg-monitor.service`。
|
||||||
|
- 手动运行: `python3 -m pg_monitor.orchestrator`; 查看 TG 会话: `python3 -m pg_monitor.tg list`。
|
||||||
|
|
||||||
|
### 风险与运维要点
|
||||||
|
- TG 用户账号低频短连, 会话文件 `/var/lib/pg-monitor/telethon.session` 勿删(重登需验证码)。
|
||||||
|
- 精确镜像 = 与最新包完全一致: 若仓库出现"莫名删除", 先看最近同步记录, 均为包内移除。
|
||||||
|
- 删除与覆盖均有 DB `sync_log` 留痕, 可回溯每批 added/modified/deleted 明细。
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
676752e08db9417161ba829caa3e8d85
|
1e212f39241cac6f9d9d0fc95b2907a0
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
6cf0aa61a893d958769a850d4944e3e4
|
be7ba0436edfc02b000af7f4b231c2fd
|
||||||
+95
-95
@@ -1,97 +1,97 @@
|
|||||||
{
|
{
|
||||||
"token":"",
|
"token": "",
|
||||||
"open_token":"",
|
"open_token": "",
|
||||||
"open_api_url":"postparam|http://api.extscreen.com/aliyundrive/token",
|
"open_api_url": "postparam|http://api.extscreen.com/aliyundrive/token",
|
||||||
"oauth_client_id":"",
|
"oauth_client_id": "",
|
||||||
"oauth_client_secret":"",
|
"oauth_client_secret": "",
|
||||||
"oauth_auth_url":"",
|
"oauth_auth_url": "",
|
||||||
"oauth_refresh_url":"",
|
"oauth_refresh_url": "",
|
||||||
"is_vip":true,
|
"is_vip": true,
|
||||||
"vip_thread_limit":32,
|
"vip_thread_limit": 32,
|
||||||
"vip_thread_limit_night":"19-23=32",
|
"vip_thread_limit_night": "19-23=32",
|
||||||
"vod_flags":"4kz|auto",
|
"vod_flags": "4kz|auto",
|
||||||
"quark_thread_limit":32,
|
"quark_thread_limit": 32,
|
||||||
"quark_thread_limit_night":"19-23=32",
|
"quark_thread_limit_night": "19-23=32",
|
||||||
"quark_is_guest":false,
|
"quark_is_guest": false,
|
||||||
"quark_vip_thread_limit":32,
|
"quark_vip_thread_limit": 32,
|
||||||
"quark_vip_thread_limit_night":"19-23=32",
|
"quark_vip_thread_limit_night": "19-23=32",
|
||||||
"quark_flags":"4kz|auto",
|
"quark_flags": "4kz|auto",
|
||||||
"uc_thread_limit":10,
|
"uc_thread_limit": 10,
|
||||||
"uc_is_vip":false,
|
"uc_is_vip": false,
|
||||||
"uc_vip_thread_limit":10,
|
"uc_vip_thread_limit": 10,
|
||||||
"uc_flags":"4kz|auto",
|
"uc_flags": "4kz|auto",
|
||||||
"uc_thread_limit_night":"19-23=32",
|
"uc_thread_limit_night": "19-23=32",
|
||||||
"uc_vip_thread_limit_night":"19-23=32",
|
"uc_vip_thread_limit_night": "19-23=32",
|
||||||
"thunder_thread_limit":2,
|
"thunder_thread_limit": 2,
|
||||||
"thunder_is_vip":false,
|
"thunder_is_vip": false,
|
||||||
"thunder_vip_thread_limit":2,
|
"thunder_vip_thread_limit": 2,
|
||||||
"thunder_flags":"4kz",
|
"thunder_flags": "4kz",
|
||||||
"aliproxy":"",
|
"aliproxy": "",
|
||||||
"aliproxy_url":"./aliproxy.tar.xz",
|
"aliproxy_url": "./aliproxy.tar.xz",
|
||||||
"proxy":"",
|
"proxy": "",
|
||||||
"danmu":true,
|
"danmu": true,
|
||||||
"quark_danmu":true,
|
"quark_danmu": true,
|
||||||
"quark_cookie":"",
|
"quark_cookie": "",
|
||||||
"uc_cookie":"",
|
"uc_cookie": "",
|
||||||
"thunder_username":"",
|
"thunder_username": "",
|
||||||
"thunder_password":"",
|
"thunder_password": "",
|
||||||
"thunder_captchatoken":"",
|
"thunder_captchatoken": "",
|
||||||
"yd_auth":"",
|
"yd_auth": "",
|
||||||
"yd_thread_limit":4,
|
"yd_thread_limit": 4,
|
||||||
"yd_flags":"auto|4kz",
|
"yd_flags": "auto|4kz",
|
||||||
"yd_danmu":true,
|
"yd_danmu": true,
|
||||||
"pikpak_username":"",
|
"pikpak_username": "",
|
||||||
"pikpak_password":"",
|
"pikpak_password": "",
|
||||||
"pikpak_flags":"4kz",
|
"pikpak_flags": "4kz",
|
||||||
"pikpak_thread_limit":2,
|
"pikpak_thread_limit": 2,
|
||||||
"pikpak_vip_thread_limit":2,
|
"pikpak_vip_thread_limit": 2,
|
||||||
"pikpak_proxy":"proxy",
|
"pikpak_proxy": "proxy",
|
||||||
"pikpak_proxy_onlyapi":false,
|
"pikpak_proxy_onlyapi": false,
|
||||||
"pikpak_danmu":true,
|
"pikpak_danmu": true,
|
||||||
"wgcf_key":"",
|
"wgcf_key": "",
|
||||||
"wgcf_key2":"",
|
"wgcf_key2": "",
|
||||||
"wgcf_ipport":"",
|
"wgcf_ipport": "",
|
||||||
"wgcf_xray_url":"./xray.gz",
|
"wgcf_xray_url": "./xray.gz",
|
||||||
"wgcf_geoip_url":"./geoip.dat.gz",
|
"wgcf_geoip_url": "./geoip.dat.gz",
|
||||||
"wgcf_json_url":"./wgcf.json",
|
"wgcf_json_url": "./wgcf.json",
|
||||||
"wgcf_vless_id":"",
|
"wgcf_vless_id": "",
|
||||||
"wgcf_vless_optname":"singapore.com:443",
|
"wgcf_vless_optname": "singapore.com:443",
|
||||||
"wgcf_vless_worker":"",
|
"wgcf_vless_worker": "",
|
||||||
"wgcf_vless_path":"/?ed=2048",
|
"wgcf_vless_path": "/?ed=2048",
|
||||||
"wgcf_vless_protocol":"vless",
|
"wgcf_vless_protocol": "vless",
|
||||||
"wgcf_vless_network":"ws",
|
"wgcf_vless_network": "ws",
|
||||||
"wgcf_vless_tls":false,
|
"wgcf_vless_tls": false,
|
||||||
"libxl_url":"./libxlsdk.tar.xz",
|
"libxl_url": "./libxlsdk.tar.xz",
|
||||||
"youtube_proxy":"proxy",
|
"youtube_proxy": "proxy",
|
||||||
"singbox_url":"./sing-box.tar.xz",
|
"singbox_url": "./sing-box.tar.xz",
|
||||||
"singbox_subscribe_url":"",
|
"singbox_subscribe_url": "",
|
||||||
"singbox_clash2singbox_url":"./clash2singbox.tar.xz",
|
"singbox_clash2singbox_url": "./clash2singbox.tar.xz",
|
||||||
"singbox_template_url":"./singbox.json",
|
"singbox_template_url": "./singbox.json",
|
||||||
"singbox_wgcf_json_url":"./wgcf2singbox.json",
|
"singbox_wgcf_json_url": "./wgcf2singbox.json",
|
||||||
"pan115_cookie":"",
|
"pan115_cookie": "",
|
||||||
"pan115_thread_limit":0,
|
"pan115_thread_limit": 0,
|
||||||
"pan115_vip_thread_limit":0,
|
"pan115_vip_thread_limit": 0,
|
||||||
"pan115_is_vip":false,
|
"pan115_is_vip": false,
|
||||||
"pan115_flags":"4kz",
|
"pan115_flags": "4kz",
|
||||||
"pan115_speed_limit":0,
|
"pan115_speed_limit": 0,
|
||||||
"pan115_speed_limit_mobile":10485760,
|
"pan115_speed_limit_mobile": 10485760,
|
||||||
"pan115_auto_delete":true,
|
"pan115_auto_delete": true,
|
||||||
"pan115_delete_code":"",
|
"pan115_delete_code": "",
|
||||||
"tgsearch_url":"./tgsearch.tar.xz",
|
"tgsearch_url": "./tgsearch.tar.xz",
|
||||||
"tgsearch_api_id":"",
|
"tgsearch_api_id": "",
|
||||||
"tgsearch_api_hash":"",
|
"tgsearch_api_hash": "",
|
||||||
"tgsearch_api_session":"",
|
"tgsearch_api_session": "",
|
||||||
"tgsearch_api_session_v1":"",
|
"tgsearch_api_session_v1": "",
|
||||||
"tgsearch_api_proxy":"proxy",
|
"tgsearch_api_proxy": "proxy",
|
||||||
"tgsearch_api_url":"http://127.0.0.1:10199/",
|
"tgsearch_api_url": "http://127.0.0.1:10199/",
|
||||||
"tgsearch_media_url":"http://127.0.0.1:10199/",
|
"tgsearch_media_url": "http://127.0.0.1:10199/",
|
||||||
"allinone_url":"./allinone.tar.xz",
|
"allinone_url": "./allinone.tar.xz",
|
||||||
"pan_order":"ali|quark|uc|123|189|115|yd|thunder|pikpak",
|
"pan_order": "ali|quark|uc|123|189|115|yd|thunder|pikpak",
|
||||||
"pan123_username":"",
|
"pan123_username": "",
|
||||||
"pan123_password":"",
|
"pan123_password": "",
|
||||||
"pan123_flags":"4kz",
|
"pan123_flags": "4kz",
|
||||||
"pan189_username":"",
|
"pan189_username": "",
|
||||||
"pan189_password":"",
|
"pan189_password": "",
|
||||||
"pan189_flags":"4kz",
|
"pan189_flags": "4kz",
|
||||||
"uc_ut":""
|
"uc_ut": ""
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
af1001d48e5aa4a3a5e89bd73992919d
|
f39663c1188347604f74633673bb8de1
|
||||||
Reference in new issue
Block a user