Compare commits

..

41 Commits

Author SHA1 Message Date
hotyue
ae67817eb4 chore: bump MASTER_VERSION to v4.0.7 for tg_master UX optimization 2026-04-30 01:06:19 +00:00
hotyue
27e48defb2 feat(master): 优化 UX 体验,态势感知报告存档后保留返回节点控制台按钮 (closes #41) 2026-04-30 01:04:31 +00:00
github-actions[bot]
cc216e288e chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-29] 2026-04-29 05:48:04 +00:00
hotyue
9f32bc990d chore: bump version to v4.0.6 准备全舰队换装终极三核纠偏雷达 2026-04-28 13:29:52 +00:00
hotyue
3a981f24e3 fix(core): 修复 Music/Premium 探针被拦截为无状态页的问题,注入 UA 伪装,并扩容前端配置变量特征库 2026-04-28 10:10:42 +00:00
hotyue
a626283b54 fix(core): 优化三核纠偏判决权重,以 YouTube 流媒体解锁为主导,解决基础路由库漂移导致的虚假黄灯警告 2026-04-28 10:08:11 +00:00
hotyue
12eaf89f48 fix(core): 重构 Google 雷达为三核交叉机制,引入 URL 精准跳转解析与强一致性拦截算法,准确暴击漂移与假阳性 2026-04-28 08:43:32 +00:00
hotyue
5e1331bad0 fix(core): 升级三核雷达,引入 URL 域名跳转探测并对齐业界权威的 contentRegion 判决机制 2026-04-28 08:32:55 +00:00
hotyue
e44418d381 fix(core): 补充缺失的 scheduler 抹杀逻辑根除幽灵循环,并为战报模块引入 60s 冷却装甲阻断并发风暴 2026-04-28 08:13:54 +00:00
hotyue
c86f1e509b fix(core): 修复 Music 版权探针正则提取逻辑,匹配其专属前端架构解决获取失败问题 2026-04-28 08:05:16 +00:00
github-actions[bot]
f7f2421843 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-28] 2026-04-28 05:52:26 +00:00
hotyue
014486e558 perf(core): 优化 Google 模块行为拉伸策略,单步休眠上限缩短至 120s,提升巡逻执行效率 2026-04-28 04:30:05 +00:00
hotyue
ce4a40d860 fix(core): 升级终极双核版权雷达 (YT Premium + YT Music),剥除 CDN 伪装,彻底剿灭送中检测假阳性 2026-04-28 04:23:32 +00:00
hotyue
36847aeaa2 fix(core): 升级双核纠偏雷达,引入 IPv6 法律边界探测并恢复 Premium 穿透,彻底根除 Google 首页缓存造成的送中假阳性 2026-04-28 01:03:46 +00:00
hotyue
43adf55a4b fix(master): 对齐全网防御架构,为司令部安装/卸载器引入 mktemp 动态沙盒与无落地内存流,彻底阻断 TOCTOU 提权劫持 2026-04-28 00:58:27 +00:00
hotyue
838dc01ebc fix(core): 封堵本地安全漏洞,为安装/卸载器引入 mktemp 动态沙盒与无落地内存流,彻底阻断 TOCTOU 提权与配置投毒 2026-04-28 00:49:15 +00:00
hotyue
641055ab74 fix(core): 为深海声呐探针拉取引入源文件基因防伪校验,彻底阻断 HTML 投毒与网络劫持导致的假死变砖 2026-04-28 00:20:49 +00:00
hotyue
5c19b6a6e1 fix(master): 修复态势感知入库的高危 SQL 注入漏洞,并全量斩断 HTTP 降级通道封死 MITM 劫持 2026-04-28 00:20:37 +00:00
hotyue
af2570f15d fix(core): 对齐架构,为 Agent 卸载脚本引入 SIGKILL 瞬间抹杀机制,防止 Systemd 卡死与遗言触发 2026-04-28 00:07:15 +00:00
hotyue
df77f397aa fix(master): 对齐 Agent 架构,重构中枢安装器引入原子化防砖交接与 SIGKILL 绝对抹杀机制 2026-04-28 00:05:26 +00:00
hotyue
d6dee813c5 fix(core): 重构 install.sh 实现原子化热更新防断网变砖,并对齐双栈裸奔 IP 缓存根除 OTA 误发日报 Bug 2026-04-27 23:49:19 +00:00
hotyue
d20f576908 fix(core): 升级 Google 纠偏自检雷达,引入 Maps+YouTube 双核交叉验证,彻底修复送中假阳性漏洞 (closes #39) 2026-04-27 23:12:06 +00:00
hotyue
17dd927719 feat(data): 新增美洲战区 - 德克萨斯州休斯顿 (Houston, TX) 节点支持 2026-04-27 22:59:39 +00:00
hotyue
bff49cd2b9 feat(data): 新增非洲战区 - 尼日利亚 (Nigeria, NG) 节点支持 (closes #38) 2026-04-27 10:38:00 +00:00
github-actions[bot]
49090f1b97 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-27] 2026-04-27 05:47:01 +00:00
hotyue
15324d0840 fix(core): 强制 updater.sh 后台静默更新日志使用绝对 UTC 时间,补齐全舰队时空对齐最后一块拼图 2026-04-27 03:05:05 +00:00
hotyue
8b632fe4f9 chore: bump MASTER_VERSION to v4.0.5 触发司令部防连点与 Toast 弹窗交互换代 2026-04-27 02:50:48 +00:00
hotyue
11ff23bf94 fix(master): 修复深海声呐战报入库交互 Bug,新增 Toast 气泡弹窗反馈与防连点 UI 重绘机制 2026-04-27 02:45:13 +00:00
hotyue
332765a72e fix(core): 强制所有业务模块日志与独立战报使用绝对 UTC 时间,彻底根除跨时区排障时的时间线错乱 2026-04-27 02:28:41 +00:00
hotyue
38869e8681 chore: bump AGENT_VERSION to v4.0.5 触发全舰队高频巡逻架构换代 2026-04-27 02:14:48 +00:00
hotyue
85cd1dc594 docs: 深度重构 README 核心极客特性与基建说明,全量展现 UTC 全球时钟、Fail-Fast 预检容灾及云端双轨军工厂等终极架构 2026-04-27 02:13:44 +00:00
hotyue
55f7ee0c8c feat(core): 升级舰队巡逻密度,将全局养护频率由 30 分钟缩短至 20 分钟 (每日 72 次) 并对齐所有日志与战报标定 2026-04-27 02:05:24 +00:00
hotyue
d24be4da0b feat(core): 重构全球时钟同步架构,强制挂载绝对 UTC 时区,实现分布节点天然并发削峰与战报时间对齐 2026-04-27 01:54:59 +00:00
github-actions[bot]
ae36155545 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-26] 2026-04-26 19:05:44 +00:00
hotyue
dc5560f8fd fix(core): 重构 Systemd 定时器调度逻辑,剥离 OnActiveSec 触发器并强制使用日历半点锚定,彻底根除 OTA 重载引发的并发风暴与误发日报 2026-04-26 09:23:44 +00:00
hotyue
18985cb57d fix(core): 恢复 -f 完整 IP 显示参数并清理冗余拦截逻辑,终极固化极速预检(Fail-Fast)容灾架构 2026-04-26 08:57:39 +00:00
hotyue
830d62ead8 fix(core): 引入 4 秒极速预检(Fail-Fast)机制彻底根除复杂路由下的探针死等假死,并重构三级容灾打靶策略 2026-04-26 08:31:23 +00:00
hotyue
5c8d9d6096 fix(core): 完善声呐拉取防伪校验,并为纯IPv6/WARP等极端路由环境引入三级阶梯脱壳与裸跑容灾机制 2026-04-26 06:41:26 +00:00
hotyue
22d26079e4 fix(core): 完善声呐探针拉取的防伪校验,并为极端路由环境引入阶梯式剥离与终极裸跑容灾机制 2026-04-26 06:26:10 +00:00
hotyue
c564ea0ab8 fix(core): 剔除探测探针负优化参数,修复含掩码IP导致的情报直达链接失效问题 2026-04-26 05:59:46 +00:00
hotyue
ec7bf0f2b9 fix(core): 重构声呐探针拉取逻辑引入双栈智能容灾,并增加应对 WARP 复杂路由死锁的脱壳抢救机制 2026-04-26 05:47:34 +00:00
64 changed files with 1741 additions and 940 deletions

View File

@@ -2,8 +2,8 @@ name: Daily Data Factory
on: on:
schedule: schedule:
# 每天 UTC 18:00 (北京时间凌晨 02:00) 执行,赶在节点凌晨3点更新前造好子弹 # 每天 UTC 03:00 执行,为各节点全天随机拉取准备好弹药
- cron: '0 18 * * *' - cron: '0 3 * * *'
workflow_dispatch: workflow_dispatch:
env: env:

View File

@@ -2,8 +2,8 @@ name: Automated Massive UA Factory
on: on:
schedule: schedule:
# 每个月 1 号凌晨 00:00 执行 # 每个月 1 号凌晨 04:00 执行
- cron: '0 0 1 * *' - cron: '0 4 1 * *'
workflow_dispatch: # 允许手动点击运行 workflow_dispatch: # 允许手动点击运行
jobs: jobs:

View File

@@ -12,18 +12,18 @@
## ✨ 核心极客特性 (Core Architecture) ## ✨ 核心极客特性 (Core Architecture)
- 📊 **深海声呐全维探针 (Deep Sea Sonar v4.0)**:内嵌强效正则清洗的 JSON 提取引擎,异步生成情报级 IP 质量战报。聚合 Scamalytics、AbuseIPDB 等五大权威防欺诈库,精准嗅探代理/VPN特征、25端口封堵情况及原生流媒体Netflix/Disney+/TikTok等解锁状态,并自带 Google “送中”高危预警与基于 SQLite 的历史污染趋势追踪图谱。 - 📊 **深海声呐全维探针 (Deep Sea Sonar v4.0.4)**:内嵌强效正则去污的 JSON 提取引擎,无损展现免掩码的真实 IP 报。聚合 Scamalytics、AbuseIPDB 等五大权威防欺诈库,精准嗅探代理/VPN特征、25端口及流媒体原生解锁状态,并自带 Google “送中”高危预警与污染趋势图谱。
-**无损高并发引擎 (WAL Concurrency)**:司令部 SQLite 数据库全面激活 `WAL` (Write-Ahead Logging) 模式与毫秒级排队削峰算法。即使您同时对 500 台边缘节点发起全军总攻,也能完美规避 `database is locked` 与 Telegram `429` 频率拦截,实现 100% 战报送达 -**无损高并发引擎 (WAL Concurrency)**:司令部 SQLite 数据库全面激活 `WAL` (Write-Ahead Logging) 模式与毫秒级排队算法。即使对 500 台边缘节点发起全军总攻,也能完美规避 `database is locked` 与 Telegram `429` 拦截
- 🪶 **抽脂级极简部署 (Zero-Bloat Native)**:全栈剔除 `pip``flask` 等臃肿第三方依赖,完全基于 Python3 原生标准库运行。安装底层强制注入 `--no-install-recommends` 防捆绑参数。无论是 128MB 内存的极简 NAT 小鸡,还是 Alpine/Arch Linux 特种系统,均可如丝般顺滑运行。 - 🪶 **抽脂级极简部署 (Zero-Bloat Native)**:全栈剔除第三方依赖,基于 Python3 原生标准库运行。安装强制注入 `--no-install-recommends` 防捆绑参数。无论是 128MB 内存的极简 NAT还是 Alpine 游击队容器,均可如丝般顺滑运行。
- 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**[v3.6.1 重构] 引入扁平化 L0-L3 四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持在统一哨兵终端进行原位丝滑重绘 (In-place UI Edit),实现毫秒级模块热启停与日志抓取,彻底告别刷屏烦恼 - 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**引入扁平化四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持原位丝滑重绘 (In-place UI Edit),实现毫秒级模块热启停与跨地域深海声呐投放
- 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**中枢大脑可在此面板自我抛出幽灵进程进行免交互直装覆盖,实现真正的全栈去 SSH 化运维。 - 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**,实现真正的全栈去 SSH 化运维。
- 🛡️ **SSOT 溯源与热更新装甲 (Smooth Upgrade Engine)**:全系脚本彻底消灭硬编码,部署时动态抓取云端版本信标。自带状态机嗅探逻辑与防撞甲探测,即使是手动在终端运行安装,也仅需回车瞬间完成配置继承、数据同步与无损换代。 - 🛡️ **SSOT 溯源与热更新装甲 (Smooth Upgrade Engine)**:全系脚本彻底消灭硬编码,动态抓取云端版本信标。自带状态机嗅探逻辑,即便是手动在老节点执行安装,也仅需回车瞬间完成配置继承与无损换代。
- 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**守护版图横跨亚欧美三大洲。接入 GitHub Actions 云端流水线,每日静默同步全球各大区当日 Google 真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。 - 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**:接入 GitHub Actions 云端兵工厂,每日静默同步全球各大区真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。
- 👻 **资产持久化与错峰调度 (Hash-Seeded Persona)**:摒弃随机抽取指纹,基于节点物理 IP 哈希永久锁定 3 个绝对专属设备,完美构建高权重真实家庭内网画像。叠加按需智能分频与随机防并发休眠,化解“惊群效应” - 👻 **绝对时空对齐与高频错峰 (UTC-Seeded Scheduling)**:摒弃传统随机轮询,全栈强制接管底层时钟为**绝对 UTC 时间**。全舰队以 **20 分钟 (每日 72 次)** 的极高密度进行养护巡逻,叠加基于部署锚点的天然削峰与随机防并发休眠,完美化解十万级集群的“惊群效应”与 API 熔断
- 🖧 **底层路由死锁与高精度探针 (Hard-Bind Routing)**:底层探测引擎强力接管 curl 核心参数 (`--interface`),将发出的每一滴伪装流量死死绑定在物理网卡或隧道 IP 上。配合多级 ISP 容灾链路,彻底杜绝双栈环境下的流量溢出与 API 误判 - 🖧 **极速预检与三级容灾架构 (Fail-Fast & Fallback)**:底层引擎强力接管发包参数 (`--interface`) 的同时,创新引入 **4 秒极速预检 (Fail-Fast)** 雷达与**三级阶梯脱壳**机制。无论是纯 IPv6 孤岛、WARP 劫持死锁还是复杂 NAT 嵌套,系统均能瞬间避开网络黑洞,彻底杜绝探针假死与流量溢出
**—— 💎 骨干基建特征 ——** **—— 💎 骨干基建特征 ——**
- 🏭 **自动化指纹兵工厂**:依托 GitHub Actions CI/CD 流水线,每月 1 日无人值守锻造 4000+ 带绝对物理分区的真实终端设备数据 - 🏭 **自动云端军工厂 (CI/CD Data Factory)**:依托 GitHub Actions 构建双轨无人值守流水线。**每月 1 日**批量锻造 4000+ 带绝对物理分区的原生终端指纹库;**每日凌晨 (UTC)** 实时抓取全球各战区 Google 真实热搜榜单与本土骨干新闻 RSS。为前线舰队源源不断地输送最鲜活的伪装弹药
- 🔒 **叹息之墙 (Zero-Trust HMAC)**:底层通讯引入 时间戳 + HMAC-SHA256 军用级动态签名。指令有效期仅 60 秒(阅后即焚),未授权请求直接触发系统级 403 物理熔断,彻底免疫中间人抓包与重放攻击。 - 🔒 **叹息之墙 (Zero-Trust HMAC)**:底层通讯引入 时间戳 + HMAC-SHA256 军用级动态签名。指令有效期仅 60 秒(阅后即焚),未授权请求直接触发系统级 403 物理熔断,彻底免疫中间人抓包与重放攻击。
- ☁️ **云端中枢 (Public Master)**:官方公共机器人 [@OmniBeacon_bot](https://t.me/OmniBeacon_bot) ,新手免自建,一键接入极速入伍!同时支持硬核极客私有化 SQLite 分布式部署。 - ☁️ **云端中枢 (Public Master)**:官方公共机器人 [@OmniBeacon_bot](https://t.me/OmniBeacon_bot) ,新手免自建,一键接入极速入伍!同时支持硬核极客私有化 SQLite 分布式部署。
- 👁️‍🗨️ **玻璃房透明遥测 (Glasshouse)**:基于 Cloudflare Workers 的全透明计数中枢,绝对零隐私收集,仅作原子累加,底层网关源码全开源。 - 👁️‍🗨️ **玻璃房透明遥测 (Glasshouse)**:基于 Cloudflare Workers 的全透明计数中枢,绝对零隐私收集,仅作原子累加,底层网关源码全开源。

View File

@@ -14,10 +14,14 @@ if [ "$EUID" -ne 0 ]; then
exit 1 exit 1
fi fi
# 🟢 [防劫持沙盒] 创建具备随机哈希且仅 root 可见的专属安全工作区
SECURE_TMP=$(mktemp -d /tmp/ips_install.XXXXXX)
# 确保脚本退出、异常中断或被强杀时,自动销毁沙盒,不留痕迹
trap 'rm -rf "$SECURE_TMP"' EXIT HUP INT QUIT TERM
# 你的 GitHub 仓库 Raw 数据直链前缀 # 你的 GitHub 仓库 Raw 数据直链前缀
REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main" REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
# 临时改为开发地址用于测试
# REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/v3.6.2-rc"
INSTALL_DIR="/opt/ip_sentinel" INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf" CONFIG_FILE="${INSTALL_DIR}/config.conf"
@@ -110,9 +114,8 @@ echo -e "\033[32m✅ 基础环境检测通过。\033[0m"
# 2. 交互式引导与动态地图解析 (v3.0 全球网络) # 2. 交互式引导与动态地图解析 (v3.0 全球网络)
echo -e "\n[2/7] 正在连线云端,拉取全球节点地图..." echo -e "\n[2/7] 正在连线云端,拉取全球节点地图..."
curl -sL "${REPO_RAW_URL}/data/map.json" -o "/tmp/map.json" curl -sL "${REPO_RAW_URL}/data/map.json" -o "${SECURE_TMP}/map.json"
if [ ! -s "${SECURE_TMP}/map.json" ]; then
if [ ! -s "/tmp/map.json" ]; then
echo -e "\033[31m❌ 拉取全球地图失败!请检查网络或 GitHub 仓库地址。\033[0m" echo -e "\033[31m❌ 拉取全球地图失败!请检查网络或 GitHub 仓库地址。\033[0m"
exit 1 exit 1
fi fi
@@ -137,10 +140,10 @@ else
if [ "$ACTION_CHOICE" == "2" ]; then if [ "$ACTION_CHOICE" == "2" ]; then
echo -e "\n⏳ 正在拉取卸载程序..." echo -e "\n⏳ 正在拉取卸载程序..."
curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "/tmp/ip_uninstall.sh" curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "${SECURE_TMP}/ip_uninstall.sh"
chmod +x "/tmp/ip_uninstall.sh" chmod +x "${SECURE_TMP}/ip_uninstall.sh"
bash "/tmp/ip_uninstall.sh" bash "${SECURE_TMP}/ip_uninstall.sh"
rm -f "/tmp/ip_uninstall.sh" rm -f "${SECURE_TMP}/ip_uninstall.sh"
exit 0 exit 0
fi fi
@@ -169,22 +172,13 @@ else
fi fi
# ================== [v3.1.1/v3.2.2 优化: 安装前环境纯净度清理] ================== # ================== [v3.1.1/v3.2.2 优化: 安装前环境纯净度清理] ==================
echo -e "\n⏳ 正在清理旧版守护进程与冗余任务..." echo -e "\n⏳ 正在清理系统定时任务中的旧版条目..."
# [新增] 优雅停止 Systemd 服务,防止代码替换时引发无限复活风暴
if command -v systemctl >/dev/null 2>&1; then
systemctl stop ip-sentinel-runner.timer ip-sentinel-updater.timer ip-sentinel-report.timer ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
fi
# 1. 强制超度可能存活的 Webhook 及各类看门狗进程,释放端口 # 1. 清除系统定时任务 (Cron) 中的旧版条目 (安全容错版)
pkill -9 -f "webhook.py" >/dev/null 2>&1 || true crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_clean" || true
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1 || true
pkill -9 -f "runner.sh" >/dev/null 2>&1 || true
# 2. 清除系统定时任务 (Cron) 中的旧版条目 (安全容错版)
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_clean || true
# [追加 >/dev/null 2>&1 堵死 Alpine 的脏话输出] # [追加 >/dev/null 2>&1 堵死 Alpine 的脏话输出]
[ -f /tmp/cron_clean ] && crontab /tmp/cron_clean >/dev/null 2>&1 [ -f "${SECURE_TMP}/cron_clean" ] && crontab "${SECURE_TMP}/cron_clean" >/dev/null 2>&1
rm -f /tmp/cron_clean rm -f "${SECURE_TMP}/cron_clean"
# ========================================== # ==========================================
# 🛑 [物理抹除] 彻底扫除 Alpine 系统的底层残留与双路径文件 # 🛑 [物理抹除] 彻底扫除 Alpine 系统的底层残留与双路径文件
@@ -224,13 +218,13 @@ if [ "$UPGRADE_MODE" == "false" ]; then
# 📍 动态零级菜单:战区(大洲)选择 # 📍 动态零级菜单:战区(大洲)选择
echo -e "\n\033[36m📍 【第零级】请选择目标战区 (Continent):\033[0m" echo -e "\n\033[36m📍 【第零级】请选择目标战区 (Continent):\033[0m"
jq -r '.continents[] | "\(.id)|\(.name)"' /tmp/map.json > /tmp/continents.txt jq -r '.continents[] | "\(.id)|\(.name)"' "${SECURE_TMP}/map.json" > "${SECURE_TMP}/continents.txt"
i=1; CONT_MAP=() i=1; CONT_MAP=()
while IFS="|" read -r cont_id cont_name; do while IFS="|" read -r cont_id cont_name; do
echo " $i) $cont_name" echo " $i) $cont_name"
CONT_MAP[$i]="$cont_id" CONT_MAP[$i]="$cont_id"
((i++)) ((i++))
done < /tmp/continents.txt done < "${SECURE_TMP}/continents.txt"
read -p "请输入选择 [1-$((i-1))] (默认1): " CONT_SEL read -p "请输入选择 [1-$((i-1))] (默认1): " CONT_SEL
CONT_SEL=${CONT_SEL:-1} CONT_SEL=${CONT_SEL:-1}
@@ -238,14 +232,14 @@ if [ "$UPGRADE_MODE" == "false" ]; then
# 📍 动态一级菜单:国家选择 (基于选中战区) # 📍 动态一级菜单:国家选择 (基于选中战区)
echo -e "\n\033[36m📍 【第一级】正在检索 [$CONT_ID] 战区下的国家/地区...\033[0m" echo -e "\n\033[36m📍 【第一级】正在检索 [$CONT_ID] 战区下的国家/地区...\033[0m"
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | \"\(.id)|\(.name)|\(.keyword_file)\"" /tmp/map.json > /tmp/countries.txt jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | \"\(.id)|\(.name)|\(.keyword_file)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/countries.txt"
i=1; COUNTRY_MAP=(); KEYWORD_MAP=() i=1; COUNTRY_MAP=(); KEYWORD_MAP=()
while IFS="|" read -r c_id c_name k_file; do while IFS="|" read -r c_id c_name k_file; do
echo " $i) $c_name" echo " $i) $c_name"
COUNTRY_MAP[$i]="$c_id" COUNTRY_MAP[$i]="$c_id"
KEYWORD_MAP[$i]="$k_file" KEYWORD_MAP[$i]="$k_file"
((i++)) ((i++))
done < /tmp/countries.txt done < "${SECURE_TMP}/countries.txt"
read -p "请输入选择 [1-$((i-1))] (默认1): " C_SEL read -p "请输入选择 [1-$((i-1))] (默认1): " C_SEL
C_SEL=${C_SEL:-1} C_SEL=${C_SEL:-1}
@@ -255,11 +249,11 @@ if [ "$UPGRADE_MODE" == "false" ]; then
# 📍 动态二级菜单:省/州选择 (基于选中战区和国家) # 📍 动态二级菜单:省/州选择 (基于选中战区和国家)
echo -e "\n\033[36m📍 【第二级】正在检索 [$COUNTRY_ID] 的行政区数据...\033[0m" echo -e "\n\033[36m📍 【第二级】正在检索 [$COUNTRY_ID] 的行政区数据...\033[0m"
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | \"\(.id)|\(.name)\"" /tmp/map.json > /tmp/states.txt jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | \"\(.id)|\(.name)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/states.txt"
STATE_COUNT=$(wc -l < /tmp/states.txt) STATE_COUNT=$(wc -l < "${SECURE_TMP}/states.txt")
if [ "$STATE_COUNT" -eq 1 ]; then if [ "$STATE_COUNT" -eq 1 ]; then
IFS="|" read -r STATE_ID STATE_NAME < /tmp/states.txt IFS="|" read -r STATE_ID STATE_NAME < "${SECURE_TMP}/states.txt"
echo -e "\033[32m💡 该国家下仅有单一配置 [$STATE_NAME],已自动跃迁。\033[0m" echo -e "\033[32m💡 该国家下仅有单一配置 [$STATE_NAME],已自动跃迁。\033[0m"
else else
i=1; STATE_MAP=() i=1; STATE_MAP=()
@@ -267,7 +261,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
echo " $i) $s_name" echo " $i) $s_name"
STATE_MAP[$i]="$s_id" STATE_MAP[$i]="$s_id"
((i++)) ((i++))
done < /tmp/states.txt done < "${SECURE_TMP}/states.txt"
read -p "请输入选择 [1-$((i-1))] (默认1): " S_SEL read -p "请输入选择 [1-$((i-1))] (默认1): " S_SEL
S_SEL=${S_SEL:-1} S_SEL=${S_SEL:-1}
STATE_ID="${STATE_MAP[$S_SEL]}" STATE_ID="${STATE_MAP[$S_SEL]}"
@@ -275,11 +269,11 @@ if [ "$UPGRADE_MODE" == "false" ]; then
# 📍 动态三级菜单:城市选择 (基于战区、国家、州三层过滤) # 📍 动态三级菜单:城市选择 (基于战区、国家、州三层过滤)
echo -e "\n\033[36m📍 【第三级】请锁定具体城市节点:\033[0m" echo -e "\n\033[36m📍 【第三级】请锁定具体城市节点:\033[0m"
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | select(.id==\"$STATE_ID\") | .cities[] | \"\(.id)|\(.name)\"" /tmp/map.json > /tmp/cities.txt jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | select(.id==\"$STATE_ID\") | .cities[] | \"\(.id)|\(.name)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/cities.txt"
CITY_COUNT=$(wc -l < /tmp/cities.txt) CITY_COUNT=$(wc -l < "${SECURE_TMP}/cities.txt")
if [ "$CITY_COUNT" -eq 1 ]; then if [ "$CITY_COUNT" -eq 1 ]; then
IFS="|" read -r CITY_ID CITY_NAME < /tmp/cities.txt IFS="|" read -r CITY_ID CITY_NAME < "${SECURE_TMP}/cities.txt"
echo -e "\033[32m💡 该区域下仅有单一城市 [$CITY_NAME],已自动锁定。\033[0m" echo -e "\033[32m💡 该区域下仅有单一城市 [$CITY_NAME],已自动锁定。\033[0m"
else else
i=1; CITY_MAP=(); CITY_NAME_MAP=() i=1; CITY_MAP=(); CITY_NAME_MAP=()
@@ -288,7 +282,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
CITY_MAP[$i]="$c_id" CITY_MAP[$i]="$c_id"
CITY_NAME_MAP[$i]="$c_name" CITY_NAME_MAP[$i]="$c_name"
((i++)) ((i++))
done < /tmp/cities.txt done < "${SECURE_TMP}/cities.txt"
read -p "请输入选择 [1-$((i-1))] (默认1): " CI_SEL read -p "请输入选择 [1-$((i-1))] (默认1): " CI_SEL
CI_SEL=${CI_SEL:-1} CI_SEL=${CI_SEL:-1}
CITY_ID="${CITY_MAP[$CI_SEL]}" CITY_ID="${CITY_MAP[$CI_SEL]}"
@@ -296,7 +290,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
fi fi
# 清理临时文件 (增加清理 continents.txt) # 清理临时文件 (增加清理 continents.txt)
rm -f /tmp/map.json /tmp/continents.txt /tmp/countries.txt /tmp/states.txt /tmp/cities.txt rm -f "${SECURE_TMP}/map.json" "${SECURE_TMP}/continents.txt" "${SECURE_TMP}/countries.txt" "${SECURE_TMP}/states.txt" "${SECURE_TMP}/cities.txt"
# 本地工作目录初始化 (支持 v3.0 的深度层级) # 本地工作目录初始化 (支持 v3.0 的深度层级)
mkdir -p "${INSTALL_DIR}/core" mkdir -p "${INSTALL_DIR}/core"
@@ -336,11 +330,12 @@ if [ "$UPGRADE_MODE" == "false" ]; then
# [v3.6.0 优化] 使用 OSC 8 终端超链接协议,实现“点击即打开”的极客交互 # [v3.6.0 优化] 使用 OSC 8 终端超链接协议,实现“点击即打开”的极客交互
echo -e "\n\033[36m📘 私有 Bot 创建教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/\033\\👉 [点击此处直接在浏览器中打开] 👈\033]8;;\033\\\033[0m" echo -e "\n\033[36m📘 私有 Bot 创建教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/\033\\👉 [点击此处直接在浏览器中打开] 👈\033]8;;\033\\\033[0m"
echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/ )\033[0m" echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/ )\033[0m"
read -p "请输入您的私有 Telegram Bot Token: " USER_TOKEN read -p "请输入您的私有 Telegram Bot Token: " RAW_TOKEN
USER_TOKEN=$(echo "$RAW_TOKEN" | tr -cd 'a-zA-Z0-9_:-')
# 🛡️ 核心防误触修复:拦截空回车或粘贴换行导致的跳过 Bug # 🛡️ 核心防误触修复:拦截空回车或粘贴换行导致的跳过 Bug
while [ -z "$USER_TOKEN" ]; do while [ -z "$USER_TOKEN" ]; do
read -p "⚠️ Token 不能为空,请重新输入您的 Bot Token: " USER_TOKEN read -p "⚠️ Token 不能为空或包含非法字符,请重新输入: " RAW_TOKEN
USER_TOKEN=$(echo "$RAW_TOKEN" | tr -cd 'a-zA-Z0-9_:-')
done done
TG_TOKEN="$USER_TOKEN" TG_TOKEN="$USER_TOKEN"
@@ -363,7 +358,9 @@ if [ "$UPGRADE_MODE" == "false" ]; then
echo -e "\n\033[33m💡 提示:如果您不知道下方自己的 Chat ID 是什么,可以关注 @userinfobot 获取。\033[0m" echo -e "\n\033[33m💡 提示:如果您不知道下方自己的 Chat ID 是什么,可以关注 @userinfobot 获取。\033[0m"
echo -e "\033[36m📘 查看图文教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/\033\\👉 [点击此处直接在浏览器中打开] 👈\033]8;;\033\\\033[0m" echo -e "\033[36m📘 查看图文教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/\033\\👉 [点击此处直接在浏览器中打开] 👈\033]8;;\033\\\033[0m"
echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/ )\033[0m" echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/ )\033[0m"
read -p "请输入你的 Chat ID (必须准确,否则无法联控): " CHAT_ID read -p "请输入你的 Chat ID (必须准确,否则无法联控): " RAW_CHAT_ID
# 强制只保留数字和负号,封死注入
CHAT_ID=$(echo "$RAW_CHAT_ID" | tr -cd '0-9-')
# ================== [v3.0.3 变更: 智能随机高位端口生成系统] ================== # ================== [v3.0.3 变更: 智能随机高位端口生成系统] ==================
echo -e "\n\033[36m[4.2/7] 正在构建 Webhook 安全通信隧道...\033[0m" echo -e "\n\033[36m[4.2/7] 正在构建 Webhook 安全通信隧道...\033[0m"
@@ -421,7 +418,8 @@ if [ "$UPGRADE_MODE" == "false" ]; then
if [ ${#IP_OPTIONS[@]} -eq 0 ]; then if [ ${#IP_OPTIONS[@]} -eq 0 ]; then
echo -e "\033[33m⚠ 雷达受阻:未能自动探测到公网 IP请手动指定。\033[0m" echo -e "\033[33m⚠ 雷达受阻:未能自动探测到公网 IP请手动指定。\033[0m"
read -p "请输入您要绑定的公网 IP (v4 或 v6): " PUBLIC_IP read -p "请输入您要绑定的公网 IP (v4 或 v6): " RAW_PUBLIC_IP
PUBLIC_IP=$(echo "$RAW_PUBLIC_IP" | tr -cd 'a-fA-F0-9.:[]')
[[ "$PUBLIC_IP" == *":"* ]] && IP_PREF="6" || IP_PREF="4" [[ "$PUBLIC_IP" == *":"* ]] && IP_PREF="6" || IP_PREF="4"
else else
echo "📍 发现可用出口 IP请选择要注册与养护的锚点:" echo "📍 发现可用出口 IP请选择要注册与养护的锚点:"
@@ -595,7 +593,8 @@ if [ "$UPGRADE_MODE" == "true" ]; then
BIND_IP="$NEW_BIND_IP" BIND_IP="$NEW_BIND_IP"
else else
# 如果是未来再升级,配置文件已是最新,直接提取变量供安装脚本尾部使用 # 如果是未来再升级,配置文件已是最新,直接提取变量供安装脚本尾部使用
SAFE_PUBLIC_IP=$(grep "^PUBLIC_IP=" "$CONFIG_FILE" | cut -d'"' -f2) # [修复] 避免 cut 提取无引号变量失败,直接复用已 source 的原生变量
SAFE_PUBLIC_IP="${PUBLIC_IP}"
fi fi
# [v3.5.2 热修复] 兼容老版本没有 NODE_NAME 和 NODE_ALIAS 的情况,无损补齐 # [v3.5.2 热修复] 兼容老版本没有 NODE_NAME 和 NODE_ALIAS 的情况,无损补齐
@@ -629,7 +628,7 @@ echo -e "\n[6/7] 正在部署核心引擎与热数据..."
mkdir -p "${INSTALL_DIR}/data/keywords" mkdir -p "${INSTALL_DIR}/data/keywords"
# [核心修复] 开辟临时下载区,确保下载 100% 成功后再替换旧核心 # [核心修复] 开辟临时下载区,确保下载 100% 成功后再替换旧核心
TMP_CORE="/tmp/ip_sentinel_core_$$" TMP_CORE="${SECURE_TMP}/core_update"
mkdir -p "$TMP_CORE" mkdir -p "$TMP_CORE"
# 拉取核心代码至临时区 # 拉取核心代码至临时区
@@ -650,7 +649,21 @@ if [ ! -s "${TMP_CORE}/runner.sh" ] || [ ! -s "${TMP_CORE}/agent_daemon.sh" ]; t
exit 1 exit 1
fi fi
# 校验完美通过,执行原子化交接 # 🟢 [原子化交接核心]: 校验完美通过,新代码已在本地备妥!
# 此时再以雷霆手段镇压旧进程,杜绝遗言陷阱与断网变砖的可能!
echo "⏳ 新引擎校验通过,正在抹杀旧版守护进程..."
if command -v systemctl >/dev/null 2>&1; then
systemctl kill --signal=SIGKILL ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
systemctl stop ip-sentinel-runner.timer ip-sentinel-updater.timer ip-sentinel-report.timer ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
fi
pkill -9 -f "webhook.py" >/dev/null 2>&1 || true
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1 || true
pkill -9 -f "runner.sh" >/dev/null 2>&1 || true
pkill -9 -f "tg_report.sh" >/dev/null 2>&1 || true
pkill -9 -f "updater.sh" >/dev/null 2>&1 || true
pkill -9 -f "sentinel_scheduler.sh" >/dev/null 2>&1 || true
# 执行代码目录的物理替换
rm -rf "${INSTALL_DIR}/core" 2>/dev/null rm -rf "${INSTALL_DIR}/core" 2>/dev/null
mv "$TMP_CORE" "${INSTALL_DIR}/core" mv "$TMP_CORE" "${INSTALL_DIR}/core"
chmod +x ${INSTALL_DIR}/core/*.sh chmod +x ${INSTALL_DIR}/core/*.sh
@@ -667,8 +680,12 @@ fi
# 7. 配置系统定时任务 (高频调度与看门狗) # 7. 配置系统定时任务 (高频调度与看门狗)
echo -e "\n[7/7] 正在注入系统守护进程与调度器..." echo -e "\n[7/7] 正在注入系统守护进程与调度器..."
# [v3.3.0 新增] 初始化 UA 指纹库更新时间戳,确立 30 天滚动周期的计算锚点 # [时钟同步核心] 获取部署时的绝对 UTC 时间锚点,用于打散全球节点的云端拉取并发
echo $(date +%s) > "${INSTALL_DIR}/core/.ua_last_update" DEPLOY_UTC_HOUR=$(date -u +%H)
DEPLOY_UTC_MIN=$(date -u +%M)
# [v3.3.0 新增] 初始化 UA 指纹库更新时间戳,确立 30 天滚动周期的计算锚点 (强制 UTC)
echo $(date -u +%s) > "${INSTALL_DIR}/core/.ua_last_update"
if command -v systemctl >/dev/null 2>&1; then if command -v systemctl >/dev/null 2>&1; then
echo "💡 检测到 Systemd 环境,正在部署原生守护服务..." echo "💡 检测到 Systemd 环境,正在部署原生守护服务..."
@@ -692,8 +709,8 @@ EOF
[Unit] [Unit]
Description=Timer for IP-Sentinel Runner Service Description=Timer for IP-Sentinel Runner Service
[Timer] [Timer]
OnActiveSec=10s # [频率优化] 改用严格的 20 分钟步进,杜绝 OTA 瞬间的并发走火!
OnUnitActiveSec=30min OnCalendar=*:0/20
RandomizedDelaySec=180 RandomizedDelaySec=180
Persistent=true Persistent=true
Unit=ip-sentinel-runner.service Unit=ip-sentinel-runner.service
@@ -720,7 +737,8 @@ EOF
[Unit] [Unit]
Description=Timer for IP-Sentinel Updater Service Description=Timer for IP-Sentinel Updater Service
[Timer] [Timer]
OnCalendar=*-*-* 03:00:00 # [绝对 UTC 锚点] 每天精确在部署的时刻触发,实现全球请求的天然削峰
OnCalendar=*-*-* ${DEPLOY_UTC_HOUR}:${DEPLOY_UTC_MIN}:00 UTC
Persistent=true Persistent=true
Unit=ip-sentinel-updater.service Unit=ip-sentinel-updater.service
[Install] [Install]
@@ -750,7 +768,8 @@ EOF
[Unit] [Unit]
Description=Timer for IP-Sentinel Telegram Report Service Description=Timer for IP-Sentinel Telegram Report Service
[Timer] [Timer]
OnCalendar=*-*-* 08:00:00 # [绝对 UTC 锚点] 全球统一:每天 UTC 16:00 准时向司令部发送战报
OnCalendar=*-*-* 16:00:00 UTC
Unit=ip-sentinel-report.service Unit=ip-sentinel-report.service
[Install] [Install]
WantedBy=timers.target WantedBy=timers.target
@@ -776,7 +795,9 @@ WantedBy=multi-user.target
EOF EOF
# [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送 # [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送
echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip" # 强制使用无参数 curl 裸奔探测,对齐 agent_daemon 的认知,防止双栈机型 IPv4/v6 认知错乱导致重启误报
DAEMON_IP=$( (curl -s -m 5 api.ip.sb/ip || curl -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
[ -n "$DAEMON_IP" ] && echo "$DAEMON_IP" > "${INSTALL_DIR}/core/.last_ip" || echo "$(echo "$SAFE_PUBLIC_IP" | tr -d '[]')" > "${INSTALL_DIR}/core/.last_ip"
systemctl daemon-reload systemctl daemon-reload
systemctl enable --now ip-sentinel-report.timer systemctl enable --now ip-sentinel-report.timer
@@ -804,23 +825,28 @@ EOF
rc-update del crond default >/dev/null 2>&1 || true rc-update del crond default >/dev/null 2>&1 || true
rc-service crond stop >/dev/null 2>&1 || true rc-service crond stop >/dev/null 2>&1 || true
pkill -9 crond >/dev/null 2>&1 || true pkill -9 crond >/dev/null 2>&1 || true
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_clean || true crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_clean" || true
[ -f /tmp/cron_clean ] && crontab /tmp/cron_clean >/dev/null 2>&1 [ -f "${SECURE_TMP}/cron_clean" ] && crontab "${SECURE_TMP}/cron_clean" >/dev/null 2>&1
rm -f /tmp/cron_clean rm -f "${SECURE_TMP}/cron_clean"
# 2. 写入我们的死循环守护进程 # 2. 写入我们的死循环守护进程
cat > ${INSTALL_DIR}/core/sentinel_scheduler.sh << 'EOF' # [极客修复] 将 << 'EOF' 变为 << EOF以允许在安装时将部署时刻的 DEPLOY_UTC 变量作为硬编码注入脚本中
cat > ${INSTALL_DIR}/core/sentinel_scheduler.sh << EOF
#!/bin/bash #!/bin/bash
while true; do while true; do
MIN=$(date +%M) # 强制获取绝对 UTC 时分,免疫系统错误时区
HOUR=$(date +%H) MIN=\$(date -u +%M)
if [ "$MIN" == "00" ] || [ "$MIN" == "30" ]; then HOUR=\$(date -u +%H)
# [频率优化] 匹配 20 分钟步进 (00, 20, 40)
if [ "\$MIN" == "00" ] || [ "\$MIN" == "20" ] || [ "\$MIN" == "40" ]; then
/bin/bash /opt/ip_sentinel/core/runner.sh >/dev/null 2>&1 /bin/bash /opt/ip_sentinel/core/runner.sh >/dev/null 2>&1
fi fi
if [ "$HOUR" == "03" ] && [ "$MIN" == "00" ]; then # [绝对 UTC 锚点] 基于部署时刻的锚点触发热数据更新,天然并发削峰
if [ "\$HOUR" == "${DEPLOY_UTC_HOUR}" ] && [ "\$MIN" == "${DEPLOY_UTC_MIN}" ]; then
/bin/bash /opt/ip_sentinel/core/updater.sh >/dev/null 2>&1 /bin/bash /opt/ip_sentinel/core/updater.sh >/dev/null 2>&1
fi fi
if [ "$HOUR" == "08" ] && [ "$MIN" == "00" ]; then # [绝对 UTC 锚点] 统一 UTC 16:00 发送战报
if [ "\$HOUR" == "16" ] && [ "\$MIN" == "00" ]; then
/bin/bash /opt/ip_sentinel/core/tg_report.sh >/dev/null 2>&1 /bin/bash /opt/ip_sentinel/core/tg_report.sh >/dev/null 2>&1
fi fi
if ! pgrep -f 'webhook.py' >/dev/null; then if ! pgrep -f 'webhook.py' >/dev/null; then
@@ -849,28 +875,35 @@ EOF
# ========================================== # ==========================================
# 🟢 走常规调度路线 (正常的 Linux 或 KVM 型 Alpine) # 🟢 走常规调度路线 (正常的 Linux 或 KVM 型 Alpine)
# ========================================== # ==========================================
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_backup || true crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_backup" || true
echo "*/30 * * * * ${INSTALL_DIR}/core/runner.sh >/dev/null 2>&1" >> /tmp/cron_backup # [频率优化] 调整为 */20
echo "0 3 * * * ${INSTALL_DIR}/core/updater.sh >/dev/null 2>&1" >> /tmp/cron_backup echo "*/20 * * * * ${INSTALL_DIR}/core/runner.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
# [绝对 UTC 锚点] 每天精确在部署的 UTC 时刻触发
echo "${DEPLOY_UTC_MIN} ${DEPLOY_UTC_HOUR} * * * ${INSTALL_DIR}/core/updater.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
echo "0 8 * * * ${INSTALL_DIR}/core/tg_report.sh >/dev/null 2>&1" >> /tmp/cron_backup # [绝对 UTC 锚点] 统一 UTC 16:00
echo "0 16 * * * ${INSTALL_DIR}/core/tg_report.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip" echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip"
# [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送
# 强制使用无参数 curl 裸奔探测,对齐 agent_daemon 的认知,防止双栈机型 IPv4/v6 认知错乱导致重启误报
DAEMON_IP=$( (curl -s -m 5 api.ip.sb/ip || curl -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
[ -n "$DAEMON_IP" ] && echo "$DAEMON_IP" > "${INSTALL_DIR}/core/.last_ip" || echo "$(echo "$SAFE_PUBLIC_IP" | tr -d '[]')" > "${INSTALL_DIR}/core/.last_ip"
if command -v rc-update >/dev/null 2>&1 && [ -d "/etc/local.d" ]; then if command -v rc-update >/dev/null 2>&1 && [ -d "/etc/local.d" ]; then
echo "nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" > /etc/local.d/ip_sentinel.start echo "nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" > /etc/local.d/ip_sentinel.start
chmod +x /etc/local.d/ip_sentinel.start chmod +x /etc/local.d/ip_sentinel.start
rc-update add local default >/dev/null 2>&1 rc-update add local default >/dev/null 2>&1
else else
echo "@reboot nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> /tmp/cron_backup echo "@reboot nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> "${SECURE_TMP}/cron_backup"
fi fi
echo "* * * * * pgrep -f 'webhook.py' >/dev/null || nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> /tmp/cron_backup echo "* * * * * pgrep -f 'webhook.py' >/dev/null || nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> "${SECURE_TMP}/cron_backup"
nohup bash "${INSTALL_DIR}/core/agent_daemon.sh" >/dev/null 2>&1 & nohup bash "${INSTALL_DIR}/core/agent_daemon.sh" >/dev/null 2>&1 &
fi fi
[ -f /tmp/cron_backup ] && crontab /tmp/cron_backup >/dev/null 2>&1 [ -f "${SECURE_TMP}/cron_backup" ] && crontab "${SECURE_TMP}/cron_backup" >/dev/null 2>&1
if [ -d "/etc/crontabs" ] && [ -f "/var/spool/cron/crontabs/root" ]; then if [ -d "/etc/crontabs" ] && [ -f "/var/spool/cron/crontabs/root" ]; then
cp -f /var/spool/cron/crontabs/root /etc/crontabs/root 2>/dev/null || true cp -f /var/spool/cron/crontabs/root /etc/crontabs/root 2>/dev/null || true
@@ -884,7 +917,7 @@ EOF
crond -b >/dev/null 2>&1 || true crond -b >/dev/null 2>&1 || true
fi fi
rm -f /tmp/cron_backup rm -f "${SECURE_TMP}/cron_backup"
fi fi
fi fi
@@ -970,7 +1003,7 @@ else
echo "🎉 边缘节点 (Agent) 部署流程彻底完成!" echo "🎉 边缘节点 (Agent) 部署流程彻底完成!"
fi fi
echo "📍 你的本地守护区域已锁定为: $REGION_NAME" echo "📍 你的本地守护区域已锁定为: $REGION_NAME"
echo "⚙️ 哨兵现已开启 [每30分钟] 的高频高拟真养护循环。" echo "⚙️ 哨兵现已开启 [每20分钟] 的高频高拟真养护循环。"
if [[ -n "$TG_TOKEN" ]]; then if [[ -n "$TG_TOKEN" ]]; then
echo "📡 Webhook 监听已启动 (端口: $AGENT_PORT) 并向中枢发送了注册请求。" echo "📡 Webhook 监听已启动 (端口: $AGENT_PORT) 并向中枢发送了注册请求。"

View File

@@ -27,7 +27,8 @@ if ! type log >/dev/null 2>&1; then
# 日志格式注入 [版本号] 追踪标识 # 日志格式注入 [版本号] 追踪标识
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3") local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3")
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $core_msg" >> "${INSTALL_DIR}/logs/sentinel.log" # [时区对齐] 强制无视本地时区,以绝对 UTC 时间写入日志
echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] $core_msg" >> "${INSTALL_DIR}/logs/sentinel.log"
# 强制推送到 Systemd Journal (如果系统支持) # 强制推送到 Systemd Journal (如果系统支持)
if command -v logger >/dev/null 2>&1; then if command -v logger >/dev/null 2>&1; then
@@ -161,40 +162,133 @@ for ((i=1; i<=TOTAL_ACTIONS; i++)); do
log "$MODULE_NAME" "EXEC " "动作[$i/$TOTAL_ACTIONS]完成 | HTTP状态: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON" log "$MODULE_NAME" "EXEC " "动作[$i/$TOTAL_ACTIONS]完成 | HTTP状态: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON"
# 【核心升级】行为拉伸:每次动作后强制休眠 90 - 150 秒 # 【核心升级】行为拉伸:每次动作后强制休眠 90 - 120 秒
# 结合动作总数,总耗时将稳定在 10 分钟 到 25 分钟之间 # 结合动作总数,总耗时将稳定在 10 分钟 到 20 分钟之间
if [ $i -lt $TOTAL_ACTIONS ]; then if [ $i -lt $TOTAL_ACTIONS ]; then
SLEEP_TIME=$((90 + RANDOM % 61)) SLEEP_TIME=$((90 + RANDOM % 31))
log "$MODULE_NAME" "WAIT " "阅读当前页面内容,模拟停留 $SLEEP_TIME 秒..." log "$MODULE_NAME" "WAIT " "阅读当前页面内容,模拟停留 $SLEEP_TIME 秒..."
sleep $SLEEP_TIME sleep $SLEEP_TIME
fi fi
done done
# --- [结果纠偏自检 (V4.0.3 终极真理版: 穿透 Google 真实 GeoIP 数据库)] --- # --- [结果纠偏自检 (V4.0.9 终极三核雷达: URL跳转 + Premium + Music)] ---
# 彻底抛弃不可靠的前端 URL 重定向判定 (解决 Issue #35 和 #14 的假阳性问题) # 战术揭秘:汲取开源社区顶级探针的精髓!
# 战术揭秘Google 与 YouTube 共享绝对一致的底层 GeoIP 库 # 1. 传统 URL 跳转探测:捕捉 www.google.com 底层 302 重定向域名的真实归属
# 我们直接抓取 YouTube 源码内部的 "GL" (Geo-Location) 环境变量,拿到 Google 视角的 2 位国家代码! # 2. YT Premium 深度探测:提取核心 contentRegion 变量,并强匹配 www.google.cn 送中特征。
# 3. 严格一致性校验:任何一端出现非预期偏移,立即判定为漂移,彻底消除虚假“成功”。
log "$MODULE_NAME" "INFO " "正在穿透获取 Google 底层真实 GeoIP 锚点..." log "$MODULE_NAME" "INFO " "启动三核交叉验证 (URL跳转 + YT Premium + YT Music) 穿透获取 GeoIP..."
YT_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 15 -s -L https://www.youtube.com)
# 精准正则提取 "GL":"XX" 中的两位字母 (完美兼容所有老旧系统环境) # 核心 1: 传统 URL 跳转探测 (请求 www 才能触发准确跳转)
REAL_REGION=$(echo "$YT_HTML" | grep -o '"GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z') JUMP_HDR=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -sI "http://www.google.com/")
JUMP_LOC=$(echo "$JUMP_HDR" | grep -i "^location:" | tr -d '\r\n')
JUMP_GL=""
if [ -z "$REAL_REGION" ]; then if [ -z "$JUMP_LOC" ]; then
STATUS="🚨 探针失效 (网络阻断,或已被 Google 验证码/5秒盾拦截)" # 无跳转 (HTTP 200) 通常意味着原生被定位于 US
JUMP_GL="US"
elif [[ "$JUMP_LOC" == *".google.cn"* ]] || [[ "$JUMP_LOC" == *"gl=CN"* ]]; then
JUMP_GL="CN"
elif [[ "$JUMP_LOC" == *"gl="* ]]; then
JUMP_GL=$(echo "$JUMP_LOC" | grep -o 'gl=[A-Za-z]\{2\}' | head -n 1 | cut -d'=' -f2 | tr 'a-z' 'A-Z')
else else
# [基准对齐] 提取配置大区 (兼容州级穿透,如 US-TX -> US),并修正英国的 ISO 标准代码 # 从域名中提取区域后缀 (如 .co.jp -> JP, .com.hk -> HK, .de -> DE)
TARGET_CC="${REGION_CODE%%-*}" JUMP_DOMAIN=$(echo "$JUMP_LOC" | grep -o 'google\.[a-z\.]*' | head -n 1 | sed 's/google\.//')
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB" case "$JUMP_DOMAIN" in
"com") JUMP_GL="US" ;;
# 终极审判逻辑 "com.hk") JUMP_GL="HK" ;;
if [ "$REAL_REGION" == "CN" ]; then "com.tw") JUMP_GL="TW" ;;
STATUS="❌ 严重高危IP 已被 Google 判定为中国大陆 (送中)" "co.jp") JUMP_GL="JP" ;;
elif [ "$REAL_REGION" == "$TARGET_CC" ]; then "co.uk") JUMP_GL="GB" ;;
STATUS="✅ 目标区域达成 (底层真实锚定: $REAL_REGION)" "co.kr") JUMP_GL="KR" ;;
"co.in") JUMP_GL="IN" ;;
"co.id") JUMP_GL="ID" ;;
"co.th") JUMP_GL="TH" ;;
"com.sg") JUMP_GL="SG" ;;
"com.my") JUMP_GL="MY" ;;
"com.au") JUMP_GL="AU" ;;
"com.br") JUMP_GL="BR" ;;
"com.mx") JUMP_GL="MX" ;;
"com.ar") JUMP_GL="AR" ;;
"co.za") JUMP_GL="ZA" ;;
"cn") JUMP_GL="CN" ;;
"") JUMP_GL="" ;;
*)
# 提取标准两字母后缀 (.de, .fr, .nl)
LAST_EXT=$(echo "$JUMP_DOMAIN" | awk -F'.' '{print $NF}' | tr 'a-z' 'A-Z')
if [ ${#LAST_EXT} -eq 2 ]; then
JUMP_GL="$LAST_EXT"
else
JUMP_GL="US"
fi
;;
esac
fi
# 核心 2: YouTube Premium 探测
YT_PR_GL=""
# [修复] 必须带上本轮循环的专属 UA (-A "$SESSION_UA"),防止被 Google CDN 丢进无状态爬虫兜底页
YT_PR_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L -A "$SESSION_UA" "https://www.youtube.com/premium")
if echo "$YT_PR_HTML" | grep -q 'www.google.cn'; then
YT_PR_GL="CN"
else
# 穷举风控变量提取
YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"contentRegion":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
fi
# 核心 3: YouTube Music 探测
YT_MU_GL=""
# [修复] 同样加持 UA 装甲,强行唤出完整版前端框架
YT_MU_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L -A "$SESSION_UA" "https://music.youtube.com/")
if echo "$YT_MU_HTML" | grep -q 'www.google.cn'; then
YT_MU_GL="CN"
else
# [修复] Music 的核心配置变量是 INNERTUBE_CONTEXT_GL
YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
fi
# [基准对齐] 提取配置大区 (兼容州级穿透),并修正英国的 ISO 代码
TARGET_CC="${REGION_CODE%%-*}"
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB"
# --- 终极审判逻辑 (以 YouTube 核心业务为主导,兼顾底层雷达权重) ---
IS_CN=0
VALID_PROBES=0
# 1. 扫描所有探针,统计有效性并执行“送中”一票否决
for val in "$JUMP_GL" "$YT_PR_GL" "$YT_MU_GL"; do
if [ -n "$val" ]; then
((VALID_PROBES++))
[ "$val" == "CN" ] && IS_CN=1
fi
done
if [ $VALID_PROBES -eq 0 ]; then
STATUS="🚨 探针失效 (三核全部熔断,可能遭严重风控拦截)"
elif [ $IS_CN -eq 1 ]; then
STATUS="❌ 严重高危!三核雷达判定 IP 已被中国大陆锁定 (送中)"
else
# 2. 评估核心流媒体业务是否达标 (只要 YT_PR 或 YT_MU 其一达标,即视为成功)
YT_MATCH=0
[ "$YT_PR_GL" == "$TARGET_CC" ] && YT_MATCH=1
[ "$YT_MU_GL" == "$TARGET_CC" ] && YT_MATCH=1
if [ $YT_MATCH -eq 1 ]; then
# 3. 核心业务达标,进一步评估底层路由权重
if [ -n "$JUMP_GL" ] && [ "$JUMP_GL" != "$TARGET_CC" ]; then
# YT 解锁了,但基础跳转 IP 库漂移了 (降级为 ✅,但备注底层漂移)
STATUS="✅ 目标区域达成 (YT主导成功, Jump副雷达漂移至 ${JUMP_GL}) | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-}"
else
# 完美达成
STATUS="✅ 目标区域达成 (Jump: ${JUMP_GL:-} | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-})"
fi
else else
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际归属 $REAL_REGION (跨区送医/送美)" # YouTube 流媒体核心未能解锁目标区域,宣判漂移
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际 (Jump: ${JUMP_GL:-} | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-})"
fi fi
fi fi

View File

@@ -31,27 +31,76 @@ fi
# 补齐协议版本参数 (-4 或 -6) # 补齐协议版本参数 (-4 或 -6)
PROBE_ARGS+=("-${DYNAMIC_IP_PREF}") PROBE_ARGS+=("-${DYNAMIC_IP_PREF}")
# 2. 静默拉取原始数据 (消除短链接 RCE 劫持风险,收编为本地固化执行) # 2. 智能拉取引擎 (官方主干优先防 RCE双栈 CDN 保底,外加文件防伪强校验)
PROBE_SCRIPT="/opt/ip_sentinel/core/ip_probe.sh" PROBE_SCRIPT="/opt/ip_sentinel/core/ip_probe.sh"
if [ ! -x "$PROBE_SCRIPT" ]; then
# 若本地探针尚未就绪,直接从 GitHub 官方主干拉取底层源码,绕过未知域名 # [校验 1] 验证本地残留脚本是否损坏 (防止之前被墙或拦截返回了 HTML 报错页)
curl -sL "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$PROBE_SCRIPT" 2>/dev/null if [ -f "$PROBE_SCRIPT" ] && ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
rm -f "$PROBE_SCRIPT"
fi
if [ ! -s "$PROBE_SCRIPT" ]; then
# 🛡️ 首选防线: 严格遵守从 GitHub 官方主干拉取,捍卫纯净底线
curl -sL -m 10 "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$PROBE_SCRIPT" 2>/dev/null
# 🚑 文件防伪校验: 如果纯 V6 无法解析 GitHub 返回了 HTML 报错页,剔除它!
if ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
rm -f "$PROBE_SCRIPT" 2>/dev/null
# 降级到双栈 CDN 节点兜底 (仅在 GitHub 彻底失效时启用)
curl -sL -m 15 "https://IP.Check.Place" -o "$PROBE_SCRIPT" 2>/dev/null
fi
chmod +x "$PROBE_SCRIPT" 2>/dev/null chmod +x "$PROBE_SCRIPT" 2>/dev/null
fi fi
# 采用本地原生执行,拥抱底层路由的真实结果 # ==========================================
RAW_OUTPUT=$(timeout 180 bash "$PROBE_SCRIPT" "${PROBE_ARGS[@]}" 2>/dev/null) # 3. 极速预检与容灾打靶系统
# ==========================================
# 2. 极致截取 JSON (无视开头的赞助商广告与不可见字符,精准提取) # 封装链路预检函数 (4秒极速探路拒绝死等)
preflight_check() {
local curl_args=("-s" "-m" "4")
# 提取网卡和协议约束
for ((i=1; i<=$#; i++)); do
if [[ "${!i}" == "-i" ]]; then
local next=$((i+1))
curl_args+=("--interface" "${!next}")
elif [[ "${!i}" == "-4" ]]; then
curl_args+=("-4")
elif [[ "${!i}" == "-6" ]]; then
curl_args+=("-6")
fi
done
# 验证该路由设置是否能成功连通外部网络
curl "${curl_args[@]}" "https://www.cloudflare.com/cdn-cgi/trace" >/dev/null 2>&1
return $?
}
# 📡 寻路雷达:测定哪一组参数可以走通
FINAL_ARGS=()
if preflight_check "${PROBE_ARGS[@]}"; then
# 阶梯 0: 原定参数 (带 BIND_IP 和协议) 通畅
FINAL_ARGS=("${PROBE_ARGS[@]}")
else
# 阶梯 1: 剥离物理网卡限制,只保留协议限制
FALLBACK_ARGS=("-y" "-j" "-${DYNAMIC_IP_PREF}")
if preflight_check "${FALLBACK_ARGS[@]}"; then
FINAL_ARGS=("${FALLBACK_ARGS[@]}")
else
# 阶梯 2: 终极裸跑 (不限网卡,不限协议)
FINAL_ARGS=("-y" "-j")
fi
fi
# ==========================================
# 4. 终极实弹打靶
# ==========================================
# 此时 FINAL_ARGS 已经被证实是连通的,我们只执行 1 次 ip.sh
# 将超时放宽至 300 秒,给第三方 API (如 ipregistry) 充足的响应时间
RAW_OUTPUT=$(timeout 300 bash "$PROBE_SCRIPT" "${FINAL_ARGS[@]}" 2>/dev/null)
JSON_DATA="{${RAW_OUTPUT#*\{}" JSON_DATA="{${RAW_OUTPUT#*\{}"
# [v4.0.3 核心抢修: 强力去污粉] 专门针对 Alpine/Busybox 等轻量级环境!
# 底层探测脚本的正则去色在 Alpine 上会失效,导致 ANSI 控制符混入 JSON。
# 必须在此处彻底清洗真实的 ESC 字符与字面量 x1b否则会导致 TG API 静默拒收!
ESC=$(printf '\033') ESC=$(printf '\033')
JSON_DATA=$(printf "%s" "$JSON_DATA" | sed -e "s/${ESC}\[[0-9;]*[a-zA-Z]//g" -e "s/${ESC}[0-9;]*[a-zA-Z]//g" -e "s/x1b\\[[0-9;]*[a-zA-Z]//g" -e "s/x1b[0-9;]*[a-zA-Z]//g") JSON_DATA=$(printf "%s" "$JSON_DATA" | sed -e "s/${ESC}\[[0-9;]*[a-zA-Z]//g" -e "s/${ESC}[0-9;]*[a-zA-Z]//g" -e "s/x1b\\[[0-9;]*[a-zA-Z]//g" -e "s/x1b[0-9;]*[a-zA-Z]//g")
# 2. 提取基础物理定位与身份特征 (兼作合法性校验)
IP_ADDR=$(echo "$JSON_DATA" | jq -r '.Head.IP // empty' 2>/dev/null) IP_ADDR=$(echo "$JSON_DATA" | jq -r '.Head.IP // empty' 2>/dev/null)
if [ -z "$IP_ADDR" ]; then if [ -z "$IP_ADDR" ]; then
@@ -65,7 +114,6 @@ if [ -z "$IP_ADDR" ]; then
exit 1 exit 1
fi fi
[ -z "$IP_ADDR" ] && IP_ADDR="$PUBLIC_IP"
ASN=$(echo "$JSON_DATA" | jq -r '.Info.ASN // "Unknown"' 2>/dev/null) ASN=$(echo "$JSON_DATA" | jq -r '.Info.ASN // "Unknown"' 2>/dev/null)
ORG=$(echo "$JSON_DATA" | jq -r '.Info.Organization // "Unknown"' 2>/dev/null) ORG=$(echo "$JSON_DATA" | jq -r '.Info.Organization // "Unknown"' 2>/dev/null)
CITY=$(echo "$JSON_DATA" | jq -r '.Info.City.Name // "Unknown"' 2>/dev/null) CITY=$(echo "$JSON_DATA" | jq -r '.Info.City.Name // "Unknown"' 2>/dev/null)
@@ -142,9 +190,10 @@ fi
# 7. 组装情报级 Markdown 战报 # 7. 组装情报级 Markdown 战报
# 提取本地运行态版本与生成时间戳 # 提取本地运行态版本与生成时间戳
LOCAL_VER="${AGENT_VERSION:-未知}" LOCAL_VER="${AGENT_VERSION:-未知}"
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S") # [时区对齐] 深海声呐战报落款强制采用绝对 UTC 时间
# [核心修复] 抛弃本地残缺配置,直接提取探针刚刚实测拿到的真实出口 IP 拼接链接! CURRENT_TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
LINK_IP=$(echo "$IP_ADDR" | tr -d '[]') # [体验修复] 探针返回的 IP 带有星号掩码,强制使用中枢下发的真实 IP 拼接,以防直达链接失效!
LINK_IP=$(echo "$PUBLIC_IP" | tr -d '[]')
REPORT="🎯 *IP-Sentinel 深海声呐报告* REPORT="🎯 *IP-Sentinel 深海声呐报告*
📍 节点:\`${NODE_ALIAS}\` 📍 节点:\`${NODE_ALIAS}\`

View File

@@ -45,7 +45,8 @@ fi
log_msg() { log_msg() {
local TYPE=$1 local TYPE=$1
local MSG=$2 local MSG=$2
local TIME=$(date "+%Y-%m-%d %H:%M:%S") # [时区对齐] 强制无视本地时区,以绝对 UTC 时间生成日志时间戳
local TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
# [v3.4.0 核心] 提取当前配置中的版本锚点 # [v3.4.0 核心] 提取当前配置中的版本锚点
local local_ver="${AGENT_VERSION:-未知}" local local_ver="${AGENT_VERSION:-未知}"

View File

@@ -36,7 +36,7 @@ log() {
# 日志格式注入 [版本号] 追踪标识 # 日志格式注入 [版本号] 追踪标识
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$level" "$module" "$REGION_CODE" "$msg") local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$level" "$module" "$REGION_CODE" "$msg")
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $core_msg" >> "$LOG_FILE" echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] $core_msg" >> "$LOG_FILE"
# 强制推送到 Systemd Journal (如果系统支持) # 强制推送到 Systemd Journal (如果系统支持)
if command -v logger >/dev/null 2>&1; then if command -v logger >/dev/null 2>&1; then
@@ -50,7 +50,7 @@ export -f log
export CONFIG_FILE INSTALL_DIR export CONFIG_FILE INSTALL_DIR
# 3. 防僵尸网络特征 (Cron Jitter) - 核心隐蔽逻辑 # 3. 防僵尸网络特征 (Cron Jitter) - 核心隐蔽逻辑
# 配合每 30 分钟的调度周期,将随机休眠控制在 0 到 180 秒内,彻底打散全球并发请求 # 配合每 20 分钟的调度周期,将随机休眠控制在 0 到 180 秒内,彻底打散全球并发请求
if [ -t 1 ]; then if [ -t 1 ]; then
log "SYSTEM" "INFO " "💻 检测到人工终端干预,跳过静默休眠,立即执行任务!" log "SYSTEM" "INFO " "💻 检测到人工终端干预,跳过静默休眠,立即执行任务!"
else else

View File

@@ -18,6 +18,22 @@ if [ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ]; then
exit 0 exit 0
fi fi
# ================== [v4.0.8 核心: 防并发风暴与 60 秒冷却机制] ==================
LOCK_FILE="${INSTALL_DIR}/core/.report_lock"
if [ -f "$LOCK_FILE" ]; then
LAST_RUN=$(cat "$LOCK_FILE" 2>/dev/null)
NOW=$(date +%s)
# 校验 LAST_RUN 是否为有效数字,并比对 60 秒冷却期
if [[ "$LAST_RUN" =~ ^[0-9]+$ ]]; then
if [ $((NOW - LAST_RUN)) -lt 60 ]; then
echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] [v${AGENT_VERSION:-未知}] [WARN ] [Report ] [SYSTEM] ⚠️ 战报请求过于频繁,触发 60 秒防并发风暴拦截。" >> "${INSTALL_DIR}/logs/sentinel.log"
exit 0
fi
fi
fi
echo $(date +%s) > "$LOCK_FILE"
# ==============================================================================
# 2. 节点元数据抓取 (v3.2.2 协议自适应与多级容灾版) # 2. 节点元数据抓取 (v3.2.2 协议自适应与多级容灾版)
# [v3.5.2 核心: 引入双轨身份架构] # [v3.5.2 核心: 引入双轨身份架构]
if [ -z "$NODE_NAME" ]; then if [ -z "$NODE_NAME" ]; then
@@ -96,7 +112,7 @@ case "$REGION_CODE" in
*) FLAG="🌐" ;; *) FLAG="🌐" ;;
esac esac
# 3. 截取过去 24 小时的日志 (每天48次轮询,保留最新 1000 行足以覆盖单日战报) # 3. 截取过去 24 小时的日志 (每天72次轮询,保留最新 1000 行足以覆盖单日战报)
LOG_CONTENT=$(tail -n 1000 "$LOG_FILE" 2>/dev/null) LOG_CONTENT=$(tail -n 1000 "$LOG_FILE" 2>/dev/null)
if [ -z "$LOG_CONTENT" ]; then if [ -z "$LOG_CONTENT" ]; then
@@ -164,7 +180,7 @@ else
MSG="$MSG MSG="$MSG
🕒 **最近执行快照 [${LAST_MOD:-"System"}]:** 🕒 **最近执行快照 [${LAST_MOD:-"System"}]:**
时间: ${LAST_TIME:-"暂无数据"} 时间: ${LAST_TIME:-"暂无数据"} (节点本地)
结论: ${LAST_SCORE:-"暂无数据"}" 结论: ${LAST_SCORE:-"暂无数据"}"
fi fi
@@ -174,6 +190,8 @@ fi
# ========================================== # ==========================================
# 从配置文件提取当前本地版本,若无则默认为未知 # 从配置文件提取当前本地版本,若无则默认为未知
LOCAL_VER="${AGENT_VERSION:-未知}" LOCAL_VER="${AGENT_VERSION:-未知}"
# [时区对齐] 强制获取当前绝对 UTC 时间,作为全局统一的战报落款
REPORT_UTC_TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
# 极轻量级探针: 抓取 GitHub 云端的 version.txt (超时 3 秒KV解析法) # 极轻量级探针: 抓取 GitHub 云端的 version.txt (超时 3 秒KV解析法)
REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main" REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
@@ -183,6 +201,7 @@ REMOTE_VER=$(curl -s -m 3 "${REPO_RAW_URL}/version.txt" | grep "^AGENT_VERSION="
MSG="$MSG MSG="$MSG
---------------------------- ----------------------------
🛡️ **系统引擎状态** 🛡️ **系统引擎状态**
⏱️ 战报生成: \`${REPORT_UTC_TIME}\`
当前运行版本: \`v${LOCAL_VER}\`" 当前运行版本: \`v${LOCAL_VER}\`"
# 比对逻辑:如果成功抓到了远端版本,且和本地不一样 # 比对逻辑:如果成功抓到了远端版本,且和本地不一样

View File

@@ -30,6 +30,8 @@ echo "========================================================"
echo "[1/4] 正在停止并删除 Systemd 服务..." echo "[1/4] 正在停止并删除 Systemd 服务..."
if command -v systemctl >/dev/null 2>&1; then if command -v systemctl >/dev/null 2>&1; then
echo "💡 检测到 Systemd 环境,正在抹除 Systemd 服务单元..." echo "💡 检测到 Systemd 环境,正在抹除 Systemd 服务单元..."
# [防死锁与走火修复] 先发送 SIGKILL 瞬间抹杀常驻守护进程,防止卡死或触发遗言
systemctl kill --signal=SIGKILL ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
systemctl disable --now ip-sentinel-runner.service ip-sentinel-runner.timer \ systemctl disable --now ip-sentinel-runner.service ip-sentinel-runner.timer \
ip-sentinel-updater.service ip-sentinel-updater.timer \ ip-sentinel-updater.service ip-sentinel-updater.timer \
ip-sentinel-report.service ip-sentinel-report.timer \ ip-sentinel-report.service ip-sentinel-report.timer \
@@ -62,9 +64,8 @@ pkill -9 -f "sentinel_scheduler.sh" >/dev/null 2>&1
# 3. 清除系统定时任务 (Cron) # 3. 清除系统定时任务 (Cron)
echo "[3/4] 正在清理系统定时任务 (Cron)..." echo "[3/4] 正在清理系统定时任务 (Cron)..."
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_clean || true # [终极安全防御] 直接使用管道流过滤并覆盖,不产生任何 /tmp 落地文件,杜绝劫持提权
# [追加 >/dev/null 2>&1 堵死 Alpine 的脏话输出] crontab -l 2>/dev/null | grep -v "ip_sentinel" | crontab - >/dev/null 2>&1 || true
[ -f /tmp/cron_clean ] && crontab /tmp/cron_clean >/dev/null 2>&1
# ========================================== # ==========================================
# 🛑 [物理抹除] 彻底扫除 Alpine 系统的底层残留与双路径文件 # 🛑 [物理抹除] 彻底扫除 Alpine 系统的底层残留与双路径文件
@@ -85,18 +86,12 @@ if grep -q "sentinel_scheduler.sh" /etc/profile 2>/dev/null; then
sed -i '/sentinel_scheduler\.sh/d' /etc/profile 2>/dev/null || true sed -i '/sentinel_scheduler\.sh/d' /etc/profile 2>/dev/null || true
fi fi
rm -f /tmp/cron_clean
# 4. 删除所有文件、日志与临时缓存 # 4. 删除所有文件、日志与临时缓存
echo "[4/4] 正在抹除核心程序、配置文件与系统痕迹..." echo "[4/4] 正在抹除核心程序、配置文件与系统痕迹..."
if [ -d "$INSTALL_DIR" ]; then if [ -d "$INSTALL_DIR" ]; then
rm -rf "$INSTALL_DIR" rm -rf "$INSTALL_DIR"
fi fi
# 拔除 /tmp 目录下的所有更新下载临时文件和 V1/V2 遗留的偏移量记录
rm -f /tmp/ip_sentinel_*.txt
rm -f /tmp/ip_sentinel_*.json
echo "========================================================" echo "========================================================"
echo "✅ 卸载彻底完成IP-Sentinel 已从您的系统中无痕移除。" echo "✅ 卸载彻底完成IP-Sentinel 已从您的系统中无痕移除。"
echo "💡 提示:如果安装时在防火墙放行了 Webhook 随机端口,请您按需手动关闭。" echo "💡 提示:如果安装时在防火墙放行了 Webhook 随机端口,请您按需手动关闭。"

View File

@@ -30,7 +30,8 @@ log() {
# 日志格式注入 [版本号] 追踪标识 # 日志格式注入 [版本号] 追踪标识
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3") local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3")
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $core_msg" >> "$LOG_FILE" # [时区对齐] 强制无视本地时区,以绝对 UTC 时间写入日志
echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] $core_msg" >> "$LOG_FILE"
# 强制推送到 Systemd Journal (如果系统支持) # 强制推送到 Systemd Journal (如果系统支持)
if command -v logger >/dev/null 2>&1; then if command -v logger >/dev/null 2>&1; then
@@ -138,10 +139,15 @@ fi
# ========================================================== # ==========================================================
TMP_PROBE="/tmp/ip_sentinel_probe.sh" TMP_PROBE="/tmp/ip_sentinel_probe.sh"
$CURL_CMD "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$TMP_PROBE" $CURL_CMD "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$TMP_PROBE"
if [ -s "$TMP_PROBE" ]; then
# 🛡️ 供应链防毒:验证脚本内是否包含原作者特有签名,防止被墙重定向为 HTML
if [ -s "$TMP_PROBE" ] && grep -q "xykt" "$TMP_PROBE" 2>/dev/null; then
mv "$TMP_PROBE" "${INSTALL_DIR}/core/ip_probe.sh" mv "$TMP_PROBE" "${INSTALL_DIR}/core/ip_probe.sh"
chmod +x "${INSTALL_DIR}/core/ip_probe.sh" chmod +x "${INSTALL_DIR}/core/ip_probe.sh"
log "Updater" "INFO " "✅ 深海声呐底层探针 (ip_probe.sh) 源文件安全对齐" log "Updater" "INFO " "✅ 深海声呐底层探针 (ip_probe.sh) 源文件安全对齐"
else
log "Updater" "WARN " "❌ 探针源文件拉取受损或遭投毒劫持,已触发防砖机制,保留本地旧版本"
rm -f "$TMP_PROBE" 2>/dev/null
fi fi
# ========================================================== # ==========================================================

View File

@@ -1,3 +1,43 @@
jarome luai png chiefs
gauche
keith urban daughter instagram unfollow
sarah ferguson
one championship
parafield airport
ai bubble
tony burke
professor richard scolyer
san antonio spurs vs portland trail blazers match player stats
prince harry working royal
retirement
rebate
denver nuggets
rudy gobert
driver's license
nuggets
jessica biel justin timberlake ultimatum
qatar
thales
destroyer
nrl news latrell mitchell
heavy snow warning
the rookie dead ringer
ducks vs oilers
ivan soldo
uae vs oman
cheryl hines
deandre ayton
real estate market
weather brisbane
raptors vs cavaliers
galatasaray
multan sultans vs islamabad united
galatasaray vs fenerbahçe
torino vs inter
hearts fc
scottish premier league
mohsin khan
angkrish raghuvanshi
psl psl
magic vs pistons magic vs pistons
celtic fc celtic fc
@@ -158,43 +198,3 @@ nsw school holidays
qld school holidays qld school holidays
wa school holidays wa school holidays
m4 traffic updates m4 traffic updates
west gate tunnel updates
bruce highway traffic
taylor swift
netflix
gemini
chatgpt
margot robbie
oscar piastri
formula 1
supercars championship
ufc
optus sport
telstra outage
kayo sports
domain real estate
realestate.com.au
seek jobs
gumtree
westpac login
anz internet banking
nab login
aldi catalogue
big w
target australia
the good guys
officeworks
dan murphys
bws
chemist warehouse
priceline
uber eats
menulog
dominos
centrelink login
medicare online
passport renewal
aec enrolment
agl energy
origin energy
stan

View File

@@ -1,3 +1,43 @@
danielle smith
workday
jermaine jackson
prada
next oilers game
anaheim ducks coach
dhurandhar 2
bchl
from tv series
whl
shea theodore
nikola jokić
mark stone
naz reid
cameron johnson
dea
dylan guenther
jamal murray
euphoria cast
mlb bo bichette
明天的天氣
edmonton news
radko gudas
oil
jeffrey viel
boat
joel quenneville
evan bouchard
jada wallace
oilers
boston bruins
patrick corbin
avs vs sporting
peyton krebs
elena rybakina
shane doan
ja'kobe walter
mitch marner
radio-canada
golf
hurricanes vs senators hurricanes vs senators
al ahli al ahli
the white house the white house

View File

@@ -1,3 +1,43 @@
swr aktuell baden-württemberg
wetter ulm
rettungshubschrauber
lebensmittelwarnung.de
julia ruhs
vw id polo
warburg
elon musk
diablo 4 warlock build
wirtschaft
фридрих мерц
zdf-fernsehgarten
halberstadt
cathie wood
fabian güstrow
spencer jones
jean alesi
hilary duff
nhl playoffs
msci
1. mai
ronnie osullivan
loris karius
koningsdag 2026
ryan reynolds
julia stiles
saïd el mala
tag der arbeit
gesundheitspolitik
der bergdoktor
bulgarien
george clooney
jork
star citizen
donau
krassnitzer harald
buxtehude
chernobyl
avs sporting
running point
darmstadt darmstadt
dahoam is dahoam dahoam is dahoam
أتلتيكو مدريد ضد أتلتيك بيلباو أتلتيكو مدريد ضد أتلتيك بيلباو
@@ -158,26 +198,3 @@ scarlett johansson
jeff bezos jeff bezos
dan brown dan brown
паспорт громадянина україни для виїзду за кордон паспорт громадянина україни для виїзду за кордон
serena williams
манчестер юнайтед лидс
catherine deneuve
bobzin
sprit
kev
abschiebung
steuer
masters rory mcilroy
großglockner
news38
jessie cave
michael schulte
wetter frankfurt heute
bundesliga ergebnisse
aktuelle nachrichten deutschland
restaurant in der nähe
deutsche bahn fahrplan
urlaub buchen
rezept für kartoffelsalat
dax aktueller stand
apotheke notdienst frankfurt
günstige flüge

View File

@@ -1,3 +1,41 @@
anthropic
prórroga alquileres congreso
sorteo bonoloto
el tiempo hoy
aemet valencia
weather
aemet
tiempo
huelga gasolineras
el tiempo
nepotismo
instituto cervantes
airbus
tiempo en bilbao
el
el tiempo en granada
spencer jones
encuesta
lili pink
meteocat
trail blazers - spurs
clasificacion segunda
20minutos
internacional de bogotá - boyacá chicó
el tiempo en valencia
lakers vs rockets
fluminense - chapecoense
rockets - lakers
heraldo de aragón
víctor muñoz villanueva
de tapas por españa
milan
aitana sánchez gijón
clasificacion liga
palencia
milan vs juventus
marseille nice
cartagena fc
vivienda vivienda
hellas verona - lecce hellas verona - lecce
marbella marbella
@@ -66,7 +104,6 @@ laura moure
lens - toulouse lens - toulouse
girona vs real betis girona vs real betis
yuri berchiche yuri berchiche
clasificacion liga
posiciones de la liga posiciones de la liga
resultados liga resultados liga
lfp lfp

View File

@@ -1,3 +1,41 @@
meteo le mans
meteo caen
bernard cazeneuve
vignoble
forest automobile
brown-forman
meteo quimper
meteo brest
charles iii
montceau news
taylor swift
meteo amiens
salle de bal
reine camilla
david hockney
jacques dutronc
franck thilliez
squamish
nasa
nba spurs portland
mourad zeghidi
maries au premier regard episode 10
tchad
meteofrance
meteo grenoble
film
meteo vannes
cnews direct
toulouse clermont
martin short
le diable s'habille en prada 2 sortie
gautier larsonneur
milan vs juventus
stanley tucci
avs sporting
lambert wilson
tochukwu nnadi
greenwood
jaqueline cristian jaqueline cristian
thomas ramos thomas ramos
om nice om nice
@@ -160,18 +198,3 @@ kino
horoscope du 13 avril 2026 horoscope du 13 avril 2026
golf masters augusta 2026 golf masters augusta 2026
boursorama bourse boursorama bourse
cac 40
sept à huit
ligne 12 métro
alice taglioni
pedro sánchez
meteo paris
actualités en direct
résultats ligue 1
pharmacie de garde
horaires sncf
recette crêpes
cac 40 en direct
acheter billet louvre
boulangerie autour de moi
carte vitale ameli

View File

@@ -1,3 +1,43 @@
異環兌換碼
洪金宝
梁嘉莹
spurs vs trail blazers
羅艷卿
weather forecast
observatory hk
尼克 對 老鷹
sfc
馬刺 對 拓荒者
粉嶺繞道
nuggets vs timberwolves
蔡卓妍
港 漂
suns vs thunder
鍾澍佳
萧正楠
金塊 對 灰狼
魔術 對 活塞
太陽 對 雷霆
港 人 北上
hsbc
何守信
謝賢
房協
rockets vs lakers
火箭 對 湖人
曾志偉
簡淑兒
北海道地震
莫 雷 拉
蔡一傑
車路士
羅志祥
自助餐
馮盈盈
無時空之戀
方力申
可嵐
切爾西 對 里茲聯
谷 婭 溦 谷 婭 溦
曼城 曼城
印度 印度
@@ -84,7 +124,6 @@ now tv
al nassr al nassr
洪金寶 洪金寶
曼聯 曼聯
車路士
切爾西 對 曼聯 切爾西 對 曼聯
何沛珈 何沛珈
熱刺 熱刺
@@ -159,10 +198,3 @@ livenation
香港天文台天氣預報 香港天文台天氣預報
MTR 港鐵路線圖 MTR 港鐵路線圖
OpenRice 附近美食 OpenRice 附近美食
LIHKG 討論區
恆生指數今日行情
SCMP breaking news
HKEX 港交所股價
國泰航空航班狀態
香港迪士尼樂園門票
百佳超級市場網購

View File

@@ -1,3 +1,43 @@
ベガルタ仙台
サンフレッチェ広島
相模原 対 栃木c
ロッチ中岡
奈良 対 高知
福島圭音
神宮球場
オスナ ヤクルト
藤枝myfc
浦和 対 川崎f
村上宗隆
ゴー イントゥ スカイ
地球温暖化
文部科学省
カベポスター
奈良県
バナナマン日村
山本由伸
警視正
中国電力
jr九州
村田製作所
四谷大塚
外崎 修 汰
備蓄
日産 キックス 新型
ドナルド・トランプ
ニューヨーク
小谷昌太郎 イケパラ
東京エレクトロン
ミラン 対 ユヴェントス
宇連ダム 貯水率
櫻坂46
与沢翼
岩手県 大槌町 山林火災
谷原章介
端午
週間天気予報
トリノ 対 インテル
佐野海舟
アーセナル アーセナル
高岡蒼佑 高岡蒼佑
マンチェスター・シティfc マンチェスター・シティfc
@@ -135,7 +175,6 @@ wowow
新名神高速道路 新名神高速道路
わたせせいぞう わたせせいぞう
ピーチ航空 ピーチ航空
山本由伸
アレックス・ベシア アレックス・ベシア
リバプール リバプール
champions league champions league
@@ -159,14 +198,3 @@ man united vs leeds
高見沢 俊彦 高見沢 俊彦
不登校 不登校
後期高齢者医療制度 後期高齢者医療制度
バーミヤン
宮澤エマ
チケプラ
横綱
宮里美香
東京 天気 明日
新宿 おすすめ 居酒屋
最新のニュース 速報
ゴールド 相場 チャート
近くの静かなカフェ
円安 影響 生活

View File

@@ -1,3 +1,43 @@
변호사 시험
금보유고
이상화
커피
김효범
김범석
국립중앙도서관
어도어
황재균
주호민
채원빈
분식
위례신도시
박동혁
박용호
한화첨단소재
한상진
차승원
한국경제
효성중공업
최홍라
uae vs oman
mlb
부정승차
박하나
일본인
공천
한고은
우체국
sk증권
세리에 a
암호화폐
수지
새마을금고
사주
차두리
평택시 을
야닉 시너
정성호
첼시
psg psg
리그앙 리그앙
arsenal đấu với newcastle arsenal đấu với newcastle
@@ -16,7 +56,6 @@ s
하현상 하현상
김수희 김수희
gt vs rcb gt vs rcb
야닉 시너
amd 주가 amd 주가
왕다루 왕다루
시그널 시그널

View File

@@ -1,3 +1,42 @@
marissa dania hakim
oma vs nep
ppv
mothers day
nte redeem code
skyechip
马刺 - 开拓者
one championship live
labour day
indonesia thomas cup
anggota tentera
阿sa
掘金 - 森林狼
one championship
apple iphone foldable
太阳 - 雷霆
p1p plate
nuggets vs timberwolves
electronic invoicing
malaysian meteorological department
datuk seri aminuddin harun
court
bella astillah
today wordle hints
ezi ray 01
lakers
uae vs oman
rekod dunia
mayat
milan vs juventus
osasuna vs sevilla
estrela amadora vs porto
lockheed martin
galatasaray vs fenerbahçe
polis
torino vs inter
terengganu fc
angkrish raghuvanshi
dortmund vs sc freiburg
atlético madrid vs athletic club atlético madrid vs athletic club
fa cup games fa cup games
แมนซิตี พบ เซาแธมป์ตัน แมนซิตี พบ เซาแธมป์ตัน

30
data/keywords/kw_NG.txt Normal file
View File

@@ -0,0 +1,30 @@
william ruto
spurs vs trail blazers
celtics vs 76ers
ahsoka tano replacement star wars
san lorenzo vs santos
the devil wears prada 2
king charles
house of the dragon season 3
gta 5
top scorer in champions league
nuggets vs timberwolves
suns vs thunder
magic vs pistons
ig
bybit
jack grealish
sanwo olu
saheed balogun
man u fc
live score today
tinubu
lagos weather
nigeria news
super eagles
naira exchange rate
davido
wizkid
burna boy
afcon
nollywood

View File

@@ -1,3 +1,43 @@
kaaba
mathieu van der poel
een miljard
p2000
james comey
helena bonham carter
bultrug timmy
george russell
openbaar vervoer
wayne mardle
europese unie
florence pugh
concert golden earring ahoy
de telegraaf
openai
crypto insiders
stefano domenicali
brand emmeloord
loosdrecht
taylor swift
militair
emma heesters
luik-bastenaken-luik
luilakken koningsdag
rusland
shakira
car rental
112 leiden
taxi
michael
passengers
finale wie is de mol
bourtange
marseille - nice
unchosen
prinses
sylvester stallone
28 years later
programma koningsdag 2026
milan - juventus
aryna sabalenka aryna sabalenka
fortuna fortuna
curacao curacao
@@ -12,7 +52,6 @@ wesley sonck
arnold schwarzenegger arnold schwarzenegger
devil wears prada devil wears prada
jagiellonia białystok górnik zabrze jagiellonia białystok górnik zabrze
unchosen
max verstappen redbull max verstappen redbull
mvv - top oss mvv - top oss
energiecontract energiecontract

View File

@@ -1,3 +1,43 @@
oman vs nepal
primary 1
mapletree industrial trust
spurs vs trail blazers
knicks vs hawks
celtics vs 76ers
snake
marriage
san lorenzo vs santos
bankruptcy
诈骗
us-iran
flight
jeanette aw
jisoo
nuggets vs timberwolves
suns vs thunder
magic vs pistons
drug
jimmy kimmel
erika kirk
elon musk
hokkaido earthquake today
rockets vs lakers
labour day
angela palmares
76ers vs celtics
nba scores
chernobyl disaster
tengah garden residences
torino vs inter
dortmund vs sc freiburg
angkrish raghuvanshi
mohsin khan
running man
arsenal vs lyon
genoa vs como
kkr vs lsg
bwf
chelsea vs leeds
bologna vs roma bologna vs roma
angers vs psg angers vs psg
giant octopus fossil giant octopus fossil
@@ -43,7 +83,6 @@ burnley vs man city
elche vs atlético madrid elche vs atlético madrid
psg vs nantes psg vs nantes
al-nassr vs al ahli al-nassr vs al ahli
mohsin khan
changi changi
rr vs lsg rr vs lsg
primary school primary school
@@ -159,20 +198,3 @@ new rolex 2026
medical classification medical classification
blasphemy law blasphemy law
big bang coachella 2026 big bang coachella 2026
小贩
malaysia fuel price crisis
sbti personality test
cancer survivor
tim cook
spurs vs nuggets
asia flights cancelled delayed
singapore weather forecast
mrt map singapore
straitstimes breaking news
cpf board login
hdb bto launch updates
best chicken rice near me
public holidays sg
singpass login portal
changi airport flight status
iras tax filing

View File

@@ -1,3 +1,43 @@
十銓科技
邱軍
股東會紀念品
佳必琪
勞動 節
鍾東錦
棒球
spurs vs trail blazers
8028
鄭嘉睿
spencer jones
張凌赫
山本由伸
陳德修
國巨
台玻
俠 盜 獵 車手 vi
晶豪科
無限城
謝淑薇
台中停電
公務員
停電
hito 流行音樂獎
國際珍奶日
台積電 內 鬼
日圓
佳能
聯電 股東 會 紀念品
張雪機車
航空
暴龍 對 騎士
王苡丞
遊戲
chelsea đấu với leeds
เชลซี พบ ลีดส์
聯發科技
詹姆士
田麗
token
兵工廠 兵工廠
魔術 對 活塞 魔術 對 活塞
arsenal đấu với newcastle arsenal đấu với newcastle

View File

@@ -1,4 +1,41 @@
weather birmingham
bbc nees
ella langley
emma grede
ted lasso season 4 teaser trailer
antidepressants recall
financial crisis
itv news
engagement rings
spurs vs trail blazers
alexey mordashov
good morning
mortgage rates
wren kitchens
horoscope
nba scores
nhl scores
nuggets vs timberwolves
liverpool weather
todays weather
playstation plus
manchester weather
wordle hint
everton f.c.
dvla
snooker results
sports
delivery
ronnie o'sullivan ronnie o'sullivan
janet cleverly councillor reprimanded
criminal record
mark selby
avs vs sporting
david attenborough
juventus
elena rybakina
eric bana
roman kemp
house fire wolverhampton house fire wolverhampton
paul merson paul merson
is scarlett moffatt pregnant is scarlett moffatt pregnant
@@ -13,7 +50,6 @@ alex de minaur
tigers vs hull fc tigers vs hull fc
edinburgh vs sharks edinburgh vs sharks
mark williams snooker mark williams snooker
criminal record
alex sinclair israeli police detention alex sinclair israeli police detention
st. johnstone vs raith rovers st. johnstone vs raith rovers
mo farah mo farah
@@ -83,7 +119,6 @@ porto vs tondela
santos vs fluminense santos vs fluminense
martin brundle lost f1 seat martin brundle lost f1 seat
keegan bradley keegan bradley
david attenborough
antoni kowalski antoni kowalski
kezia dugdale kezia dugdale
car car
@@ -163,19 +198,3 @@ tori amos
cloud cloud
reading reading
rolls-royce smr rolls-royce smr
istanbul airport
a27
bridget phillipson
tottenham standings
may bank holiday 2026
toto wolff
london weather today
bbc news latest
premier league fixtures
tesco near me
tube map london
uk bank holidays
royal family news
how to make english tea
nhs symptom checker
property for sale in london

View File

@@ -1,3 +1,42 @@
acura
qatar airways
charles barkley
turkish airlines
ayo edebiri
who do the spurs play next
one championship
samsung one ui 8.5 update
fabio jackson
san antonio
shea theodore
dodgers game today
munetaka murakami
dodgers score
joe ingles
owensboro weather
nhl overtime rules
kyle tucker
pete fairbanks
bank
ucla
housing prices
real estate
post malone
ducks game tonight
flor vigna
lebron james
bronny james
austin shooting
arthur rinderknech
avs vs sporting
elena rybakina
chris sale
bruins
sabres game
corinthians vs vasco
christian walker
where to watch new york yankees vs houston astros
gladiator ii
hurricanes vs senators hurricanes vs senators
jalen duren jalen duren
keegan akin keegan akin
@@ -159,26 +198,3 @@ levante - getafe
levante vs getafe levante vs getafe
mcilroy green jacket presentation mcilroy green jacket presentation
man united vs leeds man united vs leeds
7-eleven closing locations
cloud
sports
sony playstation
alaska airline
toronto
sydney
paris
tokyo
delhi
sykkuno drama
Los Angeles weather today
S&P 500 stock chart
local coffee shops near me
latest tech news
California traffic updates
AI startups in Silicon ValleySan Jose weather this weekend
Silicon Valley tech news
best tacos in San Jose
Apple park visitor center hours
Seattle Weather
Las Vegas strip
Charlotte Hornets

View File

@@ -1,3 +1,43 @@
giáp
nguyễn đình bắc
avispa đấu với sanfrecce
thừa kế
hoa hậu việt nam
nguyễn xuân bắc
áp thấp nhiệt đới
tàu
nte code
bảo tín minh châu
cà phê
one ui 8.5
nguyễn huy hoàng
dự án nuôi em
đơn vị sự nghiệp công lập
nợ xấu
bộ trưởng bộ giáo dục và đào tạo việt nam
thành phố trực thuộc trung ương
âm vang tổ quốc
jennie
charlie nguyễn
nanaimoteuthis
cảng
vneid
sri lanka
công nhân
hội đồng giám mục việt nam
an ninh kinh tế
kfc
đội tuyển bóng chuyền nữ quốc gia việt nam
juventus
milan đấu với juventus
villarreal đấu với celta
osasuna vs sevilla
galatasaray
michael jackson
sevilla
polymarket
mật ngữ kỷ
osasuna đấu với sevilla
atlético madrid đấu với ath. bilbao atlético madrid đấu với ath. bilbao
erling haaland erling haaland
lịch thi đấu man city lịch thi đấu man city
@@ -7,7 +47,6 @@ mc vs
al ahli al ahli
man city man city
chung cư chung cư
mật ngữ kỷ
napoli napoli
sunderland đấu với nottm forest sunderland đấu với nottm forest
betis đấu với real madrid betis đấu với real madrid
@@ -21,7 +60,6 @@ andoni iraola
stuttgart đấu với freiburg stuttgart đấu với freiburg
levante sevilla levante sevilla
giao dịch tài chính giao dịch tài chính
sevilla
rayo đấu với espanyol rayo đấu với espanyol
levante đấu với sevilla levante đấu với sevilla
bong ma hanh phuc bong ma hanh phuc
@@ -88,7 +126,6 @@ juventus đấu với bologna
gladbach đấu với mainz gladbach đấu với mainz
twitch twitch
psg đấu với lyon psg đấu với lyon
juventus
ligue 1 ligue 1
trận đấu ngoại hạng anh trận đấu ngoại hạng anh
chelsea đấu với man utd chelsea đấu với man utd

View File

@@ -312,6 +312,10 @@
{ {
"id": "Dallas", "id": "Dallas",
"name": "Dallas (达拉斯)" "name": "Dallas (达拉斯)"
},
{
"id": "Houston",
"name": "Houston (休斯顿)"
} }
] ]
} }
@@ -402,6 +406,29 @@
] ]
} }
] ]
},
{
"id": "AFRICA",
"name": "非洲战区 (Africa)",
"countries": [
{
"id": "NG",
"name": "Nigeria (尼日利亚)",
"keyword_file": "kw_NG.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Lagos",
"name": "Lagos (拉各斯)"
}
]
}
]
}
]
} }
] ]
} }

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.abc.net.au/news/2026-04-25/anzac-day-nrl-dragons-roosters-warriors-dolphins-storm-rabbitohs/106591510", "https://www.abc.net.au/news/2026-04-29/what-should-schools-do-about-ai-deepfakes-friends-school-hobart/106619686",
"https://www.seek.com.au/", "https://www.abc.net.au/news/2026-04-29/monthly-inflation-surges-in-march-australia/106619740",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-25/melbourne-cbd-bar-bambi-arson-attack/106606312",
"https://www.abc.net.au/news/2026-04-26/prince-harry-and-meghan-australia-trip-king-charles-us/106596286",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-26/narco-subs-crossing-the-pacific-to-australia/106588936",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/health/2026-04-26/surf-coach-blake-johnston-turns-grief-into-post-traumatic-growth/106421100",
"https://www.abc.net.au/news/2026-04-25/nt-anzac-day-big-picture-australians/106603252",
"https://www.bom.gov.au/", "https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-26/guy-montgomery-spelling-bee-quiz/106593668", "https://www.abc.net.au/news/2026-04-29/afl-pushes-ahead-with-draft-changes-and-not-everyone-is-happy/106621516",
"https://www.abc.net.au/news/2026-04-26/ken-henry-tells-inquiry-to-tax-australia-gas-industry-more/106591686", "https://www.abc.net.au/news/2026-04-29/inflation-details-may-give-rba-pause-on-interest-rates/106620164",
"https://www.abc.net.au/news/2026-04-29/gina-rinehart-gifts-plane-to-pauline-hanson-one-nation/106620808",
"https://www.realestate.com.au/", "https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-25/nsw-panania-childcare-worker-charged-with-assaulting-two-boys/106606424",
"https://www.abc.net.au/news/2026-04-26/dutch-remember-allied-forces-buried-during-ww2/106582854",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-26/australian-olympian-gordon-ingate-dies-aged-100/106606892",
"https://www.ato.gov.au/",
"https://my.gov.au/", "https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-25/inman-valley-body-valley-murder/106606080", "https://www.abc.net.au/news/2026-04-29/plane-crashes-at-parafield-airport-north-of-adelaide/106621632",
"https://www.abc.net.au/news/2026-04-26/racism-against-indigenous-people-on-show-anzac-booing-incidents/106606650", "https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-26/sex-workers-speak-out-about-hiv-crisis-in-png/106592882", "https://www.abc.net.au/news/2026-04-29/toddler-death-northern-beaches-hospital-public-ownership/106620104",
"https://www.abc.net.au/news/2026-04-29/qld-man-charged-hate-speech-laws-not-guilty-pleas/106619998",
"https://www.abc.net.au/news/2026-04-29/qld-cfmeu-inquiry-ravbar-lazy-alleged-threats-bruce-highway/106620854",
"https://www.abc.net.au/news/2026-04-29/knife-produced-mental-health-patient-not-found-act-police/106619254",
"https://www.abc.net.au/news/2026-04-29/chilcare-group-g8-to-close-10-per-cent-of-centres/106620512",
"https://www.abc.net.au/news/2026-04-29/keith-lees-court-cold-case-committal-hearing-sunshine-coast/106619782",
"https://www.seek.com.au/",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-29/ancient-platypus-fossils-with-teeth-found-outback-sa/106616134",
"https://www.bunnings.com.au/", "https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-25/russian-attack-ukrain-dnipro-apartment-block/106606822" "https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-29/nsw-state-of-origin-womens-queensland-maroons/106621490",
"https://www.abc.net.au/news/2026-04-29/mlb-australia-travis-bazzana-makes-cleveland-guardians-debut/106620048",
"https://www.coles.com.au/",
"https://www.commbank.com.au/"
], ],
"static_urls": [ "static_urls": [
"https://my.gov.au/", "https://my.gov.au/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.abc.net.au/news/2026-04-25/nsw-panania-childcare-worker-charged-with-assaulting-two-boys/106606424",
"https://www.abc.net.au/news/2026-04-26/ken-henry-tells-inquiry-to-tax-australia-gas-industry-more/106591686",
"https://www.abc.net.au/news/2026-04-25/nt-anzac-day-big-picture-australians/106603252",
"https://www.abc.net.au/news/2026-04-26/guy-montgomery-spelling-bee-quiz/106593668",
"https://www.woolworths.com.au/",
"https://www.bunnings.com.au/",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/health/2026-04-26/surf-coach-blake-johnston-turns-grief-into-post-traumatic-growth/106421100",
"https://www.realestate.com.au/",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-26/prince-harry-and-meghan-australia-trip-king-charles-us/106596286",
"https://www.abc.net.au/news/2026-04-26/australian-olympian-gordon-ingate-dies-aged-100/106606892",
"https://www.abc.net.au/news/2026-04-25/inman-valley-body-valley-murder/106606080",
"https://www.abc.net.au/news/2026-04-26/narco-subs-crossing-the-pacific-to-australia/106588936",
"https://www.abc.net.au/news/2026-04-26/racism-against-indigenous-people-on-show-anzac-booing-incidents/106606650",
"https://www.abc.net.au/news/2026-04-25/anzac-day-nrl-dragons-roosters-warriors-dolphins-storm-rabbitohs/106591510",
"https://www.abc.net.au/news/2026-04-26/dutch-remember-allied-forces-buried-during-ww2/106582854",
"https://www.coles.com.au/",
"https://www.commbank.com.au/", "https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-25/russian-attack-ukrain-dnipro-apartment-block/106606822", "https://www.abc.net.au/news/2026-04-29/plane-crashes-at-parafield-airport-north-of-adelaide/106621632",
"https://www.seek.com.au/", "https://www.abc.net.au/news/2026-04-29/chilcare-group-g8-to-close-10-per-cent-of-centres/106620512",
"https://www.abc.net.au/news/2026-04-26/sex-workers-speak-out-about-hiv-crisis-in-png/106592882",
"https://my.gov.au/", "https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-29/what-should-schools-do-about-ai-deepfakes-friends-school-hobart/106619686",
"https://www.amazon.com.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-29/ancient-platypus-fossils-with-teeth-found-outback-sa/106616134",
"https://www.abc.net.au/news/2026-04-29/mlb-australia-travis-bazzana-makes-cleveland-guardians-debut/106620048",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-29/afl-pushes-ahead-with-draft-changes-and-not-everyone-is-happy/106621516",
"https://www.woolworths.com.au/",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-29/nsw-state-of-origin-womens-queensland-maroons/106621490",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-29/qld-man-charged-hate-speech-laws-not-guilty-pleas/106619998",
"https://www.abc.net.au/news/2026-04-29/toddler-death-northern-beaches-hospital-public-ownership/106620104",
"https://www.abc.net.au/news/2026-04-29/monthly-inflation-surges-in-march-australia/106619740",
"https://www.abc.net.au/news/2026-04-29/inflation-details-may-give-rba-pause-on-interest-rates/106620164",
"https://www.bom.gov.au/", "https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-25/melbourne-cbd-bar-bambi-arson-attack/106606312" "https://www.abc.net.au/news/2026-04-29/knife-produced-mental-health-patient-not-found-act-police/106619254",
"https://www.abc.net.au/news/2026-04-29/gina-rinehart-gifts-plane-to-pauline-hanson-one-nation/106620808",
"https://www.abc.net.au/news/2026-04-29/qld-cfmeu-inquiry-ravbar-lazy-alleged-threats-bruce-highway/106620854",
"https://www.abc.net.au/news/2026-04-29/keith-lees-court-cold-case-committal-hearing-sunshine-coast/106619782",
"https://www.bunnings.com.au/"
], ],
"static_urls": [ "static_urls": [
"https://my.gov.au/", "https://my.gov.au/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.abc.net.au/news/2026-04-25/melbourne-cbd-bar-bambi-arson-attack/106606312", "https://www.abc.net.au/news/2026-04-29/nsw-state-of-origin-womens-queensland-maroons/106621490",
"https://www.abc.net.au/news/2026-04-26/dutch-remember-allied-forces-buried-during-ww2/106582854",
"https://www.abc.net.au/news/2026-04-26/sex-workers-speak-out-about-hiv-crisis-in-png/106592882",
"https://www.abc.net.au/news/2026-04-26/australian-olympian-gordon-ingate-dies-aged-100/106606892",
"https://www.bom.gov.au/",
"https://www.coles.com.au/",
"https://www.woolworths.com.au/",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-26/narco-subs-crossing-the-pacific-to-australia/106588936",
"https://www.bunnings.com.au/", "https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-25/inman-valley-body-valley-murder/106606080", "https://www.abc.net.au/news/2026-04-29/keith-lees-court-cold-case-committal-hearing-sunshine-coast/106619782",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-25/anzac-day-nrl-dragons-roosters-warriors-dolphins-storm-rabbitohs/106591510",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-26/guy-montgomery-spelling-bee-quiz/106593668",
"https://www.abc.net.au/news/2026-04-26/racism-against-indigenous-people-on-show-anzac-booing-incidents/106606650",
"https://my.gov.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-26/prince-harry-and-meghan-australia-trip-king-charles-us/106596286",
"https://www.abc.net.au/news/2026-04-25/nsw-panania-childcare-worker-charged-with-assaulting-two-boys/106606424",
"https://www.amazon.com.au/", "https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-25/nt-anzac-day-big-picture-australians/106603252", "https://www.abc.net.au/news/2026-04-29/gina-rinehart-gifts-plane-to-pauline-hanson-one-nation/106620808",
"https://www.abc.net.au/news/health/2026-04-26/surf-coach-blake-johnston-turns-grief-into-post-traumatic-growth/106421100", "https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-26/ken-henry-tells-inquiry-to-tax-australia-gas-industry-more/106591686", "https://www.abc.net.au/news/2026-04-29/plane-crashes-at-parafield-airport-north-of-adelaide/106621632",
"https://www.abc.net.au/news/2026-04-25/russian-attack-ukrain-dnipro-apartment-block/106606822" "https://www.abc.net.au/news/2026-04-29/monthly-inflation-surges-in-march-australia/106619740",
"https://www.abc.net.au/news/2026-04-29/afl-pushes-ahead-with-draft-changes-and-not-everyone-is-happy/106621516",
"https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-29/what-should-schools-do-about-ai-deepfakes-friends-school-hobart/106619686",
"https://www.abc.net.au/news/2026-04-29/inflation-details-may-give-rba-pause-on-interest-rates/106620164",
"https://www.abc.net.au/news/2026-04-29/knife-produced-mental-health-patient-not-found-act-police/106619254",
"https://www.coles.com.au/",
"https://www.ato.gov.au/",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-29/ancient-platypus-fossils-with-teeth-found-outback-sa/106616134",
"https://www.commbank.com.au/",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-29/toddler-death-northern-beaches-hospital-public-ownership/106620104",
"https://www.abc.net.au/news/2026-04-29/qld-man-charged-hate-speech-laws-not-guilty-pleas/106619998",
"https://www.abc.net.au/news/2026-04-29/mlb-australia-travis-bazzana-makes-cleveland-guardians-debut/106620048",
"https://www.abc.net.au/news/2026-04-29/qld-cfmeu-inquiry-ravbar-lazy-alleged-threats-bruce-highway/106620854",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-29/chilcare-group-g8-to-close-10-per-cent-of-centres/106620512"
], ],
"static_urls": [ "static_urls": [
"https://my.gov.au/", "https://my.gov.au/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.abc.net.au/news/2026-04-26/australian-olympian-gordon-ingate-dies-aged-100/106606892",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-25/russian-attack-ukrain-dnipro-apartment-block/106606822",
"https://www.seek.com.au/",
"https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-25/anzac-day-nrl-dragons-roosters-warriors-dolphins-storm-rabbitohs/106591510",
"https://www.abc.net.au/news/2026-04-25/inman-valley-body-valley-murder/106606080",
"https://www.abc.net.au/news/2026-04-26/dutch-remember-allied-forces-buried-during-ww2/106582854",
"https://www.abc.net.au/news/2026-04-26/ken-henry-tells-inquiry-to-tax-australia-gas-industry-more/106591686",
"https://www.abc.net.au/news/2026-04-26/narco-subs-crossing-the-pacific-to-australia/106588936",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-26/prince-harry-and-meghan-australia-trip-king-charles-us/106596286",
"https://www.amazon.com.au/",
"https://www.bunnings.com.au/",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-26/sex-workers-speak-out-about-hiv-crisis-in-png/106592882",
"https://www.abc.net.au/news/2026-04-25/melbourne-cbd-bar-bambi-arson-attack/106606312",
"https://www.abc.net.au/news/2026-04-25/nsw-panania-childcare-worker-charged-with-assaulting-two-boys/106606424",
"https://www.abc.net.au/news/health/2026-04-26/surf-coach-blake-johnston-turns-grief-into-post-traumatic-growth/106421100",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-25/nt-anzac-day-big-picture-australians/106603252",
"https://www.abc.net.au/news/2026-04-26/guy-montgomery-spelling-bee-quiz/106593668",
"https://www.realestate.com.au/", "https://www.realestate.com.au/",
"https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-29/mlb-australia-travis-bazzana-makes-cleveland-guardians-debut/106620048",
"https://www.abc.net.au/news/2026-04-29/chilcare-group-g8-to-close-10-per-cent-of-centres/106620512",
"https://www.seek.com.au/",
"https://www.commbank.com.au/",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-29/qld-man-charged-hate-speech-laws-not-guilty-pleas/106619998",
"https://www.abc.net.au/news/2026-04-29/toddler-death-northern-beaches-hospital-public-ownership/106620104",
"https://www.abc.net.au/news/2026-04-29/keith-lees-court-cold-case-committal-hearing-sunshine-coast/106619782",
"https://www.abc.net.au/news/2026-04-29/what-should-schools-do-about-ai-deepfakes-friends-school-hobart/106619686",
"https://www.abc.net.au/news/2026-04-29/qld-cfmeu-inquiry-ravbar-lazy-alleged-threats-bruce-highway/106620854",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-29/ancient-platypus-fossils-with-teeth-found-outback-sa/106616134",
"https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-29/inflation-details-may-give-rba-pause-on-interest-rates/106620164",
"https://www.coles.com.au/", "https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-26/racism-against-indigenous-people-on-show-anzac-booing-incidents/106606650" "https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-29/plane-crashes-at-parafield-airport-north-of-adelaide/106621632",
"https://www.abc.net.au/news/2026-04-29/nsw-state-of-origin-womens-queensland-maroons/106621490",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-29/knife-produced-mental-health-patient-not-found-act-police/106619254",
"https://www.abc.net.au/news/2026-04-29/afl-pushes-ahead-with-draft-changes-and-not-everyone-is-happy/106621516",
"https://www.abc.net.au/news/2026-04-29/gina-rinehart-gifts-plane-to-pauline-hanson-one-nation/106620808",
"https://www.abc.net.au/news/2026-04-29/monthly-inflation-surges-in-march-australia/106619740"
], ],
"static_urls": [ "static_urls": [
"https://my.gov.au/", "https://my.gov.au/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.abc.net.au/news/2026-04-25/russian-attack-ukrain-dnipro-apartment-block/106606822", "https://www.abc.net.au/news/2026-04-29/mlb-australia-travis-bazzana-makes-cleveland-guardians-debut/106620048",
"https://www.ato.gov.au/", "https://www.abc.net.au/news/2026-04-29/ancient-platypus-fossils-with-teeth-found-outback-sa/106616134",
"https://www.abc.net.au/news/health/2026-04-26/surf-coach-blake-johnston-turns-grief-into-post-traumatic-growth/106421100",
"https://my.gov.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-26/prince-harry-and-meghan-australia-trip-king-charles-us/106596286",
"https://www.amazon.com.au/", "https://www.amazon.com.au/",
"https://www.bunnings.com.au/", "https://www.abc.net.au/news/2026-04-29/gina-rinehart-gifts-plane-to-pauline-hanson-one-nation/106620808",
"https://www.realestate.com.au/", "https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-26/australian-olympian-gordon-ingate-dies-aged-100/106606892", "https://www.abc.net.au/news/2026-04-29/chilcare-group-g8-to-close-10-per-cent-of-centres/106620512",
"https://www.abc.net.au/news/2026-04-25/anzac-day-nrl-dragons-roosters-warriors-dolphins-storm-rabbitohs/106591510", "https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-26/dutch-remember-allied-forces-buried-during-ww2/106582854", "https://www.abc.net.au/news/2026-04-29/what-should-schools-do-about-ai-deepfakes-friends-school-hobart/106619686",
"https://www.abc.net.au/news/2026-04-26/sex-workers-speak-out-about-hiv-crisis-in-png/106592882", "https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-26/racism-against-indigenous-people-on-show-anzac-booing-incidents/106606650", "https://www.abc.net.au/news/2026-04-29/knife-produced-mental-health-patient-not-found-act-police/106619254",
"https://www.seek.com.au/", "https://www.abc.net.au/news/2026-04-29/monthly-inflation-surges-in-march-australia/106619740",
"https://www.abc.net.au/news/2026-04-26/ken-henry-tells-inquiry-to-tax-australia-gas-industry-more/106591686", "https://www.abc.net.au/news/2026-04-29/qld-cfmeu-inquiry-ravbar-lazy-alleged-threats-bruce-highway/106620854",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-25/nt-anzac-day-big-picture-australians/106603252",
"https://www.woolworths.com.au/", "https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-25/nsw-panania-childcare-worker-charged-with-assaulting-two-boys/106606424", "https://www.abc.net.au/news/2026-04-29/keith-lees-court-cold-case-committal-hearing-sunshine-coast/106619782",
"https://www.abc.net.au/news/2026-04-25/inman-valley-body-valley-murder/106606080", "https://www.abc.net.au/news/2026-04-29/toddler-death-northern-beaches-hospital-public-ownership/106620104",
"https://www.abc.net.au/news/2026-04-26/narco-subs-crossing-the-pacific-to-australia/106588936", "https://www.abc.net.au/news/2026-04-29/plane-crashes-at-parafield-airport-north-of-adelaide/106621632",
"https://www.abc.net.au/news/2026-04-26/guy-montgomery-spelling-bee-quiz/106593668", "https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-25/melbourne-cbd-bar-bambi-arson-attack/106606312" "https://www.bunnings.com.au/",
"https://www.seek.com.au/",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-29/qld-man-charged-hate-speech-laws-not-guilty-pleas/106619998",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-29/inflation-details-may-give-rba-pause-on-interest-rates/106620164",
"https://www.abc.net.au/news/2026-04-29/afl-pushes-ahead-with-draft-changes-and-not-everyone-is-happy/106621516",
"https://www.abc.net.au/news/2026-04-29/nsw-state-of-origin-womens-queensland-maroons/106621490"
], ],
"static_urls": [ "static_urls": [
"https://my.gov.au/", "https://my.gov.au/",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cbc.ca/news/politics/lithuania-canada-economic-warfare-trade-9.7176557?cmp=rss", "https://www.cbc.ca/news/world/san-francisco-oakland-airport-name-legal-case-9.7180726?cmp=rss",
"https://www.cbc.ca/news/canada/edmonton/edmonton-oilers-anaheim-ducks-game-three-playoffs-9.7176599?cmp=rss", "https://www.cbc.ca/news/canada/manitoba/wolseley-hole-fix-repairs-9.7180881?cmp=rss",
"https://www.cbc.ca/news/world/china-taiwan-african-countries-airspace-9.7174770?cmp=rss", "https://www.cbc.ca/news/world/us-intelligence-agencies-trump-iran-war-9.7180533?cmp=rss",
"https://www.amazon.ca/", "https://www.cbc.ca/news/canada/calgary/frances-widdowson-university-of-lethbridge-9.7180156?cmp=rss",
"https://www.cbc.ca/news/canada/edmonton/snowstorm-alberta-fort-mcmurray-highway-closed-stranded-drivers-9.7176489?cmp=rss", "https://www.cbc.ca/news/politics/carney-poilievre-carney-update-deficit-analysis-9.7180486?cmp=rss",
"https://www.theweathernetwork.com/ca", "https://www.cbc.ca/news/canada/british-columbia/pentiction-councillor-trial-9.7180534?cmp=rss",
"https://www.cbc.ca/news/canada/british-columbia/majcher-trial-ends-submissions-9.7176445?cmp=rss",
"https://www.cbc.ca/news/canada/humboldt-broncos-crash-driver-deportation-court-9.7177025?cmp=rss",
"https://www.cbc.ca/news/world/russia-attack-ukraine-dnipro-9.7177273?cmp=rss",
"https://www.rbcroyalbank.com/",
"https://www.cbc.ca/news/canada/north/arviat-inuit-nunangat-university-9.7177278?cmp=rss",
"https://www.cbc.ca/news/entertainment/kirk-jones-i-swear-interview-tourette-syndrome-baftas-9.7176725?cmp=rss",
"https://www.cbc.ca/news/world/trump-white-house-correspondents-association-dinner-9.7174984?cmp=rss",
"https://www.cra-arc.gc.ca/",
"https://www.cbc.ca/news/canada/newfoundland-labrador/innu-inquiry-commissioners-have-one-word-after-week-of-heavy-testimony-hope-9.7176436?cmp=rss",
"https://www.cbc.ca/news/canada/alberta-separatist-youtube-channels-netherlands-9.7174719?cmp=rss",
"https://www.cbc.ca/radio/asithappens/steak-canadian-9.7176475?cmp=rss",
"https://www.canada.ca/en.html",
"https://www.utoronto.ca/",
"https://www.td.com/", "https://www.td.com/",
"https://www.cbc.ca/player/play/9.7176908?cmp=rss", "https://www.cbc.ca/news/politics/mail-searches-seu-9.7180828?cmp=rss",
"https://www.cbc.ca/news/world/trump-ballroom-justice-dept-federal-court-motion-9.7180270?cmp=rss",
"https://www.cbc.ca/news/canada/calgary/janet-brown-poll-ucp-danielle-smith-road-ahead-9.7177527?cmp=rss",
"https://www.theweathernetwork.com/ca",
"https://www.amazon.ca/",
"https://www.cbc.ca/news/world/livestory/king-charles-us-state-visit-9.7178240?cmp=rss",
"https://www.canadapost-postescanada.ca/", "https://www.canadapost-postescanada.ca/",
"https://www.cbc.ca/news/canada/british-columbia/sam-altman-tumbler-ridge-apology-9.7176482?cmp=rss" "https://www.cbc.ca/news/entertainment/trump-kimmel-melania-expectant-widow-9.7179036?cmp=rss",
"https://www.cbc.ca/news/world/ukraine-russia-refinery-attack-oil-prices-9.7180258?cmp=rss",
"https://www.utoronto.ca/",
"https://www.cbc.ca/player/play/9.7180775?cmp=rss",
"https://www.cbc.ca/news/canada/saskatchewan/tow-truck-driver-rescues-moose-trapped-in-ice-9.7180811?cmp=rss",
"https://www.cra-arc.gc.ca/",
"https://www.rbcroyalbank.com/",
"https://www.canada.ca/en.html",
"https://www.cbc.ca/news/world/comey-indictment-blanche-shells-9.7180391?cmp=rss"
], ],
"static_urls": [ "static_urls": [
"https://www.canada.ca/en.html", "https://www.canada.ca/en.html",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cbc.ca/news/world/russia-attack-ukraine-dnipro-9.7177273?cmp=rss", "https://www.cbc.ca/news/canada/british-columbia/pentiction-councillor-trial-9.7180534?cmp=rss",
"https://www.cbc.ca/news/world/trump-white-house-correspondents-association-dinner-9.7174984?cmp=rss", "https://www.cbc.ca/news/entertainment/trump-kimmel-melania-expectant-widow-9.7179036?cmp=rss",
"https://www.utoronto.ca/", "https://www.cbc.ca/news/world/comey-indictment-blanche-shells-9.7180391?cmp=rss",
"https://www.cbc.ca/news/world/san-francisco-oakland-airport-name-legal-case-9.7180726?cmp=rss",
"https://www.cra-arc.gc.ca/", "https://www.cra-arc.gc.ca/",
"https://www.cbc.ca/news/canada/edmonton/snowstorm-alberta-fort-mcmurray-highway-closed-stranded-drivers-9.7176489?cmp=rss", "https://www.cbc.ca/news/politics/mail-searches-seu-9.7180828?cmp=rss",
"https://www.cbc.ca/news/canada/newfoundland-labrador/innu-inquiry-commissioners-have-one-word-after-week-of-heavy-testimony-hope-9.7176436?cmp=rss", "https://www.cbc.ca/news/politics/carney-poilievre-carney-update-deficit-analysis-9.7180486?cmp=rss",
"https://www.cbc.ca/news/politics/lithuania-canada-economic-warfare-trade-9.7176557?cmp=rss", "https://www.cbc.ca/news/canada/calgary/janet-brown-poll-ucp-danielle-smith-road-ahead-9.7177527?cmp=rss",
"https://www.rbcroyalbank.com/",
"https://www.cbc.ca/news/canada/north/arviat-inuit-nunangat-university-9.7177278?cmp=rss",
"https://www.cbc.ca/player/play/9.7176908?cmp=rss",
"https://www.amazon.ca/",
"https://www.cbc.ca/news/world/china-taiwan-african-countries-airspace-9.7174770?cmp=rss",
"https://www.theweathernetwork.com/ca",
"https://www.canadapost-postescanada.ca/", "https://www.canadapost-postescanada.ca/",
"https://www.cbc.ca/news/canada/humboldt-broncos-crash-driver-deportation-court-9.7177025?cmp=rss", "https://www.cbc.ca/news/canada/calgary/frances-widdowson-university-of-lethbridge-9.7180156?cmp=rss",
"https://www.cbc.ca/news/canada/alberta-separatist-youtube-channels-netherlands-9.7174719?cmp=rss", "https://www.cbc.ca/news/world/livestory/king-charles-us-state-visit-9.7178240?cmp=rss",
"https://www.cbc.ca/player/play/9.7180775?cmp=rss",
"https://www.cbc.ca/news/world/trump-ballroom-justice-dept-federal-court-motion-9.7180270?cmp=rss",
"https://www.cbc.ca/news/canada/saskatchewan/tow-truck-driver-rescues-moose-trapped-in-ice-9.7180811?cmp=rss",
"https://www.rbcroyalbank.com/",
"https://www.td.com/",
"https://www.utoronto.ca/",
"https://www.cbc.ca/news/canada/manitoba/wolseley-hole-fix-repairs-9.7180881?cmp=rss",
"https://www.amazon.ca/",
"https://www.cbc.ca/news/world/ukraine-russia-refinery-attack-oil-prices-9.7180258?cmp=rss",
"https://www.canada.ca/en.html", "https://www.canada.ca/en.html",
"https://www.cbc.ca/news/canada/british-columbia/sam-altman-tumbler-ridge-apology-9.7176482?cmp=rss", "https://www.cbc.ca/news/world/us-intelligence-agencies-trump-iran-war-9.7180533?cmp=rss",
"https://www.cbc.ca/news/canada/edmonton/edmonton-oilers-anaheim-ducks-game-three-playoffs-9.7176599?cmp=rss", "https://www.theweathernetwork.com/ca"
"https://www.cbc.ca/news/entertainment/kirk-jones-i-swear-interview-tourette-syndrome-baftas-9.7176725?cmp=rss",
"https://www.cbc.ca/news/canada/british-columbia/majcher-trial-ends-submissions-9.7176445?cmp=rss",
"https://www.cbc.ca/radio/asithappens/steak-canadian-9.7176475?cmp=rss",
"https://www.td.com/"
], ],
"static_urls": [ "static_urls": [
"https://www.canada.ca/en.html", "https://www.canada.ca/en.html",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.tagesschau.de/ausland/europa/eu-gipfel-zypern-iran-krieg-ukraine-100.html", "https://www.tagesschau.de/inland/unionsklausur-102.html",
"https://www.sparkasse.de/", "https://www.tagesschau.de/wirtschaft/finanzen/marktbericht-schwerpunkt-oel-100.html",
"https://www.bundesregierung.de/", "https://www.bundesregierung.de/",
"https://www.tagesschau.de/wirtschaft/verbraucher/spritpreise-tanken-102.html", "https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-134.html",
"https://www.tagesschau.de/ausland/amerika/todesstrafe-usa-erschiessung-100.html", "https://www.tagesschau.de/ausland/europa/grossbritannien-starmer-untersuchung-mandelson-100.html",
"https://www.tagesschau.de/inland/innenpolitik/merz-rente-rede-100.html",
"https://www.tagesschau.de/ausland/asien/iran-krieg-verhandlungen-islamabad-usa-pakistan-100.html",
"https://www.tagesschau.de/wissen/klimakonferenz-kolumbien-100.html",
"https://www.amazon.de/",
"https://www.tagesschau.de/wirtschaft/verbraucher/hausverwaltung-immobilie-betrug-100.html",
"https://www.tum.de/",
"https://www.tagesschau.de/ausland/asien/kommunalwahl-westjordanland-100.html",
"https://www.tagesschau.de/wirtschaft/balkon-sanierung-bgh-urteil-100.html",
"https://www.spiegel.de/",
"https://www.tagesschau.de/ausland/europa/slowakei-zensur-100.html",
"https://www.bahn.de/",
"https://www.ebay.de/",
"https://www.arbeitsagentur.de/", "https://www.arbeitsagentur.de/",
"https://www.tagesschau.de/wissen/gesundheit/studie-herz-krebs-100.html", "https://www.tagesschau.de/wirtschaft/verbraucher/pkv-gkv-wechsel-100.html",
"https://www.tagesschau.de/ausland/afrika/mali-angriffe-100.html", "https://www.tagesschau.de/wirtschaft/unternehmen/bmw-lackiererei-industriejobs-100.html",
"https://www.tagesschau.de/inland/innenpolitik/ermittlungen-bundesanwaltschaft-signal-100.html", "https://www.tagesschau.de/ausland/amerika/trump-kritik-merz-iran-100.html",
"https://www.tagesschau.de/wissen/forschung/buergerforschung-citizen-science-100.html", "https://www.sparkasse.de/",
"https://www.tagesschau.de/wirtschaft/verbraucher/bargeld-geldautomaten-100.html" "https://www.bahn.de/",
"https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-dax-dow-geldanlage-126.html",
"https://www.tagesschau.de/inland/innenpolitik/zuckersteuer-134.html",
"https://www.spiegel.de/",
"https://www.tagesschau.de/inland/gesellschaft/15min-podcast-zuckerabgabe-pedo-hunter-erdbeeren-100.html",
"https://www.tagesschau.de/inland/gesellschaft/geburten-rueckgang-100.html",
"https://www.ebay.de/",
"https://www.amazon.de/",
"https://www.tagesschau.de/inland/innenpolitik/bundeshaushalt-klingbeil-neuverschuldung-100.html",
"https://www.tagesschau.de/wirtschaft/verbraucher/e-autos-deutschland-haeufig-100.html",
"https://www.tagesschau.de/wirtschaft/unternehmen/aldi-sued-stellenabbau-sortiment-100.html",
"https://www.tagesschau.de/investigativ/report-mainz/iran-volksbank-100.html",
"https://www.tum.de/"
], ],
"static_urls": [ "static_urls": [
"https://www.bundesregierung.de/", "https://www.bundesregierung.de/",

View File

@@ -8,28 +8,28 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://elpais.com/elviajero/viajes-paco-nadal/2026-04-27/los-atractivos-de-finistere-el-final-de-la-tierra-a-la-francesa.html",
"https://elpais.com/cultura/2026-04-29/como-edwyn-collins-sobrevivio-a-dos-derrames-cerebrales-volvio-a-la-musica-y-ahora-se-retira-con-honores.html",
"https://www.zara.com/es/", "https://www.zara.com/es/",
"https://www.amazon.es/",
"https://elpais.com/gastronomia/el-comidista/2026-04-25/angelita-alfaro-y-sus-900-recetas-toda-la-sabiduria-de-una-vida-en-la-cocina-reunida-en-un-libro.html",
"https://www.renfe.com/",
"https://elpais.com/economia/negocios/2026-04-19/joseph-stiglitz-premio-nobel-de-economia-la-ideologia-de-los-millonarios-tiene-actualmente-un-grado-de-egoismo-alucinante.html",
"https://www.elcorteingles.es/", "https://www.elcorteingles.es/",
"https://elpais.com/deportes/motociclismo/2026-04-24/marc-marquez-afronta-sin-excusas-su-tercera-peor-sequia-en-motogp-desde-que-paso-lo-que-paso-he-tenido-que-ir-adaptandome.html", "https://elpais.com/deportes/futbol/2026-04-28/psg-y-bayern-ponen-el-centro-del-futbol-mundial-en-paris.html",
"https://elpais.com/eps/2026-04-24/el-duende-no-visita-a-cualquiera-si-no-donde-estaria-la-magia-auge-caida-y-redencion-de-farruquito.html", "https://elpais.com/gente/2026-04-28/shakira-recuerda-su-episodio-mas-dificil-en-una-carta-una-manana-me-desperte-siendo-una-mujer-diferente-con-otra-vida.html",
"https://elpais.com/opinion/2026-04-25/trump-el-gran-europeista-involuntario.html",
"https://elpais.com/babelia/2026-04-25/anna-maria-maiolino-arte-desde-las-tripas.html",
"https://elpais.com/espana/madrid/2026-04-25/dos-heridos-y-ocho-detenidos-tras-una-pelea-con-arma-blanca-en-el-metro-de-madrid.html",
"https://www.santander.es/",
"https://elpais.com/internacional/2026-04-25/la-flota-fantasma-que-alimenta-las-guerras-de-israel.html",
"https://elpais.com/elviajero/2026-04-25/bogota-una-cima-del-arte-la-gastronomia-y-el-alegre-despiporre-urbanistico.html",
"https://administracion.gob.es/", "https://administracion.gob.es/",
"https://elpais.com/smoda/placeres/2026-04-23/las-creadoras-de-yo-siempre-a-veces-la-serie-sobre-ser-madre-soltera-la-precariedad-lo-esta-marcando-todo-la-gente-se-ve-desbordada.html",
"https://elpais.com/clima-y-medio-ambiente/2026-04-28/la-ue-acuerda-normas-comunes-para-proteger-a-perros-y-gatos-de-abusos-y-practicas-comerciales-crueles.html",
"https://elpais.com/tecnologia/tu-tecnologia/2026-04-24/merece-la-pena-pagar-por-almacenamiento-extra-en-la-nube-para-tu-movil.html",
"https://www.amazon.es/",
"https://www.santander.es/",
"https://elpais.com/economia/2026-04-29/el-bce-pide-a-la-banca-planes-de-contingencia-ante-el-nuevo-modelo-de-ia-de-anthropic.html",
"https://elpais.com/icon/2026-04-29/salir-con-hombres-que-no-van-a-terapia-me-parece-peligroso-la-brecha-de-genero-que-hace-que-ellas-cuiden-mas-de-su-salud-mental.html",
"https://www.renfe.com/",
"https://elpais.com/deportes/tenis/2026-04-28/baptiste-despide-de-madrid-a-la-campeona-sabalenka.html",
"https://elpais.com/escaparate/tecnologia/2026-04-29/robots-limpiapiscinas.html",
"https://elpais.com/sociedad/2026-04-28/la-eurocamara-urge-a-la-comision-que-proponga-tipificar-la-violacion-con-el-consentimiento-como-eje-en-toda-la-ue.html",
"https://elpais.com/cultura/2026-04-28/un-viaje-de-seis-anos-y-40-idiomas-el-fenomeno-irene-vallejo-encuentra-su-colofon-global-en-el-mundo-arabe.html",
"https://www.agenciatributaria.es/", "https://www.agenciatributaria.es/",
"https://elpais.com/deportes/futbol/2026-04-25/jose-barcala-del-depor-al-bayern-un-trotamundos-espanol-busca-la-revancha-ante-el-barca-en-las-semifinales-de-la-champions.html", "https://elpais.com/cultura/2026-04-29/el-colapso-anunciado-del-convento-de-cuenca-de-campos-que-expolio-el-magnate-william-randolph-hearst-el-problema-central-es-la-espana-vacia.html",
"https://elpais.com/deportes/tenis/2026-04-24/alcaraz-descarta-jugar-en-roland-garros-es-un-momento-complicado-para-mi.html", "https://elpais.com/opinion/2026-04-29/yo-a-tu-edad.html"
"https://elpais.com/elviajero/escapadas/espana/2026-04-22/bodegas-un-tesoro-extraterrestre-y-un-castillo-medieval-convierten-a-villena-en-una-alternativa-al-circuito-turistico-de-alicante.html",
"https://elpais.com/economia/2026-04-24/espana-se-suma-a-italia-y-pide-a-bruselas-suspender-las-reglas-fiscales-por-la-crisis-energetica.html",
"https://elpais.com/espana/madrid/2026-04-24/un-convoy-de-40-autobuses-azules-destino-burgos-el-ayuntamiento-de-madrid-los-cede-tras-el-incendio-que-arraso-la-mitad-de-la-flota.html",
"https://elpais.com/television/series/2026-04-24/a-que-estas-esperando-no-sabe-si-ser-porno-o-la-clasica-comedia-romantica-para-ver-en-familia.html"
], ],
"static_urls": [ "static_urls": [
"https://administracion.gob.es/", "https://administracion.gob.es/",

View File

@@ -8,28 +8,28 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.france24.com/fr/vid%C3%A9o/20260425-cisjordanie-des-enfants-priv%C3%A9s-d-%C3%A9cole-par-l-arm%C3%A9e-isra%C3%A9lienne",
"https://www.france24.com/fr/vid%C3%A9o/20260425-p%C3%A9rou-perquisition-au-domicile-de-l-ancien-chef-de-l-organisme-%C3%A9lectoral",
"https://www.france24.com/fr/vid%C3%A9o/20260425-attaques-d-ampleur-au-mali-combats-entre-arm%C3%A9e-et-groupes-terroristes",
"https://www.france24.com/fr/france/20260425-france-pour-moi-est-fini-alg%C3%A9rie-boualem-sansal-dit-vouloir-vivre-belgique-bollor%C3%A9",
"https://www.france24.com/fr/vid%C3%A9o/20260425-plainte-pour-traite-d-%C3%AAtres-humains-contre-des-plateformes-de-livraison",
"https://www.cdiscount.com/",
"https://www.france24.com/fr/vid%C3%A9o/20260425-france-les-livreurs-%C3%A0-v%C3%A9lo-s-agit-il-d-esclavage-moderne",
"https://www.sncf.com/",
"https://www.sorbonne-universite.fr/",
"https://www.france24.com/fr/europe/20260425-catastrophe-de-tchernobyl-40-ans-apr%C3%A8s-le-risque-nucl%C3%A9aire-persiste-en-europe",
"https://www.france24.com/fr/vid%C3%A9o/20260425-ukraine-frappes-meurtri%C3%A8res-%C3%A0-dnipro-zelensky-veut-plus-de-sanctions",
"https://www.impots.gouv.fr/",
"https://www.amazon.fr/",
"https://www.credit-agricole.fr/", "https://www.credit-agricole.fr/",
"https://www.france24.com/fr/vid%C3%A9o/20260425-l-iran-refuse-des-pourparlers-directs-les-am%C3%A9ricains-attendus-%C3%A0-islamabad", "https://www.france24.com/fr/%C3%A9missions/info-ou-intox/20260428-tirs-au-gala-de-la-presse-cole-allen-encart%C3%A9-au-parti-d%C3%A9mocrate-et-proche-des-stars",
"https://www.france24.com/fr/vid%C3%A9o/20260425-mali-des-tirs-entendus-dans-plusieurs-localit%C3%A9s-dont-bamako-et-kati", "https://www.france24.com/fr/afrique/20260428-senegal-une-reforme-du-code-electoral-ouvre-la-voie-%C3%A0-ousmane-sonko-pour-la-pr%C3%A9sidentielle-de-2029",
"https://www.france24.com/fr/vid%C3%A9o/20260425-elections-municipales-en-cisjordanie-occup%C3%A9e-et-dans-le-centre-de-gaza", "https://www.sncf.com/",
"https://www.france24.com/fr/vid%C3%A9o/20260425-mojtaba-khamenei-gravement-bless%C3%A9-mais-vif-d-esprit-selon-le-new-york-times", "https://www.france24.com/fr/europe/20260428-le-futur-premier-ministre-hongrois-peter-magyar-propose-une-rencontre-a-volodymyr-zelensky-ukraine",
"https://www.france24.com/fr/vid%C3%A9o/20260428-mali-premi%C3%A8re-apparition-d-assimi-go%C3%AFta-apr%C3%A8s-les-attaques",
"https://www.france24.com/fr/am%C3%A9riques/20260428-nouvelle-inculpation-pour-l-ex-directeur-du-fbi-james-comey-b%C3%AAte-noire-de-donald-trump",
"https://www.france24.com/fr/vid%C3%A9o/20260428-d%C3%A9troit-d-ormuz-les-n%C3%A9gociations-dans-l-impasse",
"https://www.france24.com/fr/europe/20260429-vagues-de-chaleur-fonte-des-glaces-europe-cumule-situations-climatiques-extremes-rapport-copernicus",
"https://www.france24.com/fr/moyen-orient/20260429-moyen-orient-en-direct-donald-trump-etats-unis-ont-vaincu-militairement-iran-liban-pete-hegseth-israel",
"https://www.cdiscount.com/",
"https://www.france24.com/fr/vid%C3%A9o/20260428-intelligence-artificielle-taylor-swift-veut-faire-de-sa-voix-une-marque-d%C3%A9pos%C3%A9e",
"https://www.sorbonne-universite.fr/",
"https://www.impots.gouv.fr/",
"https://www.france24.com/fr/vid%C3%A9o/20260428-mali-assimi-go%C3%AFta-a-re%C3%A7u-l-ambassadeur-de-russie-selon-la-pr%C3%A9sidence-qui-publie-des-photos",
"https://www.france24.com/fr/%C3%A9missions/le-d%C3%A9bat/20260428-mali-le-pouvoir-peut-il-basculer",
"https://www.france24.com/fr/vid%C3%A9o/20260428-attaques-au-mali-qui-est-iyad-ag-ghali-%C3%A0-la-t%C3%AAte-du-jnim",
"https://www.amazon.fr/",
"https://www.france24.com/fr/sports/20260428-mondial-2026-fifa-joueurs-couvrant-bouche-pendant-altercation-recevront-carton-rouge-racisme",
"https://www.france24.com/fr/%C3%A9missions/dans-la-presse/20260429-visit-rwanda-sous-les-crampons-la-guerre",
"https://www.service-public.fr/", "https://www.service-public.fr/",
"https://www.france24.com/fr/vid%C3%A9o/20260425-les-etats-unis-r%C3%A9fl%C3%A9chiraient-%C3%A0-suspendre-l-espagne-de-l-otan", "https://www.france24.com/fr/am%C3%A9riques/20260428-ambassadrice-ukraine-n-a-pas-vol%C3%A9-de-bouteilles-d-alcool-lors-de-la-tentative-d-attentat-contre-trump"
"https://www.france24.com/fr/vid%C3%A9o/20260425-mali-attaques-coordonn%C3%A9es-pr%C3%A8s-de-bamako-et-dans-l-int%C3%A9rieur",
"https://www.france24.com/fr/vid%C3%A9o/20260425-attaques-au-mali-la-capitale-bamako-kati-ou-encore-kidal-vis%C3%A9es"
], ],
"static_urls": [ "static_urls": [
"https://www.service-public.fr/", "https://www.service-public.fr/",

View File

@@ -8,28 +8,28 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://hk.news.yahoo.com/g7%E5%B0%8D%E4%B8%AD%E4%BF%84%E6%A0%B8%E6%AD%A6%E6%93%B4%E5%BC%B5%E8%A1%A8%E7%A4%BA%E9%97%9C%E5%88%87-053502946.html", "https://hk.news.yahoo.com/%E5%8F%B2%E4%B8%8A%E9%A0%AD-%E9%81%AD-%E5%90%84%E5%9C%8B%E5%95%9F%E5%8B%95%E5%8C%96%E7%9F%B3%E7%87%83%E6%96%99%E6%B7%98%E6%B1%B0%E8%AB%87%E5%88%A4-070503576.html",
"https://www.police.gov.hk/",
"https://www.mtr.com.hk/",
"https://hk.news.yahoo.com/%E6%8E%A5%E9%80%A3%E6%A0%A1%E5%9C%92%E6%A7%8D%E6%93%8A-%E5%9C%9F%E8%80%B3%E5%85%B6%E6%92%A4%E6%8F%9B%E6%95%99%E8%82%B2%E9%83%A8%E6%AC%A1%E9%95%B7-132006319.html",
"https://hk.news.yahoo.com/%E9%BB%8E%E5%B7%B4%E5%AB%A9%E5%8D%97%E9%83%A8%E6%88%B0%E7%81%AB%E6%9C%AA%E6%AD%87-%E4%BB%A5%E8%BB%8D%E6%93%8A%E6%96%836%E5%90%8D%E7%9C%9F%E4%B8%BB%E9%BB%A8%E6%88%90%E5%93%A1-223501208.html",
"https://www.hktvmall.com/",
"https://www.hku.hk/", "https://www.hku.hk/",
"https://hk.news.yahoo.com/%E6%8C%AA%E5%A8%81%E6%93%AC%E7%A6%8116%E6%AD%B2%E4%BB%A5%E4%B8%8B%E5%85%92%E5%B0%91%E4%BD%BF%E7%94%A8%E7%A4%BE%E7%BE%A4%E5%AA%92%E9%AB%94-080501788.html", "https://hk.news.yahoo.com/%E4%BB%A5%E9%91%91%E8%AD%89%E7%A7%91%E5%AD%B8%E6%BF%80%E7%99%BC%E5%A5%BD%E5%A5%87%E5%BF%83-%E5%B0%8F%E5%AD%B8%E6%A0%A1%E9%95%B7-%E7%A7%91%E5%AD%B8%E4%B8%8D%E6%87%89%E5%8F%AA%E6%98%AF%E5%85%AC%E5%BC%8F%E5%AE%9A%E5%BE%8B%E5%A0%86%E7%96%8A-200000584.html",
"https://hk.news.yahoo.com/%E5%8D%B0%E5%B0%BC%E7%A5%AD%E5%B0%81%E9%8E%96%E5%A8%81%E8%84%85-%E7%B6%AD%E5%9F%BA%E5%A6%A5%E5%8D%94%E9%A1%98%E9%85%8D%E5%90%88%E7%95%B6%E5%9C%B0%E6%B3%95%E8%A6%8F-092002688.html", "https://hk.news.yahoo.com/%E5%B0%96%E6%B2%99%E5%92%80%E9%85%92%E5%BA%97%E8%81%9A%E6%9C%83%E8%AE%8A%E8%A1%9D%E7%AA%81-%E5%85%A7%E5%9C%B0%E5%A5%B3%E5%A4%A7%E9%A6%AC%E7%94%B7%E4%BA%92%E6%AF%86-%E5%90%8C%E9%81%AD%E6%8B%98%E6%8D%95%E9%80%81%E9%99%A2-034529792.html",
"https://hk.news.yahoo.com/%E5%AE%8F%E6%98%8C%E9%96%A3%E5%B1%85%E6%B0%91%E8%85%B3%E5%82%B7%E6%92%90%E6%8B%90%E6%9D%96%E4%B8%8A%E6%A8%93-%E6%9B%BE%E8%A9%A2%E5%95%8F%E5%8F%AF%E5%90%A6%E6%94%B9%E6%9C%9F%E6%9C%AA%E7%8D%B2%E5%9B%9E%E6%87%89-074305957.html", "https://www.police.gov.hk/",
"https://hk.news.yahoo.com/%E7%BE%8E%E4%BC%8A%E8%AB%87%E5%88%A4%E9%80%B2%E5%B1%95%E8%86%A0%E8%91%97-%E4%BB%A5%E9%BB%8E%E5%81%9C%E7%81%AB%E5%BB%B6%E9%95%B73%E5%91%A8-060502014.html", "https://hk.news.yahoo.com/%E7%B2%89%E5%B6%BA%E7%B9%9E%E9%81%93%E6%9D%B1%E6%AE%B5%E5%91%A8%E6%97%A5%E9%80%9A%E8%BB%8A-%E8%81%AF%E5%92%8C%E5%A2%9F%E5%87%BA%E5%B8%82%E5%8D%80%E6%96%99%E5%BF%AB10%E5%88%86%E9%90%98-051625454.html",
"https://www.gov.hk/", "https://hk.news.yahoo.com/%E6%99%A8%E6%97%A9%E6%96%B0%E8%81%9E%E9%87%8D%E9%BB%9E-%E7%99%BD%E5%AE%AE%E8%A8%98%E8%80%85%E6%99%9A%E5%AE%B4%E6%A7%8D%E6%93%8A%E6%A1%88%E7%96%91%E7%8A%AF%E8%89%BE%E5%80%AB%E6%8F%90%E5%A0%82-%E8%8B%B1%E7%8E%8B%E6%9F%A5%E7%90%86%E6%96%AF%E4%B8%89%E4%B8%96%E6%8A%B5%E7%BE%8E%E5%B1%95%E9%96%8B%E5%9C%8B%E4%BA%8B%E8%A8%AA%E5%95%8F-232023524.html",
"https://hk.news.yahoo.com/%E6%B5%B7%E4%BA%8B%E6%A9%9F%E6%A7%8B-%E8%89%98%E6%B2%B9%E8%BC%AA%E5%9C%A8%E7%B4%A2%E9%A6%AC%E5%88%A9%E4%BA%9E%E5%A4%96%E6%B5%B7%E9%81%AD%E5%88%B0%E5%8A%AB%E6%8C%81-162002269.html", "https://hk.news.yahoo.com/%E6%88%B0%E7%88%AD%E8%A1%9D%E6%93%8A-%E6%AD%90%E5%85%83%E5%8D%80%E6%B6%88%E8%B2%BB%E8%80%85%E9%80%9A%E8%86%A8%E9%A0%90%E6%9C%9F%E5%A2%9E%E8%87%B34-140502453.html",
"https://hk.news.yahoo.com/%E5%BE%B7%E5%9C%8B%E5%B0%87%E6%B4%BE%E6%8E%83%E9%9B%B7%E8%89%A6%E5%89%8D%E5%BE%80%E5%9C%B0%E4%B8%AD%E6%B5%B7-%E5%9B%A0%E6%87%89%E8%8D%B7%E8%8E%AB%E8%8C%B2%E6%B5%B7%E5%B3%BD%E5%8F%AF%E8%83%BD%E4%BB%BB%E5%8B%99-140502391.html", "https://hk.news.yahoo.com/%E4%B8%83%E5%9C%B0%E8%81%AF%E6%89%8B%E6%89%93%E6%93%8A%E5%85%92%E7%AB%A5%E8%89%B2%E6%83%85%E7%89%A9%E5%93%81%E7%BD%AA%E8%A1%8C-%E6%8B%98326%E4%BA%BA-9%E6%B8%AF%E4%BA%BA%E8%A2%AB%E6%8D%95-28%E6%AD%B2%E6%BC%A2%E5%8F%A6%E6%B6%89%E5%A4%9A%E6%AC%A1%E9%9D%9E%E7%A6%AE%E7%94%B7%E7%AB%A5-200000224.html",
"https://hk.news.yahoo.com/%E7%BE%8E%E5%9C%8B%E5%8B%99%E9%99%A2%E6%87%B8%E8%B3%9E%E9%80%BE3%E5%84%84-%E7%B7%9D%E6%8D%95%E4%BC%8A%E6%8B%89%E5%85%8B%E6%AD%A6%E8%A3%9D%E7%B5%84%E7%B9%94%E9%A0%98%E8%A2%96-152002118.html", "https://www.hktvmall.com/",
"https://hk.news.yahoo.com/%E7%AB%8A%E5%8C%AA%E9%97%96%E9%95%B7%E6%B2%99%E7%81%A3%E6%80%A1%E9%96%A3%E8%8B%91-%E4%B8%83%E6%97%AC%E5%A9%A6%E7%97%9B%E5%A4%B153%E8%90%AC%E7%8F%BE%E9%87%91%E5%8F%8A%E9%87%91%E5%99%A8-013344810.html", "https://www.mtr.com.hk/",
"https://hk.news.yahoo.com/%E5%B7%9D%E6%99%AE%E7%A8%B1%E4%B8%8D%E6%80%A5%E6%96%BC%E7%B5%90%E6%9D%9F%E8%88%87%E4%BC%8A%E6%9C%97%E6%88%B0%E7%88%AD-%E4%B8%8D%E6%9C%83%E5%8B%95%E7%94%A8%E6%A0%B8%E6%AD%A6-222004956.html", "https://hk.news.yahoo.com/%E7%AB%8B%E6%B3%95%E6%9C%83%E4%B8%89%E8%AE%80%E9%80%9A%E9%81%8E2026%E5%B9%B4%E6%92%A5%E6%AC%BE%E6%A2%9D%E4%BE%8B%E8%8D%89%E6%A1%88-050626506.html",
"https://hk.news.yahoo.com/google%E9%80%BE600%E5%93%A1%E5%B7%A5%E8%81%AF%E5%90%8D%E4%BF%A1%E8%87%B4ceo-%E7%B1%B2%E6%8B%92%E7%B5%95%E6%A9%9F%E5%AF%86%E8%BB%8D%E4%BA%8Bai%E5%90%88%E7%B4%84-062003403.html",
"https://hk.news.yahoo.com/%E5%A0%B1%E5%91%8A-%E5%8C%97%E9%9F%93%E7%96%AB%E6%83%85%E6%9C%9F%E9%96%93%E8%99%95%E6%B1%BA%E4%BA%BA%E6%95%B8%E9%A3%86%E5%8D%87-%E5%A4%9A%E5%9B%A0%E6%94%B6%E7%9C%8B%E5%8D%97%E9%9F%93%E6%88%B2%E5%8A%87%E7%AD%89-143501157.html",
"https://hk.news.yahoo.com/%E7%BE%A9%E5%A4%A7%E5%88%A9%E7%B8%BD%E7%90%86-%E7%A9%A9%E5%AE%9A%E7%89%A9%E5%83%B9%E6%98%AF%E9%A6%96%E8%A6%81%E4%BB%BB%E5%8B%99-182002977.html",
"https://hk.news.yahoo.com/%E4%BA%9E%E8%82%A1%E6%99%AE%E9%81%8D%E6%94%B6%E9%BB%91-095001022.html",
"https://hk.news.yahoo.com/%E8%A8%98%E5%8D%94%E6%99%9A%E5%AE%B4%E9%A9%9A%E6%A7%8D%E6%93%8A-%E7%99%BD%E5%AE%AE%E6%AD%B8%E5%92%8E%E5%B7%A6%E7%BF%BC%E4%BB%87%E6%81%A8%E5%B4%87%E6%8B%9C-230505725.html",
"https://hk.news.yahoo.com/%E5%AE%8F%E9%81%93%E9%96%A3%E6%A5%AD%E4%B8%BB%E4%BD%943%E4%B8%8A%E6%A8%93%E5%90%8D%E9%A1%8D-%E7%A7%9F%E5%AE%A2-%E9%BB%9E%E8%A7%A3%E6%94%BF%E5%BA%9C%E5%B9%AB%E5%94%94%E5%88%B0-200000487.html",
"https://www.hko.gov.hk/", "https://www.hko.gov.hk/",
"https://hk.news.yahoo.com/%E7%84%A1%E4%BA%BA%E6%A9%9F%E5%A2%9C%E8%90%BD%E7%BE%85%E9%A6%AC%E5%B0%BC%E4%BA%9E-%E8%8B%B1%E5%9C%8B%E6%88%B0%E6%A9%9F%E7%B7%8A%E6%80%A5%E5%8D%87%E7%A9%BA-155001420.html", "https://hk.news.yahoo.com/%E7%99%BD%E5%AE%AE-%E5%B7%9D%E6%99%AE%E8%88%87%E5%9C%8B%E5%AE%89%E9%AB%98%E5%B1%A4%E5%95%86%E8%A8%8E%E4%BC%8A%E6%9C%97%E6%9C%80%E6%96%B0%E6%8F%90%E8%AD%B0-230504137.html",
"https://www.hsbc.com.hk/", "https://www.hsbc.com.hk/",
"https://yahoo-news.com.hk/BBCChineseNews/41467/?yptr=yahoo", "https://www.gov.hk/"
"https://hk.news.yahoo.com/%E7%94%B1%E7%BE%A9%E5%A4%A7%E5%88%A9%E4%BB%A3%E4%BC%8A%E6%9C%97%E5%8F%83%E5%8A%A0%E4%B8%96%E8%B6%B3%E8%B3%BD-%E7%9B%A7%E6%AF%94%E6%AD%90-%E9%9D%9E%E7%BE%8E%E6%94%BF%E5%BA%9C%E7%AB%8B%E5%A0%B4-052004971.html"
], ],
"static_urls": [ "static_urls": [
"https://www.gov.hk/", "https://www.gov.hk/",

View File

@@ -8,22 +8,22 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.mhlw.go.jp/",
"https://news.yahoo.co.jp/pickup/6577647?source=rss",
"https://news.yahoo.co.jp/pickup/6577619?source=rss",
"https://www.japan.go.jp/",
"https://news.yahoo.co.jp/pickup/6577642?source=rss",
"https://news.yahoo.co.jp/pickup/6577645?source=rss",
"https://www.rakuten.co.jp/", "https://www.rakuten.co.jp/",
"https://news.yahoo.co.jp/pickup/6577625?source=rss", "https://news.yahoo.co.jp/pickup/6578089?source=rss",
"https://news.yahoo.co.jp/pickup/6577643?source=rss", "https://www.mhlw.go.jp/",
"https://www.yahoo.co.jp/", "https://www.japan.go.jp/",
"https://www.amazon.co.jp/", "https://news.yahoo.co.jp/pickup/6578103?source=rss",
"https://www.u-tokyo.ac.jp/",
"https://news.yahoo.co.jp/pickup/6577648?source=rss",
"https://www.smbc.co.jp/", "https://www.smbc.co.jp/",
"https://news.yahoo.co.jp/pickup/6577627?source=rss", "https://www.jreast.co.jp/",
"https://www.jreast.co.jp/" "https://news.yahoo.co.jp/pickup/6578098?source=rss",
"https://www.u-tokyo.ac.jp/",
"https://www.amazon.co.jp/",
"https://news.yahoo.co.jp/pickup/6578095?source=rss",
"https://news.yahoo.co.jp/pickup/6578102?source=rss",
"https://www.yahoo.co.jp/",
"https://news.yahoo.co.jp/pickup/6578100?source=rss",
"https://news.yahoo.co.jp/pickup/6578096?source=rss",
"https://news.yahoo.co.jp/pickup/6578097?source=rss"
], ],
"static_urls": [ "static_urls": [
"https://www.japan.go.jp/", "https://www.japan.go.jp/",

View File

@@ -8,19 +8,19 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.yonhapnewstv.co.kr/news/MYH20260425183800b9s", "https://www.daum.net/",
"https://www.hometax.go.kr/",
"https://www.yonhapnewstv.co.kr/news/AKR202604291353261Wk",
"https://www.yonhapnewstv.co.kr/news/MYH20260429124522Cfz",
"https://www.coupang.com/",
"https://www.yonhapnewstv.co.kr/news/MYH20260429141826Oex",
"https://www.snu.ac.kr/",
"https://www.korea.kr/", "https://www.korea.kr/",
"https://www.kakao.com/", "https://www.kakao.com/",
"https://www.yonhapnewstv.co.kr/news/MYH20260425152110bpV", "https://www.yonhapnewstv.co.kr/news/MYH20260429120255UuE",
"https://www.yonhapnewstv.co.kr/news/AKR20260425212444Z30",
"https://www.hometax.go.kr/",
"https://www.daum.net/",
"https://www.yonhapnewstv.co.kr/news/MYH20260425152255vNc",
"https://www.naver.com/",
"https://www.yonhapnewstv.co.kr/news/MYH20260425133924vxi",
"https://www.snu.ac.kr/",
"https://www.kbstar.com/", "https://www.kbstar.com/",
"https://www.coupang.com/" "https://www.yonhapnewstv.co.kr/news/MYH20260429133604Bz4",
"https://www.naver.com/"
], ],
"static_urls": [ "static_urls": [
"https://www.korea.kr/", "https://www.korea.kr/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.kwsp.gov.my/",
"https://news.google.com/rss/articles/CBMiiAFBVV95cUxPaXNVYWt2b0ptbFNvOGQzekdhR3pndUxuRk12Tk1aT1BtLWZaMjdOOHA2WG83VlFYaWxRVVNnNE9FaWdyWTBpaG9aNTcwWHllRkpJM0FZcVhleGR5dlk3NW9laGtHay1kbVV2MWtGY2hVaHdRU3JGTktJbWpNYzFETjlpbzhGX0dm?oc=5",
"https://www.hasil.gov.my/",
"https://um.edu.my/",
"https://news.google.com/rss/articles/CBMi5gFBVV95cUxPQzNKdlB6QWllTDJZNTUyZzVZeEdfRkNaUzZ4RWRkbGNvMTdoOVNHMnNCa0Vhd3RMRjJXR092QUxDVjVnWGk3bm5JRU9ZclRxSk1kVlVyNlVRTDdLUHJDTDZCSVExOS1ONlk3TkVlanBnQWZ0Tk04Y2N0NnloOFEwdm9Ya2lkVGdkdHl0cWZWbHNhcTZoZVdEdGVxNXowT1lVSGpYaG81a1M5VTBSbHNyT2pWNEI4YmZOZmViRktJSGRZUjFtU1E1b1gwNHZzXzV2Sm83SU9fZEN5ZUJXdW92N3A1QjhhZ9IB6wFBVV95cUxPdDZqamRpdkNrczZyOVhCZjROc3ZhRmdQcWpNdE5DVjY5RjhCSklMbXJaSnA3dzMwWU9hZDZZdGswa2p6VHNkRDY3ekhOTWZQay1Xemhkak9jNFI3emdfUEFWNXFXZ1FHejZvVDN5elhENkM1T0g0YURaNjlHVzd0LU02RzdMc0RKR1FyRTQ4MDJBZFhmOVFVYzFyeHAtSGl2YmhTOVlKVVJHR01tWU1sN1lpd3MzbkNxc1BuTWt3OTl4NGN3RzRSNk0xeEJJMEFscHhMUkhBbDZ4aGtOaHFReGd3TEpiQ1hMMzV3?oc=5",
"https://news.google.com/rss/articles/CBMixwFBVV95cUxOT0x0ZnZhTEo5NS01UjZHdW42VTVlVDhvNWQ5MXpQZVl6Y0FrZ1RSSTJHbkIwdjJ5Qm5ta1Fad01CTmdYTUJuRW5aWkJmQmhfWWp2cU80RVg3b09uS0xDYmdKaXdjNjFyUmlsdVo3SmctREJXNzRpU0R3RTkxSVhzaTFtVHQxTzA1ZmlFaUNkaWZSLTlydXFDbnlUZV9QT3JMbzJ4QndFQ1R1MVgycTNKZWxKQ2ZCSDNlR05wa0VZQ2lNOXlwZGsw?oc=5",
"https://www.pos.com.my/",
"https://news.google.com/rss/articles/CBMitwFBVV95cUxNRFltTDBUYmhkQWNsYVZoSlBDOUI4cFhacWtaWFZzU05TRFdvMUpxRjZFUnFKUzFZeUxLWUZYV00yUml2ZWRUX0hLUTNwRHd6THpNZk9vYWtfUnJjY3pMTHNFWWI2QXBMZ1RRU1dfM1BpcG5EYVZreVlzUmlQeGJYUzdCcENuN2hhVVlNTnlIVWxoQndvZktxYXZpTHlQX3NvRG4tQjNOYUZBVlB4Y0pFRjk0Y3E4SEU?oc=5",
"https://news.google.com/rss/articles/CBMi2gFBVV95cUxNTDctT2JwWmtnZnBsTGl6WDBTaEw0YXNQSm5iNEx1a0ZQaUxsYTNpdXplVE1lVUQxU2V1XzhFUGZycFlkNE05aDFTazd4S2JXODN6YkFLUTZCNXZXN25WZW5oekZnT3FjYTdPQ3ctbUVfZXhkUzRwc2Vta19XTWlIM0dzT3dmZHBBaHZOZlpFRXd5WDhjcEVfUkd6SXVoY1V4WWVodWhsMTA3NHd4WXVZd3FDT185SnFGZ21xWFU5VFZlN1lPOHZocTI2RV9YY2phWl9tUm41S3hIZ9IB3wFBVV95cUxOQ0QtMzNSXzd4b0RRaGV2S05TREVocTQ3d1ZheFd6SkFYa3Q1ZDhSVGpLdXRBbmxKMmZIcEd3aUM4V2Z1bzhGNmIzYzFGOEV2Smd5UVZoUkF5dzlPNU5uRHZNWDQtcThrb1pRM0VnTlRRaU1tZ2FleUNUUVA5T3dNQTJuSnZIY1ZkQThkYW5SdU1wXzlfemR0Mi1DQjVzczFsZGk4ZndVRFRfckkxZnByQ1dkQnp6X01ZVXE2VlJ1YUM0cV90NW9wRERGRHUycXdqUGhkUU4zbEVtWlZuT3Fn?oc=5",
"https://shopee.com.my/",
"https://www.malaysia.gov.my/",
"https://news.google.com/rss/articles/CBMiswFBVV95cUxOVGxwSlZmZUF2UW1VUnN5R0ZfX3l5Tk5mQnBKZ0ZsSG5tM3N2LWgzdGhPalVHQjUwQnpDN1pnUGVMVzlZRDdtd0paSk9BdVBQQms1WTlNOHNBY1NGZHlHelV5V2xYdWhpWkZpMUZvYjdXSkdLeUtQNWRuNDV4dTJDcEJEcElpZFozSTlmNExpZjVHWXhTeDFLbVhUMkhiclg0bVlrWHlaWTFJOTluc1U0YVJjRQ?oc=5",
"https://www.maybank2u.com.my/", "https://www.maybank2u.com.my/",
"https://news.google.com/rss/articles/CBMiwgFBVV95cUxOTmMtWWdXTEJDYUdUZ2twUnNKMXI1SUt3MW9QbEpqSndobHhEMDZ1N3hiU1VyQ1Jta00yREdiaEV1a3N3dTZqQy1ZS0pVNUY0VTRRRllObzcwWlRxM2ZyWFJka212N2ttbEZTZEJBTXd4bjFuaExaX29pVG1YWkhtOG9DZC1BQUx6QmJrY1dCZlRJNTFTcFBDeENlU0dBSDh4Y1NjUG02S0F6Y1ZYWFA2dFlZLVVEOTdfcS1fTXNUc0d6d9IBxwFBVV95cUxQTFZMSlB2cFp3ODB5dk00X3ZJRXNmRW9ZMm0wRkVHeWNob1g4cTF0TG45eVBCdG41NUFuY29EMVBkYUd2MmR0aDhtWE1GMFowdlBEOWY4YVFYZ3NJcHVlbDltZTVkZTI2SUgzbDVDQ3QwLWE5QUEtNDNRb18tSHZvQUs4ZV9mU0VKWWl6Y3Y1aVZreExEd09BTklkTVVONDExcUZwQy1ZN3FaUDFKWWhMLXJjXzg1ODZoeldfZzBsbUtrNXh3OTdj?oc=5",
"https://um.edu.my/",
"https://www.lazada.com.my/",
"https://www.cimbclicks.com.my/", "https://www.cimbclicks.com.my/",
"https://news.google.com/rss/articles/CBMixgFBVV95cUxPeU5JV3ZVaU0ySHcyYWM3WXdXRENuT2N4VzZEbGdxOFBqc2FFcTZKMUxlMEUyUWJVaU9QbVZkVjRkR1pCejFwS3Z0VXpSNnZlcWNaeVVfZHc0Rmd1aTBROTR3MWx2aVR4YUJENlFVM0pUUzB4MnZNSkxuZFNpMUFvb2ZranY0aGM0ZUpmNGNacnUwSm9pOHFMdmtuYk9SUGxTZ2p3LWRuVElLM19vUzZnNUJTVktoN1FvOGgzMXJKUUlldmRLVEE?oc=5", "https://news.google.com/rss/articles/CBMi0AFBVV95cUxPdlpkV3RuSklKeG1aVmRLcUdkaWE4akxEOGsySE4tdy1TZjZ3VGtjNV94UDdrR3hOVEFiSVF6MnJXbHpSSkNFZGlwc2t5N21GVXlpRGM5Y2d5VC1UUmJDdkpzakNzSWMtanhfQW9xMnZISUVuVVozSzY5OWQ2aEJoMExVcW9neExaTVA2MTFyZ2xKOXVtS3dqMkZ5ZWRjUHdlMEhkbzFqN0pia01sN2tKMWd1TzcwS0tudkZNMFdreWRvNEJvZ2NyVUlrUFVuQndW?oc=5",
"https://news.google.com/rss/articles/CBMingFBVV95cUxNalNmOGxTaDlMTlhUR3Bfc01UNlBQTUpjeXNkbU92elpEYXBiWHMySU9qdEt0dUF1dzcxbmNuSTBmQUQ4alRpU0RKaGxJX1k4VkFQdXZ6bVJWd0VQZlFqZngySEs5bUQtWmQyQWl6ZGlMTVBJc05OcnBiODd1Y094em1fbWFXRkpndWFvTERMX3I5aDRIZ1QtVXk2Z3hLQQ?oc=5", "https://www.hasil.gov.my/",
"https://news.google.com/rss/articles/CBMiuwFBVV95cUxOc21IaFd3d3FaeVFQWU91ZGhubkw5RzRiaVQxekRBdTNxUTVfOU1JcTRwaDM0bkhLUWpTd0g5NDJ1NTZveE5PVWNuSm15OUpkX0ZZX3FHNG9mbV9xTXV2X1lNWmFIUDRQN0dmX2JoVXNBOGlaa0lJV1BsOW9DYk5SU1VTbklnY3pVbWdXaHJVTTdlOVRHOFhoUUg0UFlqS0tUeF9NVFdxdHRCb0Y0WEVKUi00TDN6c3QwQ1pr0gHAAUFVX3lxTE9tSFhkVWwwdUNWLVNiWTR5VF8tRFB0d2pza3ROMHc5MzlYRGU5aGY0LUVxaXdRRlNWbVNuNzMtQ1hGMzA4ckphNml0VHJ2OXZjNml5RDdRVl8yWkUtdE1MWllreG9nYVJXanlkLS0wVFNoRnZLRGtmVGFUQkJBSjZsSHM4RkluX2U3ZlVMX24ydlpTaTRDNXBYM3dMX0VDaDR6VEpva0tnV2ljNW5YX2xGQ3hxRS1YbDM0SUxtTWU2dQ?oc=5", "https://news.google.com/rss/articles/CBMiywFBVV95cUxQdlVReUVqQ2dKLV9wZUNQcTVlUXU1a0lFeHMzUlVydXdXcDl2VTk4STNNcFBWUXVUUUxtMWl2NUFxSlpaYkh5bjRvbWJidkZpMWY2ekdoR0FMc2NXVURRaWItYjVXM182SzhjWlNyLUZoelhMTHFhVlFiZWRYczdfWWtocnBhX3gxcFpYU0VfeXVkNG5DNzBpNF9QNHczZXVrYjJJR1BFbHRLMS1oUjVEZlFRZDNDVkkxS3MtZHVxNlF4dGJ6RlB4SFFCa9IB0AFBVV95cUxPWHAxTkNoRjRLNE5UcVF1TGRpa3ZzNTczSy11Qmg0WUxqcGhxemV1a3lCOXFQeVlxX1o1dDlpZG04bkpfU0o0N3RMR1pVWDV0RlpRQ2RESnZSOTdlQ0hfdlV0YTFXaW9ENHVncDM1bTV3b0x2aFBzTWtnM0xPeTBtcEFTcXNIMGhwai1tMlVDNGNJSzVtOTJraGpxTFdJZ0JpS2VTN3phOFFKUEZWVlB0X3RTeHRETDJUUTdQOFpZLXhHUEJxMnJHZ3p4c05Oazho?oc=5",
"https://news.google.com/rss/articles/CBMiY0FVX3lxTFBCMk1XcEdtRUY5aVFiSDE0cjJTZWNTZTdPYUlpS1gxRnVDbXFNcWc2VzZZUEtNTkhQT3hKdDRRMG5mMFlGcjk5S0E0enNuN29UYnZYXzV0cHBWb0lVZExHQ2F0dw?oc=5", "https://news.google.com/rss/articles/CBMie0FVX3lxTE5pdmg2UHVXM3BueUhNbi1lUC15bTRTdkw3Q09wTU9WSlN3TXZqM1cwdVp4b0VTMEZYYlhJUDg0ZWF1RU1waDdtQk9GUURTRmJwMmRybTdLd1Q0UlNaU29ZTmpQd3ZBSXhJUjEtLW02OU03UW5nS0hpOEVhVQ?oc=5",
"https://news.google.com/rss/articles/CBMipAFBVV95cUxNUkhZdTNLRXJuVjk2cTRYUWNKbGlQV011aE82a21Wcjdob0JjQWRCanl0bUNCYWVPZU5rT2lOMUtrRXBoWUQ4bXNYZ2dQSUtadWNJYUNFSW5GSjJaOV8tZmhrOUZDMGYtZ2pwRmllZTFaN2JZWkVId0dzTnFXNDZMYk0teUZ5U2JSX1RqWURpa0VFUVhOXy0tSHIwelp5VmR5QUdtQQ?oc=5", "https://www.pos.com.my/",
"https://news.google.com/rss/articles/CBMi1wFBVV95cUxOaW9BY3BDUnhYYkliZzFvYXFrMXVIUWtVZ0xBVUpMZWpadDB4YmdXRzRhRG83Q0Z5RXpTU2UydTR0b1FvYUNGWGh6VFhlVEtOb1hLcXdzWnF5bEtfaWFMNzRNVzN5bUtHejZlZjBNZEc3TGdpRkxXVjN4Mmp5bkxhdU9wMVhLVEYtWWRZSUx4R3pQTG1OdFR2MGQyVmF1R3lIbjRkbGVCU0NiYlZoc1VLSnpZc210cUxMNldVVnM5ZFlqN2NKZGotNHVlVFdyelZxczdsMTg1TQ?oc=5", "https://news.google.com/rss/articles/CBMinAFBVV95cUxNckxKeWNrV2ZRQVBNRGd0bWd5Zy1NNWZDZ0FQY3RGVUlNdExVV3NLTFJmWm5pdExJMjB2dmNYVG5YbzRZTEhVZi11bS1odEw4bDhscmZfMURVVWw5LUkxa2JMQU5KZ2JjdHdaTVN6UGxpa0wteUlEeFVWNGM2X09LUnlOclBmMEJ4ejZrSXREcGlISm1KMEZ3bk9uYWQ?oc=5",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE0tVFZDUEtnd09DSGh0WGdXbUlGdVpqYmpmMk9Ob2RHWGFoXzRxX3Y2bFlNdWsyNXh1WEwtaWVtdHBsQ2ExS1d5VjZNSFBRdTJL?oc=5",
"https://www.kwsp.gov.my/",
"https://www.thestar.com.my/", "https://www.thestar.com.my/",
"https://news.google.com/rss/articles/CBMioAFBVV95cUxNaWhHRDF5bkV6elR6ZWdYSGtKV2NRTXVDTHRXN0ZRSmpHSlp1dmV2ZXl2OENTYUFmcjhoTjhrdnJXNm82aFEwV08yVjVxbDBrcGhzLS10MWtoQUdXTDRQc1VaWktEV2F2RlQ5YTlUOWt1aGszTVVCMzloZlNwMjFuQ21nZnNleERQX2NBR3RMV0UwQnM4WUMxVThEelJYSUh4?oc=5", "https://news.google.com/rss/articles/CBMi4wFBVV95cUxNSXZxOEFHTXBlR2QxV3hwNjN4YTRwQ19VRTJlaV8tRDVLQzRydkM2eGZlRmJoZW9HUTZPRmZxV1RBM0NpZnFTWHRsNXpBLVRrSmlzVzRDUTdvVXlRT1M0N2tHWXFTRk1aZTF3Q01yZUloWVZ5WU5PbGZaTjNoZ3FRWFNzcDlsMDZpcDhCSnNLdlZKWGxxT0lVWHY2bDNXb1hVS1ZGbFlSdDNwLTBzY1VORnp0MGVyZ0tjeWcwMnlPSFM0WnczT2pHekhNQ1JaS1p6Uk9uQlQzMUdJamRyYUlmRUktVdIB6AFBVV95cUxQZ3QwS180Wi1lak5paDdXMEtBbXR1aDV3bUxOdEJITGc5ZzE4bmlzcXNTdHdHeDljM0Q0VkxDZTl5bS1JaUtwckhEUlVORzZJeHBGRmJFNGJZMlQwYklORVRaR0VibE5CeExyMFhDRHJhZjlBVDJFZkQxcE92WkJub0NYX3IxVi1iX3VzT3ZHeUx1MXpuUy1xNFBYbm90cE9tSWpjejI2cVIwYlBWLTR1bnFsbC1jeDJKMFJuSWZ4aVdVaXFYUlRad1F0V0Vkc1RmdktoSDk0a1l0UHMtbTBzdGhBTlk2WlVz?oc=5",
"https://news.google.com/rss/articles/CBMiiAFBVV95cUxPTjRIRnpFR3lYVC00YmhpcjBsMjZGWk9MZlJrY2tFVFFqejdVZnY0cDI5VExJU0sxQWhGQjl4Sk5pMjE2d1RNMGVHS2lTNlVXRzlXNkdIZ2NMV3AzenZOcG1ncEFFOVdNeWVsMkF1STJqd2tobWo4cU13SzJ0V3FxQjVqc2wtdkEz?oc=5", "https://www.malaysia.gov.my/",
"https://news.google.com/rss/articles/CBMiwgFBVV95cUxOWkxxcGFDS1VPc1pLYUtMNG5KNUt6WVFSVm5ramh4NVFpWVFyZFlVY21vZHV3M0JxWFVCX3NuN214RWFCd0Y4NTJ2SEl3TkRjdlUyVDZraTcxZk01QkVidTdya2Z6R2Fra1VzeF9ZWi1XMVdpdGFESHBHTWZzTll0MS0zcjBwZnZOWEM4VkVHLTFKbEhCeGo1Y2xMbnVQYlJqNmtNc2R3RlBfWWNPVTNHS1FfV0RBQVJOdDhOM3RpRG1rUQ?oc=5", "https://news.google.com/rss/articles/CBMiowFBVV95cUxPNDFQaHRVRmtoRGk1aWk1OXpJYTM1Ml9WTHQwLUhRSmNDRGlEUnNXZlVMYU5Ra2dkNmlXN3dISDNpRnc4Zy1PVklmRHZRUkc0aWVIR25IVEhpcjNxOU5YcXo4UlBuN0E3SlV2MWFERU1CbVJFYTd5cXJNVWwyT3paMy1DRzV0aTZnQUZNenl0U1BQSTVKMHVXeXdjRFBXLXJvX1Iw?oc=5",
"https://www.lazada.com.my/" "https://news.google.com/rss/articles/CBMizwFBVV95cUxQTDhpR0pXNGZKWi0tRG1ORzFMem1zRC1fVWpuMU1ORlVDc3BkQmZsV01udnhTaHotV1JzYmlSQ1dHcFpUNl9idFdRbTBMSXI0bjlLVXJKM0lVUWdBYVpkekw5UjlKRmd6QThMaXJHZ0JXSFBRYVUyVmltcnBzSFgzTlpJZF9mNTdiYTNzVmtPQ25nSnpLUEY3eXR1UVZfRFJwQmRGb1pVZjNodU42NU5TRHNlSXF6Y2ZHbW5tdVBIMEVQOVJXemRuV01PbFQ5czA?oc=5",
"https://news.google.com/rss/articles/CBMi1AFBVV95cUxORzJqY2MzQjJVZHlhQ2hDLWxPbWpKVGdoeTIzMzBvMXQ5cTl3WWo4WERnMS13YXRjbkR0UnFCeDVBVkFDOUxsX283UDFBR0VUeVFycUFEM2VzdmQ5RDQ3T1NGa0c1YnZYNkRVZXhpSUxZQ1p1SGJzZnJ1NDF4OUhodW9mWDFZYmJzTGZtUklCTXNEdmVXQmRKV29KZ1JNQS05b1kwY29MTGJVLUg3OHdOcFF3R2wtZDk4a3RwY0dvTVB0SmJ1TkphZ2hLekVNVGFfWFBPOdIB2gFBVV95cUxNQVMzSmJvM1RyMDN5ZjJZUDFsWGNTT0xyOGFwWC14NGY5WE8wT1FIRWNvNm10OXpnS1V0Q0hINW8xa0JMSnZ0Wkc2cUgxdzQ4NjMwMW9reVJHQXJSQmFuaWROeWFsSVVtYkxVUjBNamMxMmFBNHlPQi1LSmZuSm0tXzhnYmtGc1JFUjJ2MVVRYmxONnhKa1Y3NkR0U0VTN1VjR0FsOC1VSFYtQkhNcHZnUU5GZzJpZ2o4RlJMUjF0b2xpeW82aTdIZF9nOUVySEZKYy1CQkpRamo4Zw?oc=5",
"https://news.google.com/rss/articles/CBMitAFBVV95cUxPVWtrMmVHOFg4dVktZHN5bTdjUkprY1Y3eVluam1IOWFlMFdaM202NGJvT0lRUnI0V3lSOHE0a3o0YWJfMk16aTItWGY3YWh4OHYzTVQzdS1sYXNQT2trX08zRjhlb1ktRzRIYklSaGdvY3dFZGxhY3hDZ3lfRDJhVm5CNFFhX2lQblF2S1VNNmRKWGk2RGR3bUpaeGFlYWF6RC1rN19LbVc5Z0Jtb0RYbUpyVUjSAboBQVVfeXFMTVVoZlphNERoX2VSWGtBQVdFVTFGblBpWUhUSmxWdExIOVJoVm85YXZjaFc4cVdCaTNEY2NUT3ktV0tzNU5DODdQR2RBLWRvZWRMV0xoUENFaHhka3BUVzNmbnlIaUNqcEx6Zmo5enY2dS1FMU1DYlFwTmlOMFNzbzZVU0JhVFRoazB2S3l2Y01qbk5tbWE2amxfNmk0N1djRUM5a2YyZllmVGs4cnRMWGNvckhYeEUyTnhR?oc=5",
"https://news.google.com/rss/articles/CBMimwFBVV95cUxNZDhBR1ZmaGEzSDlNLXdCWEdweVVRTkpNS0tIVUVDWTZHYl9abVlXU0JaeXBCZXlocWRGTUJhb3ZnNTZzZ05CdXJyc1VIZzRvTk40SFJ3U3g0Z0d1VFpCZFlvclo0QzNXaXZnUFhiQzNxdUxiR0xtYjRQTVU0MW0tS0xHMm5sbWJMYTYtb1Y1OEFLaEx0NW1aa1ZQYw?oc=5",
"https://news.google.com/rss/articles/CBMiyAFBVV95cUxNSmZsZW91OE5iVmc5SnJ3WUtKdG9vQUJCRzB4dzg3clhON0FxeV9ILXZyaXFZVTZDcXFvR2F3Ynkyd0ZXbmkxTnctWDZGdkRWb3ZxaXd2N3pQY3hPNXBXTzdVSmJPMWkzX0ZSR2Z1WldkRWJUYVdwZ2pWRk1mRXl5RzI4aVExdXA4VlUxZEZrNXFwNnkteHUxa1hfR2JIT2NoU21vSTdoUmlid3ZreFBIVDQwbDNSZENUazFpYzdwUE9oTDJaY3hUdA?oc=5",
"https://news.google.com/rss/articles/CBMi2gFBVV95cUxOZHp1UzNJNThraERQeEg3ZTRIX19sMDRhS2gxZmhMQUZmN0JIX1FQUlZ4RlZkNGFFTmJvOVBHQXZXVndmNDNFUzlNdG1ZY2VQYWxxRTlLbTdHcUNJb2w2OExFWm44emIzNURWQTlXSjZ1WEpJald5RGNTQWxOS0U4MnZ5cW9HbVdhdmRLLV9DNWRsYTBtVUk2d3NBb2h5UVNWbWlYVnJra2pIdmNCZ3hWMW9mSFJxTkNQeTBXUDkwX0JLNnZjMUVNSXd4RmdINW5Ba2ZUS0lON1VHUQ?oc=5",
"https://shopee.com.my/",
"https://news.google.com/rss/articles/CBMisgFBVV95cUxQenlTMUZOanBIeGZTNGp3bWJQd0p1X3dVUUdMaGVJMl9OVGhKZHZxQlhkNXkxVlNlLWlLWS05cU1FMmNTLUFicFlRWTNqUlBTVXNfLTYzSENXMDYxdkNKRnlSclFjSnJjM2xIYlBJTzVSSW5ibXh2bFJnNE05LU1uYTBVVjdRdXVnNGdrbjZDY1JPZC05OV9xTWliLVhLV3czZU5NbEdwai0wTm8zbk1ieXFR?oc=5"
], ],
"static_urls": [ "static_urls": [
"https://www.malaysia.gov.my/", "https://www.malaysia.gov.my/",

View File

@@ -0,0 +1,50 @@
{
"region_name": "Nigeria - Lagos",
"google_module": {
"base_lat": 6.5244,
"base_lon": 3.3792,
"lang_params": "hl=en-NG&gl=NG",
"valid_url_suffix": "com.ng"
},
"trust_module": {
"white_urls": [
"https://punchng.com/wbank-commits-8-2bn-to-africas-power-supply/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.nairaland.com/",
"https://www.konga.com/",
"https://punchng.com/33-ambassadors-secure-agrement-32-pending-fg/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.airtel.com.ng/",
"https://www.firstbanknigeria.com/",
"https://punchng.com/six-arrested-after-attack-on-kano-phone-market/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/three-jailed-97-years-for-abduction-in-ekiti/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/oau-announces-three-week-break-after-students-transport-protest-2/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/firms-return-to-profit-despite-policy-shifts-report/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/wafcon-postponement-frustrating-nnadozie/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.jumia.com.ng/",
"https://www.mtn.ng/",
"https://punchng.com/naseni-empowers-2000-kano-households/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/naca-unveils-technical-team-for-aids-control-in-anambra/?utm_source=rss.punchng.com&utm_medium=web",
"https://guardian.ng/",
"https://punchng.com/fashola-honours-insurance-exco-at-book-launch/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/efcc-chair-urges-ai-adoption-in-corruption-fight/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.punchng.com/",
"https://punchng.com/east-africa-attracts-4-1bn-investment-amid-reforms/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.gtbank.com/",
"https://punchng.com/n1m-wage-useless-if-naira-remains-weak-ajaero/?utm_source=rss.punchng.com&utm_medium=web",
"https://www.vanguardngr.com/",
"https://punchng.com/osimhen-to-arsenal-odumodu-vows-to-buy-emirates-season-ticket/?utm_source=rss.punchng.com&utm_medium=web",
"https://punchng.com/im-yet-to-get-flying-eagles-job-maikaba/?utm_source=rss.punchng.com&utm_medium=web"
],
"static_urls": [
"https://www.jumia.com.ng/",
"https://www.punchng.com/",
"https://www.gtbank.com/",
"https://guardian.ng/",
"https://www.konga.com/",
"https://www.firstbanknigeria.com/",
"https://www.vanguardngr.com/",
"https://www.nairaland.com/",
"https://www.airtel.com.ng/",
"https://www.mtn.ng/"
]
}
}

View File

@@ -8,28 +8,28 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.rijksoverheid.nl/", "https://nos.nl/l/2612356",
"https://nos.nl/l/2611963", "https://nos.nl/l/2612359",
"https://www.ing.nl/",
"https://nos.nl/l/2611926",
"https://www.bol.com/",
"https://nos.nl/l/2611979",
"https://nos.nl/l/2611985",
"https://nos.nl/l/2611938",
"https://nos.nl/l/2611975",
"https://nos.nl/l/2611907",
"https://www.ns.nl/",
"https://nos.nl/l/2611911",
"https://nos.nl/l/2611935",
"https://www.buienradar.nl/",
"https://nos.nl/l/2611970",
"https://nos.nl/l/2611925",
"https://www.marktplaats.nl/",
"https://nos.nl/l/2611905",
"https://www.belastingdienst.nl/", "https://www.belastingdienst.nl/",
"https://nos.nl/l/2611973", "https://nos.nl/l/2612325",
"https://nos.nl/l/2611908", "https://www.buienradar.nl/",
"https://nos.nl/l/2611919" "https://nos.nl/l/2612330",
"https://www.rijksoverheid.nl/",
"https://nos.nl/l/2612347",
"https://nos.nl/l/2612317",
"https://nos.nl/l/2612357",
"https://www.ing.nl/",
"https://nos.nl/l/2612346",
"https://nos.nl/l/2612324",
"https://www.ns.nl/",
"https://nos.nl/l/2612335",
"https://nos.nl/l/2612358",
"https://nos.nl/l/2612343",
"https://nos.nl/l/2612332",
"https://nos.nl/l/2612354",
"https://nos.nl/l/2612338",
"https://www.bol.com/",
"https://www.marktplaats.nl/"
], ],
"static_urls": [ "static_urls": [
"https://www.rijksoverheid.nl/", "https://www.rijksoverheid.nl/",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.channelnewsasia.com/sport/brazils-militao-risks-missing-world-cup-hamstring-injury-sources-say-6080916", "https://www.channelnewsasia.com/business/it-group-sopra-steria-posts-32-organic-rise-in-first-quarter-revenue-6088326",
"https://www.channelnewsasia.com/sport/manchester-city-shocked-brighton-in-womens-super-league-title-race-6080881",
"https://www.channelnewsasia.com/sport/swiatek-retires-madrid-open-due-illness-6081061",
"https://www.channelnewsasia.com/sport/man-city-fight-back-beat-southampton-and-reach-fourth-straight-fa-cup-final-6081076",
"https://www.iras.gov.sg/", "https://www.iras.gov.sg/",
"https://www.fairprice.com.sg/", "https://www.channelnewsasia.com/sustainability/tropical-forest-loss-eases-in-2025-record-high-report-shows-6088141",
"https://www.channelnewsasia.com/sport/palhinha-scores-late-tottenham-goal-wolves-end-winless-run-6081011", "https://www.channelnewsasia.com/singapore/baggage-handling-luggage-toss-changi-airport-sats-apologises-video-6088016",
"https://www.shopee.sg/", "https://www.channelnewsasia.com/singapore/paynow-nickname-feature-removed-banks-abs-jun-6-6088091",
"https://www.singpass.gov.sg/", "https://www.channelnewsasia.com/business/white-house-drafts-guidance-bypass-anthropics-risk-flag-new-ai-models-axios-reports-6088041",
"https://www.nus.edu.sg/", "https://www.channelnewsasia.com/singapore/police-close-sph-media-inflated-circulation-numbers-probe-investigation-no-further-action-6088211",
"https://www.cpf.gov.sg/", "https://www.channelnewsasia.com/east-asia/new-zealand-officials-reject-statue-remembering-japans-sex-slaves-6088281",
"https://www.channelnewsasia.com/sport/liverpool-edge-closer-champions-league-salah-injury-clouds-palace-win-6081046", "https://www.channelnewsasia.com/world/oil-prices-rise-us-extend-iran-ports-blockade-6087926",
"https://www.channelnewsasia.com/sport/punjab-pull-record-chase-against-delhi-despite-rahul-ton-6080976",
"https://www.gov.sg/",
"https://www.channelnewsasia.com/sport/wasteful-villas-away-day-blues-continue-defeat-fulham-6080911",
"https://www.channelnewsasia.com/sport/wilsons-late-winner-boosts-west-hams-survival-chances-2-1-win-over-everton-6081001",
"https://www.dbs.com.sg/", "https://www.dbs.com.sg/",
"https://www.channelnewsasia.com/sport/tottenham-and-west-ham-both-win-heated-battle-avoid-relegation-continues-6081031", "https://www.cpf.gov.sg/",
"https://www.channelnewsasia.com/sport/marc-marquez-wins-chaotic-spanish-gp-sprint-despite-crash-in-rain-6080886", "https://www.nus.edu.sg/",
"https://www.channelnewsasia.com/east-asia/japan-fire-iwate-blazes-otsuchi-wildfires-6080516", "https://www.channelnewsasia.com/east-asia/robots-baggage-handling-japan-tokyo-haneda-airport-6087891",
"https://www.channelnewsasia.com/singapore/dbs-cashback-programme-10-million-hawker-centres-heartlands-supermarkets-paylah-6080906", "https://www.channelnewsasia.com/business/south-korea-exports-seen-rising-sharply-again-in-april-chip-boom-reuters-poll-6088296",
"https://www.channelnewsasia.com/sport/york-city-promoted-league-two-after-dramatic-draw-title-rivals-rochdale-6080926", "https://www.channelnewsasia.com/entertainment/charlene-choi-wedding-elvis-lam-6087961",
"https://www.channelnewsasia.com/sport/nervy-arsenal-go-back-top-eze-seals-vital-win-over-newcastle-6081101" "https://www.channelnewsasia.com/entertainment/hong-kong-louis-koo-jessica-hsuan-first-duet-kiss-in-music-video-6088186",
"https://www.gov.sg/",
"https://www.channelnewsasia.com/east-asia/us-allies-release-joint-statement-supporting-panamas-sovereignty-6087651",
"https://www.singpass.gov.sg/",
"https://www.channelnewsasia.com/entertainment/singaporeans-amazon-prime-video-beast-games-6087921",
"https://www.fairprice.com.sg/",
"https://www.shopee.sg/",
"https://www.channelnewsasia.com/brand-studio/tackling-breast-cancer-gap-in-southeast-asia-6078596"
], ],
"static_urls": [ "static_urls": [
"https://www.gov.sg/", "https://www.gov.sg/",

View File

@@ -8,30 +8,30 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://news.google.com/rss/articles/CBMiU0FVX3lxTE9HX3l2R1QzWDZranZiNnhxU1BHZ3l4d1RHNmE0dUQwM1JDSHZKUGtGU3ZzWDN2aGJYWWZFaThpSW91RnVQTV9nc2RqaHUwdnVCNEJF0gFYQVVfeXFMT292N2kydGJCbzFyZDlPUHl6Rmg3dDN2QVRJRmkxSVJ2aGRMdUN3SmcwM0Focy1hTkNuVHlfRWZ5MXY0aHZiTFJUeWZjaGFHejBtSFhRekoyNA?oc=5", "https://news.google.com/rss/articles/CBMiZ0FVX3lxTFBJQ1pKeHNvaGVpcTlTVnRnejJfZE81YW5EUnltV1Y2TktiQ1Nta3dHMmVkQkNaVnV4b2ZRVFhIV3c5U1R4RWNENXBzbzZxbjhKdVowWHV5QWNjdFRndk9zaGhncFVsRTQ?oc=5",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE9hNWp2ZmZyakp2aTNDSjhBaExwYkFHWEJjT0lkc1VXUkFONE1QRVM4SlZQYVZDRVRKZGFjbl9DcWdEQXphVG9OWnNMZkN1alJZ0gFWQVVfeXFMT2ZyaGFsaDJpWmszR2JFV2M4d1haSDdMNmUzLUVFNjQ2dEs3bWdPMzFLbGxJYUVYME5YNExNZGZ4LUtYZXZpTS1pZTlUWE9IaGtmd2tydUE?oc=5", "https://news.google.com/rss/articles/CBMiU0FVX3lxTE1LSzVpMTZjLTJrMzVBNDd5UHlGLU0wMU1RYW56SU13cXdtc0RELUNUM2pHb3FScWN4VGhlZ3NmeDI1Szl4Y3RYalU3Y1l5WUJwRFk40gFYQVVfeXFMT1BzM2ZDeHltMnNvUzFvdk5INzJwRTI1X2pReVhSa2w2dHVDZUhuVm13Q2FKOGFjQllpT1Y2dFF0VEJJSzl2eXlBV1E5WVBpUVFCa3MzYk51Rg?oc=5",
"https://news.google.com/rss/articles/CBMizgJBVV95cUxON01vMW5UMU5qTzFwSDZfRFFUSTRpcGlTN1hBbENCRGYwR2x1cXdhSGdPZkJXVUh6ajJiQkpweG92eGhCbFNWSXB4UThULXRkMnZ0Rk9tTUZtN3FOQXM3SHc1WFZYLUxqX2Vac0REbUJDMjhZRno3LWlQQlBlUXRtZU01VDNXVmIwTkpqcjg2S0ZyMXAxQl9FbHpRbXRzV3I2eTBZWnMzTlVVZWhRMVZ6enlDSTJUM2JScExKc2lhbHFaRFAtTUZ6UmVjeGZTWWlxdW9rVG0yWldYdDBEa29xTFY1MUNjSVZxNlNCdUprVTNrdjc0NW5iX3BvamtZMm5mODVXWjZHdlhPRzliUW5tTTJRTmhzdWFZcEJZbjlENm9IaHBqdG1OemNucUhEOWlyRjAxeE1wcF9qODNjTl9CNEttVEduT3lleGJlUEVB?oc=5", "https://news.google.com/rss/articles/CBMiXkFVX3lxTE03elBISEhWSzBQcFNhcUZCMlItUVg5T0JOU0hhZlNTUkZBOUo3SjdWOWEwUnlobngzc0VYMXp6UnJRdC0zazZjOVQwMHE0ck9mazFsTW9pQ0RsaFA4OUHSAWhBVV95cUxPdnlKUEEydWliQ3pXbDVQcUtMNTU2dHlXYUcyaWRkTVVjbnYybVV5Q1BCTzRDRjgwektQUVhZU0lFWEw0U1Z5RENsTUljRHVnanFLbUtNM0VaeEs2U1dYdTROR3pPWjlPMw?oc=5",
"https://news.google.com/rss/articles/CBMiakFVX3lxTE92ajZnU0U0aXZUNzM0N0xJSHhNbHUyRGZnS0JiOGZGVDM0LUl5c1ZzWXAxSlY5amEwbkxHeEktcUdzbkF2SVNhZW9XRWNKR1NEcXpFbnNEVkNZQnpMa2ktRW4taklVdTVFSVHSAW9BVV95cUxQRWhVZS1HSC1hYVFDV284TUhyOEVRV05DdkJ3R0RJZFFsM1BrVExwSWVmdHN2MXV3c1FLNzV4ZmdRVm0waGtWN0lRaGsxdjJwQm9adWpsZzdiTmpRVGljb2JwSEZqSHBXTjAtMndhRXc?oc=5", "https://news.google.com/rss/articles/CBMiVkFVX3lxTE12cTFwWVBCbmRQUFJwNFFnaTkzOEV0dDRDVXlYclQ0TUJFRnF6N0gzYkNacEFDTHVRTUM5U0NJYmk3d3JlZlQ4dGs0czVCWFc5WXkyajJn?oc=5",
"https://www.momoshop.com.tw/", "https://news.google.com/rss/articles/CBMiX0FVX3lxTE00RHhRdGxaWEdtYzBNWHA1XzN6TUthYUNOSTZhY1R5Q2dnZ3l2V3ZaQWpGU0VkbGlvTEh3TkVyMWtUMV9HbkJ1dmE1N3pUYU9GRW5JR01CQXlTMjQxTlJr?oc=5",
"https://news.google.com/rss/articles/CBMiTkFVX3lxTE1ZajdHRTdJbWtUZTdlWG8wd1doeWxpcXgxTkJkc1JlMnd5ZTN3bXUyYnRhRzdCVnNyaUpfQ1NsaEhUQjBiMTRIN01kTHRSZ9IBakFVX3lxTFBjcnVfQUFYQmlOV1lKTjdiZGRxNkpMVHdhRkVaRmdSa25zS2NmamdjY0U4dkJhRVF6QXJjTFhocEJrQW4ycjVEQ0xGRHJOT1ZpRzZBTEhBQ29ZWmxEM3VVMWdNSWl4dnQyUGc?oc=5", "https://news.google.com/rss/articles/CBMiUEFVX3lxTE5kVWhLRWNRc1FmNnRWV1ZDTE1vYmpTTVpBUm9TSmxESkJNc2dwSXJITjVjb25MSG9VanlTNXFvTEF6TVdZNWZmVmZZcXNSQVJo0gFWQVVfeXFMTXBYcmtzRDZWZjNlSkx1Tl8xWUhPUmR5Ul83Y2lhZ0RBZTFyNUdTdE1rV3c4R1ZMNWRXTFBsVnpQa0xYVGN3QWlSanpkWWZOR2gyZUdyU1E?oc=5",
"https://news.google.com/rss/articles/CBMid0FVX3lxTE5Ld2VqOTNyWDNRODJ3VDdXSi1VRXVKdUk0ZTV2NzJsRy1BYlpfSW92bXdBbXNXVDVCeEw1bGJFYzlpOFdWVmpPX0plc3dtQk9HRWhyTWh2Q0d0bXNkZUpoR2hHTnlmWUtmVXV6UUtFbGtaQ2ZqbnJn?oc=5", "https://news.google.com/rss/articles/CBMiUEFVX3lxTE9lV3pNRVdjZTZwanFaTzFkTkYxWGNiVWw3eFk5MllYWFZKWmIySWlqMEN3VzZFUEJCU1A2Ql9vaE1udHkyR1ZkVHFaN19YdzNM0gFWQVVfeXFMTnlUZll0TWdQUEpBa1k4X1hlb3FSd2hmdmN5V0FBSGctb2lDY3NCb0ktanlKQkZ4RmZvR20zbmFwTlhwQXluc1ktazJDT2thTmh4a0pOdWc?oc=5",
"https://news.google.com/rss/articles/CBMiXkFVX3lxTFBNNVJNZmhEZ2drWjNGbHdQcE14NE5xVTRvYnBtSXhWYzBMLUpndm96TFRqZ2hoMVAwbFJmVDFDcEZOVWhHbkRRdzhzRjhlSloydm9WMWt4eVozazQ5U3fSAWhBVV95cUxQTWtHU2hiTXhkakQzQzY5OGVXeW1ybUttekowQkxmWFJ6ZlFiem51endENVQ5czh2VWhTRzJjRVdiSTk0dlR4YThsV3o4b2ZTY1FVRzFtVzNkMnFPemdXT0VIeTh2cktleA?oc=5",
"https://www.dcard.tw/",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTFBsOU8wek5nbmR6M1FfOVVaWjRjeW1tdWFNQmhvVURwRHNQeU5NRFF2d1pSZk5DSU1hcS1La1lBRnZwVXItVVNtUGpVQUk5TkZt0gFWQVVfeXFMUFRGV19kejJrbUJfaFdwd0R4bFJCWlNKcWFCclNkbkxVZEYxWE00cUtjSzBwSGllbTNiYXBzZ09qcVJXWDBYQldJd1FIM0N1VHkxbmNmMFE?oc=5",
"https://www.gov.tw/",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTFBKNEtuNWpGY0ZzYXVPTXotd0ttdkJDLWpEdEY0ay11eTVsemZFVDFudW4wWVJKMnprSkxzMmMyRUlUd2dFQTdTVFkzNThWQTlC0gFWQVVfeXFMTzd5RGFPWVNIQWwyNE91aFR4MW43emJOZGVlOVMwRElRc3BjTWJOM0ZnTURRcnJYTlZDRy1lVTJHV3NoT0RqVmRFS1hUQ1otUGZpX3V0MXc?oc=5",
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52bjY3dUJOc3ZUemtDbTZLWHVPZ0dSSnMwdlROdm03bTZEdVdUX0M0VVVKQlNUX1JJbEVFQnNBZ0dFcGpTSWhXTmxQb2ctbVBkSjhSQWNGTFpUd9IBX0FVX3lxTE44aTlDZlI3MDVBekZUQ1hVYzFENkdLWWhOWGhMNWdOSS0yYXRRajNTYnd3bDZWOVVTaWNFMi13Q3R0Q19GNXlrbXBDRC1KOUFLWTB4czFUdWFtV2lzeDFJ?oc=5",
"https://www.thsrc.com.tw/",
"https://www.pchome.com.tw/", "https://www.pchome.com.tw/",
"https://news.google.com/rss/articles/CBMiXkFVX3lxTE0tU3pheTNFXzc4UFgxTW15cWtuNkIwbklGYlZvaGFINng3TElhWkZzTXd2ZXdUdFhaVEJpX25xdXd1cVd4Y2RmOVJaOUNkYWN6azhJdDlhV1gtZjNjN3fSAWhBVV95cUxPcEdPU0lEOXpfLVB4TnhqeEVCbVVMYkhZekEwT0xCM3NxWFBldWRKMjNBUHJIb1dtN0dBbFNqamVhTUJiSUFOVXVkSE14YnFVTXU2THU0X0pxWWx6a0RRMFRhbEVrd1BTaw?oc=5", "https://news.google.com/rss/articles/CBMiZEFVX3lxTFBoTzZJOVh3T2VNa3JuNWNWZGk4YzdTQ19UUm5qREVIYklTYVQzQnV0OHB3b2xpWmVpRTRiZXdIZG9qckM0bTZ2aGhMcGZGVVdUcWQ5LWxvSTVDc290bU5vZk14OUXSAWpBVV95cUxNTk9FNDlsb0RUSkVzTkszRnhWbjVGNG92ajdLRm9BQlF1a3VFY3FSWG4zQ0dUSVJCZzcyS2lyYS1lbWdTNzZwUDNiZHdHTzdIZEpCWGwzRTFRTkNKRi1neVNaSnJ0UTV3VThB?oc=5",
"https://news.google.com/rss/articles/CBMiWEFVX3lxTE5kckQzc0RLeFRYYmFFQng2NVUxMngxWFNLTG9xbVVVNzFiRXZTY1d5bVc2OTRsZ0E5TUs4UU11bWlOMUNId3oxUW56YVB1c0xkMXd5TFNVNk0?oc=5", "https://www.ntu.edu.tw/",
"https://news.google.com/rss/articles/CBMiYEFVX3lxTE5Sek5kdGJtM1FMQVVsbWJaNXdNZDBjMUF4UDhKN3ZkZC11Z0p2cUItT1V5VE5sZExBdFVZYzhESkRwcllaT2NYUVhLaUxfWXV2amhfTzE5Umx4NWhsUGFiVdIBZkFVX3lxTE43UjZMZEpKeGFYUXBURVVHU0diNEpXWkZnQ1BqOUdCTDN3cGt2VjlJS1VqRFRzcnlKU1ZMbWZsdnhzbmJiUE1yTEJHWUdKVjcwMG9mR2x5a3Nidm9CU3FqQVd3TW1tdw?oc=5", "https://www.gov.tw/",
"https://www.momoshop.com.tw/",
"https://www.thsrc.com.tw/",
"https://news.google.com/rss/articles/CBMi2AJBVV95cUxObjlHcnQwZ3JzWnpLVEEtVjliSTBrTjljZU1oZkNET2Zoc0Q3cFlZN1BxMGVpQUwwSWgtSFF5eDRDWHVuRHVmVjMtUWloZlpiVm1nMjJnbjJpUU55ZU04dC1wZFlmeC04eXVWaHpJU3RtdTRjVkhhaDFPMldDZjl2NDlUR1VLX2dudXpOdTNKVHpkSmpZcGNXdVg0cHFrUlc3b05jUWZVR2h1QWVQOHhrb3FpTFVLNndVU1ZuRDhZTlBCeUxPcWktM3EtQ25vSWt2S1BublZsT05WNTFTS0lrUzdvZUhGREprcW4zXzdoRDlHTzg1cnFVelZ2ZWtOaFZuSEI4dlM2a21ocjhJU3Zwd3FKdTlhZVc3dTh5LUdqNDE1NzhPSjM1SFp1dEZQSzBYRnFuOEZqekJ3QWJCN3JTTENVY25IR1RkbjVTUkw1NjkxNkNfZjkwdg?oc=5",
"https://news.google.com/rss/articles/CBMiTkFVX3lxTFBKNXFmNWZJbFRBMFpDSEl4b0ZGLWE1bmZ0ZG5qZ0FaZzlDeDY1QTZZRGV0ejd3cUtiUEUxUW1TTTk0eTFRVWJtX2dwQlRuZ9IBakFVX3lxTE1vd1NtY0FRSy16ZVVxdkllb0VzcE9UWVNFQ0VXSnRFcmFfUlk1SmlZUWlLblhwRmdpc3BncVRBTHVoSXRTOWJXZEZYcVVLZWZhMDBMV0dNQjR0TUlVRHpfXzVCb25EblI3aFE?oc=5",
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE9HQnlhb0h4OEhTMmpxV1VtMXcyMmk5ZVVWZXZwYXh0dGRKWUR6dXMyU3RCcmJEcVFOUzNwMnlIa25jaUJ4Slp1SjQ1UXB1Y3FHWVR6dlRYeWdxUW9zMjJJ0gFkQVVfeXFMTVROck1hbVFzSjIwWndLcXBuYmZ5UXZ6M09UT2IxcUhHdUdUMWhWbWJpcTFjREZXd1dxcGRuTEJ1QkxES0pNYzJXZ01vQWNnSzB5RXVWZnpPS3lnLTJUS0sydG9iaw?oc=5",
"https://news.google.com/rss/articles/CBMiS0FVX3lxTE9uWm1hTDZTTm9tYkg4WjFudTlxVURTOEFMQ2FxMXZUT2R3ZmFWZVpmTGpyRVRYNndYbnZSMUs1VzQyTUhmQVlYd3BIdw?oc=5",
"https://www.cathaybk.com.tw/", "https://www.cathaybk.com.tw/",
"https://www.dcard.tw/",
"https://news.google.com/rss/articles/CBMi6gNBVV95cUxPMThyWDl6MWlueF8yUnFYWkF0d0xPYlMyNC1rakFHUE9yUFhOcnc1YUtXUXFxdlNYRU1odzEwc0tQZmFtUEhxbVhHZWRKMHBBXy04WFk5OFJXZUw5dFpVU2tiVWZNeVc3QnpHMWlJaTFKQkNqOWZMV3V0eTVGRHZKV0ZLZl9DekE3cjdvTU1vQVdPN3RGdlJBS0Z4c3Yyb3EyU3dXSVRhWTd0cmFmeEgyUjViOTVrSEhSX29DcHhER1FFbTV0OWM1ZDczR1B5Slp1RzlLS2xqZ3EzQ3E5cUZRemxOTWJkRFR6S1U5STBRbHZNSlU4NHZicDFIbWc2Q2V2RlhzNjkxN19WWFJLcklISDRDcjd2TU94aWV1Z3JLZzcwT2h1THlGNzgwdnEyQkt0X29KMURSZ0VzaUNlSEJvZURtSGRQSmJvei1XUmRSVlRPa3R2RFAzWmZBYXNTdndIYktPbDh4ZVdwUHZfam9scFBKTF94ZkJPaHBSdENkYXQ2RTEteGtvYjN3blZOamE3VDhRZUlqRkVvY0wzV24yems1Nk1DazhFQnlUOEx1UVFCeGViTTM0M3RqU3NONDRQY05MSUxvaE9VSUFyekdBek9rTS0tUDN0WDFJQmxsOTBqWlZVZ2tXUVhB?oc=5",
"https://news.google.com/rss/articles/CBMiW0FVX3lxTE9UVEhMMGpES0xXYTdMdFJ1RV82UTRwemVQV0lSUG5oN1hVZTVZZEZWbm9hY3JscjRRS29lT1NrUzBPYzFwdkIzQ0Uzd2dYQmd4WE4wZ0VOTUdETEk?oc=5",
"https://tw.yahoo.com/", "https://tw.yahoo.com/",
"https://news.google.com/rss/articles/CBMiXkFVX3lxTE9ON2g3NmdETWhCdzh3MGk1TGpKMFp1SXo0M25sdUJXVHBSWXpRNU9lQVdpa0E1QzJMWmpyYUtDTlZrV245QkJydTY3eXVYT2pBbGtoOVFQNFB4ZmZOc1HSAWhBVV95cUxNSm9EQ3BnNlFDWmxzNHdqOHI2M25OTTl0SkxKYk8wS3kxYnAzZkNHU2RKUG1nR2Y4bmU4dVNRWG9ldW1QOG9OaGFmNnRDYXZlU1dWTDlzc3B3cGQySjF3NHlVZGRkNlJCZw?oc=5", "https://news.google.com/rss/articles/CBMigAJBVV95cUxQRWo0XzR4MkRyemV4NFhjcGJIRm5EamRPeklqeXR0NFJBQ09CWHVKLWtzRFJ2X3l0VFFwTjlxTFloSHVBRTMxS0ViM29fbHl2dXljaHRfdlBwVHlBQ29EcEZ6TkthOG9GclJjblY0YnJmWTh6TzZSUnNrclJPbXpuNy0yczAzbjJaeHhJMVM3ZEdReWN3TURzb2VtSklDZDg2QUhhSVE0VnZGd1RuclRWOW9LZUR0aXpNdjJ1clBGQnhlZ1psOU44eVprVXB6bTBFYjdncHEwQXpfbHd6dFlVZmNVYlp0S0hSbFN2aGFYQ0FCMFdVYTBRWFlibzlNUmJu?oc=5",
"https://www.post.gov.tw/", "https://www.post.gov.tw/"
"https://news.google.com/rss/articles/CBMitgNBVV95cUxPRVhYb0pMSVRsdV9CZk5EdFlCSWdxTFRxMkRSQlZCWllXQ1dXREtHdFY1SzdHUjNncURwcTJfaWpObHBFRUdGX29UTzhwOEdJdUY0RHowZ1c0LXFOYmJzYjlnaDRYRklqR1VUWHA5WGZ4RWFRRWo2OGxWMHRvcGZZZlRPeE1Rc1d1U3ptRFlZNWdBNVZzbU93T1dtUVc3VmVhNFl3VjNIS0I3bFI1UGRzYXZZMGRSM3huUDVuRnpCSE9VTDhmSUdVSU9HZXBsYTB5bDFWOElvWnVndHJRZ0FLSG9NSHVBS01RNGl0bVo1S1dDX3JWa0pjSl9kazZyQVVSU2U3TlRZRDZ4MmJTLUI3V1g1ZjRfZzlTNXZ0ZW16Q3lWZElOcHNGTGRzN2pWZHlWbEloT3FSQjhVSWQ3SE9Qd3RaSFQxYkRoSXBCLUZQendpUHpUTkJuMVpmTVF1SG1XTVZHb1dObWdEM0Z6QUg1aklVZjhtUUVnRDVpNnA1aEtOU2ZRU0thUVRzVE1aM2FTWUlnUEVScS1aWVJtck1JYlByNFVsV0l0Q2pTVksxYnBZUjFQYnc?oc=5",
"https://www.ntu.edu.tw/"
], ],
"static_urls": [ "static_urls": [
"https://www.gov.tw/", "https://www.gov.tw/",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.bbc.co.uk/sounds/play/p0nfg1gs?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/c62r8lzgnk2o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.co.uk/iplayer/episode/b01p6y1c/puss-in-boots?at_mid=ovYA47yS9y&at_campaign=Film_Puss_in_Boots&at_medium=display_ad&at_campaign_type=owned&at_nation=NET&at_audience_id=SS&at_product=iplayer&at_brand=b01p6y1c&at_ptr_name=bbc&at_ptr_type=media&at_format=image&at_objective=consumption&at_link_title=Film_Puss_in_Boots&at_bbc_team=BBC&at_creation=Film", "https://www.bbc.co.uk/news/10628994?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cpvx9yjk9ggo?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/c4g0zwxl3k0o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cdxd1ew5kk7o?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/cj4pxyklw1jo?at_medium=RSS&at_campaign=rss",
"https://www.amazon.co.uk/", "https://www.bbc.com/sport/football/articles/c202rgdlqxqo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/ce9me55xe0xo?at_medium=RSS&at_campaign=rss", "https://www.postoffice.co.uk/",
"https://www.nationalrail.co.uk/", "https://www.bbc.com/sport/golf/articles/c78q5v8y939o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c8jvl3x19v9o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/ce8p020r1y8o?at_medium=RSS&at_campaign=rss",
"https://www.nhs.uk/", "https://www.nhs.uk/",
"https://www.bbc.com/news/articles/ckg0vpeqk78o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/clyx7nnrkqdo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cm2934ep3zro?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cq59xvdzjv7o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cvg32z7jv7yo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cly032z5e71o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c3dlgz3mm39o?at_medium=RSS&at_campaign=rss",
"https://www.ox.ac.uk/", "https://www.ox.ac.uk/",
"https://www.bbc.com/news/articles/cp3p5l0nyevo?at_medium=RSS&at_campaign=rss",
"https://www.barclays.co.uk/", "https://www.barclays.co.uk/",
"https://www.bbc.com/news/articles/cze25j9p1k7o?at_medium=RSS&at_campaign=rss",
"https://www.gov.uk/", "https://www.gov.uk/",
"https://www.ebay.co.uk/", "https://www.ebay.co.uk/",
"https://www.bbc.com/news/articles/czjwr93vrrzo?at_medium=RSS&at_campaign=rss", "https://www.nationalrail.co.uk/",
"https://www.postoffice.co.uk/", "https://www.bbc.com/news/articles/c87qglyjr44o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c2482ql0zp4o?at_medium=RSS&at_campaign=rss", "https://www.bbc.co.uk/sounds/play/p0ngrsbh?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c0rxk4q0pj0o?at_medium=RSS&at_campaign=rss" "https://www.bbc.com/news/articles/ce8j8xxzzjko?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c78kl05en7po?at_medium=RSS&at_campaign=rss",
"https://www.amazon.co.uk/",
"https://www.bbc.com/news/articles/c5yx8lj4652o?at_medium=RSS&at_campaign=rss"
], ],
"static_urls": [ "static_urls": [
"https://www.gov.uk/", "https://www.gov.uk/",

View File

@@ -8,29 +8,29 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.barclays.co.uk/", "https://www.bbc.com/news/articles/ce8j8xxzzjko?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cly032z5e71o?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/sport/football/articles/c202rgdlqxqo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/czjwr93vrrzo?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/cj4pxyklw1jo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cvg32z7jv7yo?at_medium=RSS&at_campaign=rss", "https://www.bbc.co.uk/sounds/play/p0ngrsbh?at_medium=RSS&at_campaign=rss",
"https://www.bbc.co.uk/iplayer/episode/b01p6y1c/puss-in-boots?at_mid=ovYA47yS9y&at_campaign=Film_Puss_in_Boots&at_medium=display_ad&at_campaign_type=owned&at_nation=NET&at_audience_id=SS&at_product=iplayer&at_brand=b01p6y1c&at_ptr_name=bbc&at_ptr_type=media&at_format=image&at_objective=consumption&at_link_title=Film_Puss_in_Boots&at_bbc_team=BBC&at_creation=Film",
"https://www.nhs.uk/", "https://www.nhs.uk/",
"https://www.bbc.com/news/articles/cdxd1ew5kk7o?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/ce8p020r1y8o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cq59xvdzjv7o?at_medium=RSS&at_campaign=rss", "https://www.bbc.com/news/articles/c4g0zwxl3k0o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c0rxk4q0pj0o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c3dlgz3mm39o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/ce9me55xe0xo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cpvx9yjk9ggo?at_medium=RSS&at_campaign=rss",
"https://www.gov.uk/",
"https://www.nationalrail.co.uk/", "https://www.nationalrail.co.uk/",
"https://www.ebay.co.uk/", "https://www.bbc.com/news/articles/c5yx8lj4652o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/ckg0vpeqk78o?at_medium=RSS&at_campaign=rss", "https://www.amazon.co.uk/",
"https://www.bbc.com/news/articles/cm2934ep3zro?at_medium=RSS&at_campaign=rss",
"https://www.ox.ac.uk/",
"https://www.bbc.co.uk/sounds/play/p0nfg1gs?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/clyx7nnrkqdo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c2482ql0zp4o?at_medium=RSS&at_campaign=rss",
"https://www.postoffice.co.uk/", "https://www.postoffice.co.uk/",
"https://www.amazon.co.uk/" "https://www.bbc.com/news/articles/c78kl05en7po?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c87qglyjr44o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.co.uk/news/10628994?at_medium=RSS&at_campaign=rss",
"https://www.gov.uk/",
"https://www.barclays.co.uk/",
"https://www.bbc.com/news/articles/c8jvl3x19v9o?at_medium=RSS&at_campaign=rss",
"https://www.ebay.co.uk/",
"https://www.bbc.com/news/articles/c62r8lzgnk2o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/golf/articles/c78q5v8y939o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cze25j9p1k7o?at_medium=RSS&at_campaign=rss",
"https://www.ox.ac.uk/",
"https://www.bbc.com/news/articles/cp3p5l0nyevo?at_medium=RSS&at_campaign=rss"
], ],
"static_urls": [ "static_urls": [
"https://www.gov.uk/", "https://www.gov.uk/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html", "https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cdc.gov/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.usa.gov/", "https://www.usa.gov/",
"https://www.amazon.com/", "https://www.amazon.com/",
"https://www.target.com/", "https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.usps.com/",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.bankofamerica.com/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.irs.gov/",
"https://www.harvard.edu/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.walmart.com/",
"https://www.chase.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html", "https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn", "https://www.target.com/",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html", "https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cdc.gov/",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.bankofamerica.com/",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.usps.com/",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.irs.gov/",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn", "https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html" "https://www.chase.com/",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.harvard.edu/",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.walmart.com/"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.target.com/", "https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html", "https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.usps.com/",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.amazon.com/",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.irs.gov/", "https://www.irs.gov/",
"https://www.walmart.com/", "https://www.usps.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.cdc.gov/",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html", "https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.usa.gov/", "https://www.usa.gov/",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html", "https://www.walmart.com/",
"https://www.chase.com/",
"https://www.bankofamerica.com/", "https://www.bankofamerica.com/",
"https://www.chase.com/",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.amazon.com/",
"https://www.target.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.harvard.edu/", "https://www.harvard.edu/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn", "https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html", "https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer"
"https://www.cdc.gov/"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html", "https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.chase.com/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.amazon.com/",
"https://www.walmart.com/",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.bankofamerica.com/", "https://www.bankofamerica.com/",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn", "https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer", "https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.target.com/",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.usps.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.irs.gov/",
"https://www.usa.gov/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.harvard.edu/", "https://www.harvard.edu/",
"https://www.cdc.gov/" "https://www.target.com/",
"https://www.chase.com/",
"https://www.irs.gov/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.amazon.com/",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cdc.gov/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.usa.gov/",
"https://www.walmart.com/",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.usps.com/",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.usa.gov/",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.walmart.com/", "https://www.walmart.com/",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.irs.gov/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn", "https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status", "https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html", "https://www.harvard.edu/",
"https://www.bankofamerica.com/",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.usps.com/", "https://www.usps.com/",
"https://www.cdc.gov/", "https://www.cdc.gov/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.harvard.edu/",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.usa.gov/",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.amazon.com/",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.chase.com/",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.irs.gov/",
"https://www.target.com/", "https://www.target.com/",
"https://www.bankofamerica.com/" "https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.chase.com/",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.amazon.com/",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html", "https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.harvard.edu/",
"https://www.chase.com/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer", "https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.walmart.com/",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.bankofamerica.com/",
"https://www.usps.com/", "https://www.usps.com/",
"https://www.target.com/",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cdc.gov/",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn", "https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.usa.gov/", "https://www.usa.gov/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html", "https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.target.com/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.harvard.edu/",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.chase.com/",
"https://www.cdc.gov/",
"https://www.amazon.com/",
"https://www.irs.gov/", "https://www.irs.gov/",
"https://www.bankofamerica.com/", "https://www.amazon.com/"
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.walmart.com/",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.amazon.com/", "https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cdc.gov/", "https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html", "https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.chase.com/", "https://www.chase.com/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.walmart.com/",
"https://www.harvard.edu/",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.target.com/",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.bankofamerica.com/", "https://www.bankofamerica.com/",
"https://www.usa.gov/",
"https://www.usps.com/", "https://www.usps.com/",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html", "https://www.target.com/",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html", "https://www.cdc.gov/",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html", "https://www.amazon.com/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn", "https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html", "https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.irs.gov/", "https://www.irs.gov/",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html" "https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.walmart.com/",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.harvard.edu/",
"https://www.usa.gov/"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.walmart.com/",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html",
"https://www.bankofamerica.com/",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.cnn.com/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.foxnews.com/",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn",
"https://www.nytimes.com/",
"https://www.target.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.chase.com/", "https://www.chase.com/",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.dallasnews.com/", "https://www.dallasnews.com/",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html", "https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.target.com/",
"https://www.amazon.com/", "https://www.amazon.com/",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status", "https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.nytimes.com/",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.walmart.com/",
"https://www.texas.gov/", "https://www.texas.gov/",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.bankofamerica.com/",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn", "https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html", "https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html" "https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.foxnews.com/"
], ],
"static_urls": [ "static_urls": [
"https://www.texas.gov/", "https://www.texas.gov/",

View File

@@ -0,0 +1,40 @@
{
"region_name": "USA - Houston",
"google_module": {
"base_lat": 29.7604,
"base_lon": -95.3698,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.nasa.gov/",
"https://www.rice.edu/",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.mdanderson.org/",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.houstonchronicle.com/",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.houstontx.gov/"
],
"static_urls": [
"https://www.houstontx.gov/",
"https://www.houstonchronicle.com/",
"https://www.rice.edu/",
"https://www.mdanderson.org/",
"https://www.nasa.gov/"
]
}
}

View File

@@ -8,31 +8,31 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.chase.com/", "https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.amazon.com/",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.cdc.gov/",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.harvard.edu/",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.irs.gov/",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.walmart.com/",
"https://www.usps.com/", "https://www.usps.com/",
"https://www.bankofamerica.com/",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.usa.gov/", "https://www.usa.gov/",
"https://www.cdc.gov/",
"https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.chase.com/",
"https://www.bankofamerica.com/",
"https://www.irs.gov/",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.amazon.com/",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.harvard.edu/",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.target.com/", "https://www.target.com/",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn" "https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.walmart.com/"
], ],
"static_urls": [ "static_urls": [
"https://www.usa.gov/", "https://www.usa.gov/",

View File

@@ -8,30 +8,30 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html", "https://www.npr.org/2026/04/28/nx-s1-5802343/reflecting-pool-resurfacing-blue-trump",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.walmart.com/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.amazon.com/", "https://www.amazon.com/",
"https://www.bankofamerica.com/", "https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
"https://www.cnn.com/2023/04/18/us/mccurtain-county-oklahoma-officials-recording/index.html",
"https://www.cnn.com/videos/travel/2023/03/17/pilot-lands-on-dubai-helipad-cprog-orig-aw-ao.cnn",
"https://www.usa.gov/",
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
"https://www.harvard.edu/",
"https://www.cdc.gov/",
"https://www.target.com/",
"https://www.cnn.com/videos/business/2023/04/18/desantis-disney-competition-panel-reax-pt-vpx.cnn",
"https://www.cnn.com/2023/04/18/opinions/medication-abortion-mifepristone-miscarriage-jones-ctpr/index.html",
"https://www.usps.com/", "https://www.usps.com/",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html", "https://www.bankofamerica.com/",
"https://www.npr.org/2026/04/25/nx-s1-5798943/justice-department-makes-it-easier-to-deport-those-with-daca-status", "https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html", "https://www.cnn.com/style/article/marilyn-minter-artist-elder-sex/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn", "https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cdc.gov/",
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
"https://www.cnn.com/videos/tech/2023/04/18/apple-store-mumbai-india-ceo-tim-cook-vedika-sud-ovn-biz-ldn-vpx.cnn",
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer", "https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
"https://www.npr.org/2026/04/28/nx-s1-5802968/education-secretary-linda-mcmahon-senate-hearing",
"https://www.cnn.com/2023/04/18/entertainment/jake-gyllenhaal-jamie-lee-curtis-pandemic-living/index.html",
"https://www.target.com/",
"https://www.cnn.com/videos/us/2023/04/18/pizza-guy-trips-perp-moos-cprog-orig-bdk.cnn",
"https://www.irs.gov/", "https://www.irs.gov/",
"https://www.cnn.com/2023/04/18/sport/damar-hamlin-cleared-to-train-nfl-spt-intl/index.html", "https://www.npr.org/2026/04/28/nx-s1-5802997/fcc-abc-license-renewal-melania-trump-jimmy-kimmel",
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
"https://www.walmart.com/",
"https://www.usa.gov/",
"https://www.harvard.edu/",
"https://www.cnn.com/2023/04/18/tech/lina-khan-ai-warning/index.html",
"https://www.cnn.com/cnn-underscored/deals/wayfair-way-day-2023-04-17?iid=CNNUnderscoredHPcontainer",
"https://www.chase.com/" "https://www.chase.com/"
], ],
"static_urls": [ "static_urls": [

View File

@@ -8,28 +8,28 @@
}, },
"trust_module": { "trust_module": {
"white_urls": [ "white_urls": [
"https://vnexpress.net/khoan-vay-106-ty-usd-cua-eu-thap-hy-vong-cho-ukraine-5066467.html", "https://vnexpress.net/csgt-tai-xe-khong-co-loi-khi-huc-vang-nguoi-di-xe-may-5068180.html",
"https://vnexpress.net/lan-dau-trinh-dien-flyboard-tren-bai-bien-cong-cong-da-nang-5067128.html", "https://vnexpress.net/thu-tuong-yeu-cau-khong-de-thieu-dien-tang-mua-tu-lao-va-trung-quoc-5068211.html",
"https://vnexpress.net/benh-sot-dat-co-vaccine-phong-ngua-chua-5067093.html",
"https://chinhphu.vn/",
"https://vnexpress.net/chung-cu-han-quoc-bien-ban-cong-thanh-san-nha-cho-tung-can-ho-5067098.html",
"https://vnexpress.net/gu-thoi-trang-cua-my-nhan-dep-nhat-the-gioi-5067053.html",
"https://vnexpress.net/bai-chay-lan-dau-tien-co-pho-dem-phuc-vu-khach-du-lich-5067197.html",
"https://shopee.vn/", "https://shopee.vn/",
"https://vnexpress.net/det-may-do-go-giam-ty-usd-khi-xuat-khau-sang-my-5067013.html", "https://vnexpress.net/gia-mot-oto-o-my-mua-duoc-4-xe-dien-trung-quoc-5068089.html",
"https://vnexpress.net/phao-hoa-thap-sang-bau-troi-viet-tri-truoc-ngay-gio-to-5067192.html",
"https://vnexpress.net/thach-nhu-trong-hang-dong-vua-phat-hien-o-phong-nha-ke-bang-5066888.html",
"https://vnexpress.net/niem-tin-nguoi-tieu-dung-my-thap-ky-luc-5067163.html",
"https://vnexpress.net/my-dong-y-de-venezuela-tra-phi-luat-su-cho-ong-maduro-5067160.html",
"https://vnexpress.net/nhieu-nguoi-gia-han-quoc-khong-duoc-phep-chet-tai-nha-5064789.html",
"https://tiki.vn/", "https://tiki.vn/",
"https://www.vietcombank.com.vn/", "https://vnexpress.net/san-bay-thanh-son-duoc-de-xuat-phuc-vu-ca-dan-su-va-quoc-phong-5068098.html",
"https://dichvucong.gov.vn/", "https://vnexpress.net/psg-nhan-hai-diem-9-truoc-bayern-5068087.html",
"https://vnu.edu.vn/", "https://vnu.edu.vn/",
"https://vnexpress.net/ba-tuyen-duong-sat-toc-do-cao-ket-noi-voi-trung-quoc-5064455.html", "https://vnexpress.net/tuong-dau-xuong-khop-hoa-suy-gian-tinh-mach-5068267.html",
"https://vnexpress.net/ukraine-bien-may-bay-thoi-lien-xo-thanh-tau-san-bay-tren-khong-5067006.html", "https://chinhphu.vn/",
"https://vnexpress.net/hanh-trinh-bat-bai-cua-viet-nam-khi-vo-dich-u17-dong-nam-a-5067122.html", "https://vnexpress.net/tp-hcm-khoi-cong-trung-tam-hanh-chinh-30-000-ty-dong-va-cai-tao-ben-nha-rong-5068191.html",
"https://vnexpress.net/" "https://vnexpress.net/lpbank-thanh-lap-ngan-hang-con-tai-trung-tam-tai-chinh-vifc-5068261.html",
"https://dichvucong.gov.vn/",
"https://vnexpress.net/wuling-macaron-xe-dien-ti-hon-gia-tu-269-trieu-dong-5068141.html",
"https://vnexpress.net/do-vui-trac-nghiem-chinh-ta-tieng-viet-tu-nao-viet-dung-chinh-ta-sup-hay-xup-5068126.html",
"https://vnexpress.net/giai-phap-quang-cao-facebook-khau-tru-10-vat-tu-aka-media-5066627.html",
"https://vnexpress.net/the-kho-voi-tong-thong-mexico-trong-cuoc-chien-chong-ma-tuy-cua-my-5067950.html",
"https://vnexpress.net/",
"https://vnexpress.net/chao-em-nguoi-co-the-khien-ngay-binh-thuong-tro-nen-y-nghia-5068245.html",
"https://vnexpress.net/kinh-te-lien-vung-tao-trien-vong-cho-bat-dong-san-phan-thiet-5068189.html",
"https://www.vietcombank.com.vn/",
"https://vnexpress.net/dien-bien-kho-luong-sau-tuan-hai-vong-bang-giai-bong-ro-tre-vnexpress-5068182.html"
], ],
"static_urls": [ "static_urls": [
"https://chinhphu.vn/", "https://chinhphu.vn/",

View File

@@ -14,6 +14,10 @@ if [ "$EUID" -ne 0 ]; then
exit 1 exit 1
fi fi
# 🟢 [防劫持沙盒] 引入司令部专属随机安全工作区
SECURE_TMP=$(mktemp -d /tmp/ips_master_install.XXXXXX)
trap 'rm -rf "$SECURE_TMP"' EXIT HUP INT QUIT TERM
# 你的 GitHub 仓库 Raw 数据直链前缀 # 你的 GitHub 仓库 Raw 数据直链前缀
REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main" REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
# 临时改为开发地址用于测试 # 临时改为开发地址用于测试
@@ -68,9 +72,9 @@ else
if [ "$ACTION_CHOICE" == "2" ]; then if [ "$ACTION_CHOICE" == "2" ]; then
echo -e "\n⏳ 正在拉取卸载程序..." echo -e "\n⏳ 正在拉取卸载程序..."
curl -sL "${REPO_RAW_URL}/master/uninstall_master.sh" -o "/tmp/uninstall_master.sh" curl -sL "${REPO_RAW_URL}/master/uninstall_master.sh" -o "${SECURE_TMP}/uninstall_master.sh"
chmod +x "/tmp/uninstall_master.sh" chmod +x "${SECURE_TMP}/uninstall_master.sh"
bash "/tmp/uninstall_master.sh" bash "${SECURE_TMP}/uninstall_master.sh"
rm -f "/tmp/uninstall_master.sh" rm -f "/tmp/uninstall_master.sh"
exit 0 exit 0
fi fi
@@ -104,13 +108,8 @@ else
fi fi
fi fi
# ================== [v3.2.2 优化: 安装前环境纯净度清理与数据保护] ================== # ================== [v3.2.2 优化: 数据纯净度清理与保护] ==================
echo -e "\n⏳ 正在清理旧版 Master 守护进程..." echo -e "\n⏳ 正在验证本地环境与数据..."
# [新增] 优雅停止 Systemd 服务,防止代码替换时引发无限复活风暴
if command -v systemctl >/dev/null 2>&1; then
systemctl stop ip-sentinel-master.service >/dev/null 2>&1 || true
fi
pkill -9 -f "tg_master.sh" >/dev/null 2>&1 || true
if [ "$UPGRADE_MODE" == "true" ]; then if [ "$UPGRADE_MODE" == "true" ]; then
if [ "$KEEP_DB" == "false" ]; then if [ "$KEEP_DB" == "false" ]; then
@@ -119,13 +118,11 @@ if [ "$UPGRADE_MODE" == "true" ]; then
else else
echo -e "📦 历史节点数据库 (SQLite) 已绝密保留。" echo -e "📦 历史节点数据库 (SQLite) 已绝密保留。"
fi fi
# 删除旧的核心脚本,准备拉取新的 # [防砖修复] 移除过早的旧进程抹杀与脚本物理删除,防止拉取失败导致司令部变砖失联
rm -f "${MASTER_DIR}/tg_master.sh" 2>/dev/null
else else
# 焦土政策:如果不是升级模式,直接扬了整个司令部目录 # 焦土政策:如果不是升级模式,直接扬了整个司令部目录
rm -rf "$MASTER_DIR" 2>/dev/null rm -rf "$MASTER_DIR" 2>/dev/null
fi fi
echo -e "\033[32m✅ 旧进程已肃清!\033[0m"
# ======================================================================= # =======================================================================
# 1. 依赖检查与智能安装 (v3.6.0 兼容性与优雅性升级) # 1. 依赖检查与智能安装 (v3.6.0 兼容性与优雅性升级)
@@ -287,10 +284,31 @@ chmod 600 "${MASTER_DIR}/master.conf"
chmod 600 "$DB_FILE" chmod 600 "$DB_FILE"
# ==================================================================== # ====================================================================
# 4. 拉取核心调度代码并运行 # 4. 拉取核心调度代码并执行原子化交接
echo -e "\n[4/4] 部署 TG 调度守护进程..." echo -e "\n[4/4] 正在拉取新版司令部核心引擎..."
# [修改] 剥离了写死的网址,改用顶部的 ${REPO_RAW_URL} 变量,确保与卸载脚本的数据源同源
curl -sL "${REPO_RAW_URL}/master/tg_master.sh" -o "${MASTER_DIR}/tg_master.sh" TMP_MASTER="${SECURE_TMP}/tg_master.sh"
curl -sL "${REPO_RAW_URL}/master/tg_master.sh" -o "$TMP_MASTER"
# 🛡️ 防砖终极校验
if [ ! -s "$TMP_MASTER" ]; then
echo -e "\033[31m❌ 致命错误:中枢核心代码拉取失败!网络阻断或 GitHub Raw 异常。\033[0m"
echo "🛡️ 防砖机制触发:已中止覆盖,旧版司令部仍在安全运行中。"
rm -f "$TMP_MASTER"
exit 1
fi
# 🟢 [原子化交接核心]: 校验完美通过,新代码已备妥!
# 以雷霆手段抹杀旧版调度进程,杜绝文件覆写时的并发错乱
echo "⏳ 新引擎校验通过,正在抹杀旧版守护进程..."
if command -v systemctl >/dev/null 2>&1; then
systemctl kill --signal=SIGKILL ip-sentinel-master.service >/dev/null 2>&1 || true
systemctl stop ip-sentinel-master.service >/dev/null 2>&1 || true
fi
pkill -9 -f "tg_master.sh" >/dev/null 2>&1 || true
# 执行物理替换
mv "$TMP_MASTER" "${MASTER_DIR}/tg_master.sh"
chmod +x "${MASTER_DIR}/tg_master.sh" chmod +x "${MASTER_DIR}/tg_master.sh"
if command -v systemctl >/dev/null 2>&1; then if command -v systemctl >/dev/null 2>&1; then
@@ -321,16 +339,13 @@ EOF
systemctl enable --now ip-sentinel-master.service systemctl enable --now ip-sentinel-master.service
systemctl restart ip-sentinel-master.service systemctl restart ip-sentinel-master.service
# 清理可能残留的历史 Cron # 清理可能残留的历史 Cron (无落地内存流防劫持)
crontab -l 2>/dev/null | grep -v "tg_master.sh" > /tmp/cron_master || true crontab -l 2>/dev/null | grep -v "tg_master.sh" | crontab - >/dev/null 2>&1 || true
[ -f /tmp/cron_master ] && crontab /tmp/cron_master 2>/dev/null
rm -f /tmp/cron_master
else else
echo "💡 未检测到 Systemd回退到 Cron 看门狗调度模式..." echo "💡 未检测到 Systemd回退到 Cron 看门狗调度模式..."
crontab -l 2>/dev/null | grep -v "tg_master.sh" > /tmp/cron_master || true crontab -l 2>/dev/null | grep -v "tg_master.sh" > "${SECURE_TMP}/cron_master" || true
echo "* * * * * pgrep -f tg_master.sh >/dev/null || nohup bash ${MASTER_DIR}/tg_master.sh >/dev/null 2>&1 &" >> /tmp/cron_master echo "* * * * * pgrep -f tg_master.sh >/dev/null || nohup bash ${MASTER_DIR}/tg_master.sh >/dev/null 2>&1 &" >> "${SECURE_TMP}/cron_master"
[ -f /tmp/cron_master ] && crontab /tmp/cron_master 2>/dev/null [ -f "${SECURE_TMP}/cron_master" ] && crontab "${SECURE_TMP}/cron_master" 2>/dev/null
rm -f /tmp/cron_master
pgrep -f tg_master.sh >/dev/null || { nohup bash "${MASTER_DIR}/tg_master.sh" >/dev/null 2>&1 & disown 2>/dev/null; } pgrep -f tg_master.sh >/dev/null || { nohup bash "${MASTER_DIR}/tg_master.sh" >/dev/null 2>&1 & disown 2>/dev/null; }
fi fi

View File

@@ -130,21 +130,49 @@ while true; do
CHAT_ID=$(echo "$UPDATE" | jq -r '.message.chat.id // .callback_query.message.chat.id') CHAT_ID=$(echo "$UPDATE" | jq -r '.message.chat.id // .callback_query.message.chat.id')
TEXT=$(echo "$UPDATE" | jq -r '.message.text // .callback_query.data') TEXT=$(echo "$UPDATE" | jq -r '.message.text // .callback_query.data')
# ================== [基础消息解析提取提前] ==================
# [致命 Bug 修复] 必须在 svq 入库判断前提取这俩变量,否则入库后无法重绘 UI
CB_ID=$(echo "$UPDATE" | jq -r '.callback_query.id // empty')
MSG_ID=$(echo "$UPDATE" | jq -r '.callback_query.message.message_id // empty')
# ================== [v4.0.2 核心: 态势感知按钮一键入库] ================== # ================== [v4.0.2 核心: 态势感知按钮一键入库] ==================
if [[ "$TEXT" == "svq|"* ]]; then if [[ "$TEXT" == "svq|"* ]]; then
# 格式: svq|NODE_NAME|SCORE|GOOG|NF|GPT # 格式: svq|NODE_NAME|SCORE|GOOG|NF|GPT
IFS='|' read -r MAGIC NODE_ID SCORE GOOG_ST NF_ST GPT_ST <<< "$TEXT" IFS='|' read -r MAGIC RAW_NODE_ID RAW_SCORE RAW_GOOG_ST RAW_NF_ST RAW_GPT_ST <<< "$TEXT"
CHAT_ID=$(echo "$CHAT_ID" | tr -cd '0-9-') CHAT_ID=$(echo "$CHAT_ID" | tr -cd '0-9-')
# 🛡️ 终极防御:彻底清洗,封死一切 SQL 注入通道
NODE_ID=$(echo "$RAW_NODE_ID" | tr -cd 'a-zA-Z0-9_.-')
SCORE=$(echo "$RAW_SCORE" | tr -cd '0-9')
GOOG_ST=$(echo "$RAW_GOOG_ST" | tr -d '"'\''\`\$\|&;<>\n\r')
NF_ST=$(echo "$RAW_NF_ST" | tr -d '"'\''\`\$\|&;<>\n\r')
GPT_ST=$(echo "$RAW_GPT_ST" | tr -d '"'\''\`\$\|&;<>\n\r')
if [ -n "$NODE_ID" ] && [ -n "$SCORE" ]; then if [ -n "$NODE_ID" ] && [ -n "$SCORE" ]; then
# 1. 写入 SQLite # 1. 写入 SQLite
db_exec "INSERT INTO ip_trend_log (node_name, scam_score, goog_status, nf_status, gpt_status) VALUES ('$NODE_ID', '$SCORE', '$GOOG_ST', '$NF_ST', '$GPT_ST');" db_exec "INSERT INTO ip_trend_log (node_name, scam_score, goog_status, nf_status, gpt_status) VALUES ('$NODE_ID', '$SCORE', '$GOOG_ST', '$NF_ST', '$GPT_ST');"
# 2. 无损修改原消息:移除入库按钮,展示绿勾状态 (不破坏 Markdown 战报原文) # [体验优化] 弹出顶部 Toast 气泡,提示入库成功
if [ -n "$CB_ID" ]; then
curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/answerCallbackQuery" \
-d "callback_query_id=${CB_ID}" \
-d "text=✅ 报告已成功录入趋势库!" \
-d "show_alert=false" > /dev/null
fi
# 2. 无损修改原消息:移除入库按钮展示绿勾状态,并保留返回控制台按钮 (体验优化)
if [ -n "$MSG_ID" ]; then if [ -n "$MSG_ID" ]; then
curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/editMessageReplyMarkup" \ curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/editMessageReplyMarkup" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{\"chat_id\":\"${CHAT_ID}\",\"message_id\":\"${MSG_ID}\",\"reply_markup\":{\"inline_keyboard\":[[{\"text\":\"✅ 此报告已存档\",\"callback_data\":\"ignore\"}]]}}" > /dev/null -d "{\"chat_id\":\"${CHAT_ID}\",\"message_id\":\"${MSG_ID}\",\"reply_markup\":{\"inline_keyboard\":[[{\"text\":\"✅ 此报告已存档\",\"callback_data\":\"ignore\"}],[{\"text\":\"⚙️ 调出该节点控制台\",\"callback_data\":\"manage:${NODE_ID}\"}]]}}" > /dev/null
fi
else
# [异常兜底] 弹出红色警告弹窗
if [ -n "$CB_ID" ]; then
curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/answerCallbackQuery" \
-d "callback_query_id=${CB_ID}" \
-d "text=❌ 数据解析失败,入库中止。" \
-d "show_alert=true" > /dev/null
fi fi
fi fi
continue continue
@@ -170,10 +198,7 @@ while true; do
fi fi
# ================== [v3.0.1 新增: 消除转圈圈与获取消息ID] ================== # ================== [v3.0.1 新增: 消除转圈圈与获取消息ID] ==================
CB_ID=$(echo "$UPDATE" | jq -r '.callback_query.id // empty') # 告诉 TG 官方“指令已收到”,立刻消除按钮上的加载圈圈 (对其他常规按钮生效)
MSG_ID=$(echo "$UPDATE" | jq -r '.callback_query.message.message_id // empty')
# 告诉 TG 官方“指令已收到”,立刻消除按钮上的加载圈圈
if [ -n "$CB_ID" ]; then if [ -n "$CB_ID" ]; then
curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/answerCallbackQuery" -d "callback_query_id=${CB_ID}" > /dev/null curl -s --connect-timeout 5 -m 10 -X POST "https://api.telegram.org/bot${TG_TOKEN}/answerCallbackQuery" -d "callback_query_id=${CB_ID}" > /dev/null
fi fi
@@ -290,8 +315,7 @@ while true; do
send_msg "$CHAT_ID" "📢 **司令部指令下达:正在唤醒全舰队执行 OTA 升级...**%0A*(节点升级成功后会主动发回新的入库确认,请注意查收)*" send_msg "$CHAT_ID" "📢 **司令部指令下达:正在唤醒全舰队执行 OTA 升级...**%0A*(节点升级成功后会主动发回新的入库确认,请注意查收)*"
echo "$NODE_DATA" | while IFS='|' read -r NNAME AIP APORT; do echo "$NODE_DATA" | while IFS='|' read -r NNAME AIP APORT; do
TARGET_URL=$(generate_signed_url "$AIP" "$APORT" "/trigger_ota") TARGET_URL=$(generate_signed_url "$AIP" "$APORT" "/trigger_ota")
# [灾难救援通道] 仅针对 OTA 允许一次明文回退,抢救缺失证书的老节点 curl -k -s -m 5 "$TARGET_URL" > /dev/null &
{ curl -k -s -m 5 "$TARGET_URL" || curl -s -m 5 "${TARGET_URL/https:\/\//http:\/\/}"; } > /dev/null &
sleep 0.3 # 严格流量削峰 sleep 0.3 # 严格流量削峰
done done
fi fi
@@ -397,10 +421,6 @@ while true; do
# 动态 HMAC 签名防篡改 # 动态 HMAC 签名防篡改
TARGET_URL=$(generate_signed_url "$AGENT_IP" "$AGENT_PORT" "/trigger_quality") TARGET_URL=$(generate_signed_url "$AGENT_IP" "$AGENT_PORT" "/trigger_quality")
RESPONSE=$(curl -k -s -m 5 "$TARGET_URL" || echo "FAILED") RESPONSE=$(curl -k -s -m 5 "$TARGET_URL" || echo "FAILED")
if [ "$RESPONSE" == "FAILED" ] || [ -z "$RESPONSE" ]; then
TARGET_URL_HTTP="${TARGET_URL/https:\/\//http:\/\/}"
RESPONSE=$(curl -s -m 5 "$TARGET_URL_HTTP" || echo "FAILED")
fi
# 结果判定 # 结果判定
if [ "$RESPONSE" == "FAILED" ]; then if [ "$RESPONSE" == "FAILED" ]; then
@@ -721,16 +741,8 @@ while true; do
TARGET_URL=$(generate_signed_url "$AGENT_IP" "$AGENT_PORT" "/trigger_ota") TARGET_URL=$(generate_signed_url "$AGENT_IP" "$AGENT_PORT" "/trigger_ota")
RESPONSE=$(curl -k -s -m 5 "$TARGET_URL" || echo "FAILED") RESPONSE=$(curl -k -s -m 5 "$TARGET_URL" || echo "FAILED")
# [灾难救援通道] 仅针对 OTA 开放一次性明文降级,用于抢救缺失 openssl 证书的老节点
if [ "$RESPONSE" == "FAILED" ]; then if [ "$RESPONSE" == "FAILED" ]; then
TARGET_URL_HTTP="${TARGET_URL/https:\/\//http:\/\/}" TEXT_RES="❌ OTA 指令下发彻底失败!链路异常或严禁使用 HTTP 降级通讯。"
RESPONSE=$(curl -s -m 5 "$TARGET_URL_HTTP" || echo "FAILED")
if [[ "$RESPONSE" == *"Action Accepted"* ]]; then
TEXT_RES="⚠️ **明文救援成功**:该节点因缺失证书处于 HTTP 裸奔状态!已强行下发 OTA 抢救指令,请等待其重构 TLS 装甲。"
else
TEXT_RES="❌ OTA 指令下发彻底失败!节点已失联或网络阻断。"
fi
elif [[ "$RESPONSE" == *"403"* ]]; then elif [[ "$RESPONSE" == *"403"* ]]; then
TEXT_RES="⚠️ **节点拒绝执行**:该节点本地未开启 OTA 权限或运行在官方网关下!" TEXT_RES="⚠️ **节点拒绝执行**:该节点本地未开启 OTA 权限或运行在官方网关下!"
else else

View File

@@ -38,6 +38,8 @@ fi
echo "[1/4] 正在停止并删除 Systemd 服务..." echo "[1/4] 正在停止并删除 Systemd 服务..."
if command -v systemctl >/dev/null 2>&1; then if command -v systemctl >/dev/null 2>&1; then
echo "💡 检测到 Systemd 环境,正在抹除 Systemd 服务单元..." echo "💡 检测到 Systemd 环境,正在抹除 Systemd 服务单元..."
# [防死锁修复] 先发送 SIGKILL 瞬间抹杀,防止卡死
systemctl kill --signal=SIGKILL ip-sentinel-master.service >/dev/null 2>&1 || true
systemctl disable --now ip-sentinel-master.service >/dev/null 2>&1 systemctl disable --now ip-sentinel-master.service >/dev/null 2>&1
rm -f /etc/systemd/system/ip-sentinel-master.service rm -f /etc/systemd/system/ip-sentinel-master.service
systemctl daemon-reload systemctl daemon-reload
@@ -52,9 +54,8 @@ pkill -9 -f "tg_master.sh" >/dev/null 2>&1 || true
# 3. 清除看门狗定时任务 (Cron) # 3. 清除看门狗定时任务 (Cron)
echo "[3/4] 正在清理系统定时任务 (Cron)..." echo "[3/4] 正在清理系统定时任务 (Cron)..."
crontab -l 2>/dev/null | grep -v "tg_master.sh" > /tmp/cron_backup # [终极防御] 内存管道流过滤,绝不写硬盘
crontab /tmp/cron_backup crontab -l 2>/dev/null | grep -v "tg_master.sh" | crontab - >/dev/null 2>&1 || true
rm -f /tmp/cron_backup
# 4. 删除所有文件、配置与数据库 # 4. 删除所有文件、配置与数据库
echo "[4/4] 正在抹除核心程序、配置文件与 SQLite 数据库..." echo "[4/4] 正在抹除核心程序、配置文件与 SQLite 数据库..."

View File

@@ -30,7 +30,8 @@ RSS_FEEDS = {
"SG": ["https://www.channelnewsasia.com/api/v1/rss-outbound-feed?_format=xml"], "SG": ["https://www.channelnewsasia.com/api/v1/rss-outbound-feed?_format=xml"],
"NL": ["https://feeds.nos.nl/nosnieuwsalgemeen"], "NL": ["https://feeds.nos.nl/nosnieuwsalgemeen"],
"VN": ["https://vnexpress.net/rss/tin-moi-nhat.rss"], "VN": ["https://vnexpress.net/rss/tin-moi-nhat.rss"],
"MY": ["https://news.google.com/rss?hl=en-MY&gl=MY&ceid=MY:en"] "MY": ["https://news.google.com/rss?hl=en-MY&gl=MY&ceid=MY:en"],
"NG": ["https://punchng.com/feed/", "https://guardian.ng/feed/"]
} }
def fetch_rss_links(region_code, max_items=15): def fetch_rss_links(region_code, max_items=15):

View File

@@ -1,2 +1,2 @@
MASTER_VERSION=4.0.4 MASTER_VERSION=4.0.7
AGENT_VERSION=4.0.4 AGENT_VERSION=4.0.6