Compare commits

..

344 Commits
v4.0.1 ... main

Author SHA1 Message Date
github-actions[bot]
355a79d4e8 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-09] 2026-07-09 06:45:50 +00:00
github-actions[bot]
a5b54f16a4 style: 修复暗黑模式下坐标轴隐形问题,采用 GitHub 原生深色主题渲染图表 2026-07-09 01:57:15 +00:00
github-actions[bot]
272eda93d3 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-08] 2026-07-08 05:44:27 +00:00
github-actions[bot]
8f0f54ff42 style: 修复暗黑模式下坐标轴隐形问题,采用 GitHub 原生深色主题渲染图表 2026-07-08 01:45:52 +00:00
github-actions[bot]
3d075cbddd style: 修复暗黑模式下坐标轴隐形问题,采用 GitHub 原生深色主题渲染图表 2026-07-07 06:45:46 +00:00
root
fef805bc7c style: 升级星标图表渲染引擎,适配暗黑模式可视化 2026-07-07 02:44:48 -04:00
root
81da62feff style: 升级星标图表渲染引擎,适配暗黑模式可视化 2026-07-07 02:43:59 -04:00
root
620668ed52 docs: 换装自研星标趋势图引擎,阵面彻底恢复 2026-07-07 02:40:06 -04:00
github-actions[bot]
b322bec174 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-07] 2026-07-07 06:39:46 +00:00
github-actions[bot]
18281b227d chore: 部署纯本地 Python 渲染引擎,彻底摆脱 502 梦魇 2026-07-07 06:36:17 +00:00
root
62330a8bda ci: 放弃所有第三方依赖,改用原生 Python + Matplotlib 自渲染星标趋势图 2026-07-07 02:34:45 -04:00
github-actions[bot]
802cc6c8bc chore: 自动化更新 Star 趋势图 (Native Curl 双擎版) 2026-07-07 06:29:45 +00:00
root
2a52728834 ci: 显式授予 Action 写入权限以突破 403 封锁 2026-07-07 02:29:21 -04:00
root
c8ce305eaa ci: 剔除失效第三方插件,重构为高可用原生双引擎拉取架构 2026-07-07 02:26:37 -04:00
root
b8a8f67cfe ci: 告别不稳定的第三方图表,上线本地自托管 Star 趋势生成矩阵 2026-07-07 02:19:40 -04:00
github-actions[bot]
d598f34d55 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-06] 2026-07-06 07:06:07 +00:00
github-actions[bot]
c7bb1d1b5b chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-05] 2026-07-05 06:34:48 +00:00
github-actions[bot]
cebf983381 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-04] 2026-07-04 06:14:22 +00:00
github-actions[bot]
6aeb26616b chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-03] 2026-07-03 06:25:43 +00:00
github-actions[bot]
f74074d52a chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-02] 2026-07-02 06:34:58 +00:00
github-actions[bot]
139ebfab60 chore(data): 🤖 自动机兵:刷新 4000 条绝对坐标指纹库 2026-07-01 08:00:45 +00:00
github-actions[bot]
4b8785f93c chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-07-01] 2026-07-01 07:07:21 +00:00
github-actions[bot]
57749b0bd9 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-30] 2026-06-30 06:52:18 +00:00
github-actions[bot]
56028bf227 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-29] 2026-06-29 07:24:51 +00:00
github-actions[bot]
613bb69532 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-28] 2026-06-28 06:58:32 +00:00
github-actions[bot]
a4684102b1 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-27] 2026-06-27 06:26:39 +00:00
root
639c13708b feat(region): 注入尔湾 (Irvine) 专属坐标系与信任路由配置 (#98) 2026-06-26 09:33:34 -04:00
root
d4bfe88290 feat(region): 更新全球地图拓扑,注册加州尔湾 (Irvine) 节点标识 (#98) 2026-06-26 09:33:19 -04:00
github-actions[bot]
be3bec4c3a chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-26] 2026-06-26 06:48:46 +00:00
github-actions[bot]
78b07cbced chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-25] 2026-06-25 06:43:21 +00:00
github-actions[bot]
b97c336696 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-24] 2026-06-24 06:40:16 +00:00
github-actions[bot]
1371d6fb50 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-23] 2026-06-23 06:43:48 +00:00
github-actions[bot]
c1dbd453fe chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-22] 2026-06-22 08:53:06 +00:00
github-actions[bot]
a9236d2e16 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-21] 2026-06-21 07:29:34 +00:00
github-actions[bot]
0876775ecc chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-20] 2026-06-20 06:57:21 +00:00
github-actions[bot]
4175506d1b chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-19] 2026-06-19 08:28:40 +00:00
github-actions[bot]
59bdb031d4 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-18] 2026-06-18 07:30:42 +00:00
github-actions[bot]
a4c5f1e0a6 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-17] 2026-06-17 08:25:23 +00:00
github-actions[bot]
47498fd55e chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-16] 2026-06-16 08:42:01 +00:00
github-actions[bot]
8f23153ac2 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-15] 2026-06-15 08:55:18 +00:00
github-actions[bot]
63cc4ddbe4 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-14] 2026-06-14 07:19:29 +00:00
github-actions[bot]
48483d0a76 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-13] 2026-06-13 06:54:31 +00:00
github-actions[bot]
a40938746f chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-12] 2026-06-12 07:18:03 +00:00
github-actions[bot]
9100a85e5e chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-11] 2026-06-11 07:25:58 +00:00
github-actions[bot]
b26f4145bf chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-10] 2026-06-10 07:04:14 +00:00
root
069c590f9e feat(region): 响应社区呼声 (#90),为美国伊利诺伊州 (IL) 扩编芝加哥 (Chicago) 节点防线 2026-06-09 10:24:12 -04:00
github-actions[bot]
a0cba14184 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-09] 2026-06-09 06:44:04 +00:00
github-actions[bot]
a78637d676 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-08] 2026-06-08 07:27:06 +00:00
github-actions[bot]
317b177e83 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-07] 2026-06-07 07:02:45 +00:00
github-actions[bot]
25da2d8848 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-06] 2026-06-06 06:24:33 +00:00
github-actions[bot]
714bd64e7b chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-05] 2026-06-05 07:02:59 +00:00
github-actions[bot]
ed09ca5e58 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-04] 2026-06-04 07:20:31 +00:00
hotyue
e462b94267 chore: 同步双端环境版本信标至 v4.3.1 2026-06-04 06:57:17 +00:00
hotyue
b120302afd refactor(core): 实施全局动态版本嗅探 (SSOT)。彻底移除引导外壳与内部安装链路中硬编码的静态版本号文本,提升 CI/CD 自动化持续集成效率 2026-06-04 06:51:12 +00:00
hotyue
49200f77cf refactor(ui): 重构 LBS 拓扑地图交互机。引入无限循环状态机(State Machine)与边界验证,杜绝越界输入导致的 JSON 级联崩溃,并新增 [0] 返回上一级逃生舱选项;同步修复缺失的 Telegram Markdown 下划线转义 (#87) 2026-06-04 06:28:19 +00:00
hotyue
ce86c1c5e5 fix(master): 修复中枢别名(MASTER_NODE_NAME)的中文乱码截断。同步引入 UTF-8 强挂载与原生字符切片防御机制 (#87) 2026-06-04 06:28:14 +00:00
hotyue
d22cb98ab8 fix(core): 修复节点别名(NODE_ALIAS)的中文乱码截断。在网络组装模块引入 UTF-8 环境判定并改用 Bash 原生字符切片,杜绝 POSIX 环境下的字节误切 (#87) 2026-06-04 06:28:09 +00:00
hotyue
8fa103a62b fix(install): 补全 sqlite3 依赖。修复因模块分离导致的 Master 中枢环境在 Debian/Alpine 等系统下建库静默失败问题 (#87) 2026-06-04 06:28:03 +00:00
hotyue
6cf9c91a0c docs: 完善 README 文档,明确官方公共网关禁用 OTA 升级的安全熔断策略,并补充 Master 与 Agent 可同机部署的提示 (#88) 2026-06-04 03:28:51 +00:00
github-actions[bot]
b16bdfb68d chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-03] 2026-06-03 08:12:04 +00:00
hotyue
827381dd7a fix(core): 引入 URL 时间戳动态参数实现 GitHub Raw CDN 缓存物理穿透,彻底消除新版发布后的 404 假死与 OTA 获取延迟问题 2026-06-03 04:59:39 +00:00
hotyue
3e863285d4 fix(core): 修复引导程序中硬编码的远端地址,将仓库源切换回 main 主线 2026-06-03 04:53:21 +00:00
hotyue
4617b7e482 docs: 更新部署指令至 bash -c 内存加载规范,同步全端版本号至 v4.3.0 2026-06-03 04:45:01 +00:00
hotyue
2848f39906 feat(master): 强化 TG 控制台中枢安全。为节点档案销毁操作 (Delete Node) 引入二次高危风险确认弹窗,彻底阻断手机端小屏幕滑屏导致的不可逆误触 2026-06-03 04:34:25 +00:00
hotyue
bcf674ba19 refactor(core): 适配 bash -c 内存加载部署规范,撤除 Bootstrapper 中的 /dev/tty 强制重连逻辑,提升无头环境(Headless)下的部署兼容性 2026-06-03 04:27:10 +00:00
hotyue
25c5ad259b fix(master): 回滚污染拦截策略,对 install_master.sh 使用子进程独立文件流执行,彻底解决拉取代码卡死及输入串行问题,原版逻辑 100% 无损分拆 2026-06-03 03:19:08 +00:00
hotyue
2e2e81abd3 feat(core): 增强节点物理无痕卸载。通过解析 config 端口残余量,挂钩工业级自动化多轨防火墙回溯剥离链路,实现底层安全防线自动关闭及无缝闭环 2026-06-03 03:04:32 +00:00
hotyue
e627ac47f4 fix(ui): 修复因多余换行导致的 bash 解析崩溃,100% 还原原版时序与逻辑,仅增加 Master 默认联控及底层防火墙自动化操纵防线 2026-06-03 02:53:47 +00:00
hotyue
f1e35ddc8f optimize(ui): 默认开启中枢联控引信,并引入多操作系统底层防火墙双栈(IPv4/IPv6)无感自动化放行机制 2026-06-03 02:48:32 +00:00
hotyue
10c0b75ce6 fix(core): 回滚之前引入的过度防御逻辑,使用纯净的原版代码覆 盖子模块,配合根目录引导程序的 exec </dev/tty 彻底解决终端污染与 Telegram 报文解析崩溃问题 2026-06-03 02:36:44 +00:00
hotyue
40a41cc9ea fix(core): 回滚之前引入的过度防御逻辑,使用纯净的原版代码覆盖子模块,配合根目录引导程序的 exec </dev/tty 彻底解决终端污染与 Telegram 报文解析崩溃问题 2026-06-03 02:30:47 +00:00
hotyue
5ca8a94b5d fix(core): 彻底重构入口引导层。引入 exec </dev/tty 完美阻断 curl|bash 管道污染,并追加 Ctrl+C SIGINT 捕获清理机制,恢复交互提示符原生体验 2026-06-03 02:23:18 +00:00
hotyue
4bc101dd1c fix(core): 彻底修复 curl|bash 流式执行导致的终端输入污染。引入 safe_read 函数在请求输入前强行抽干 TTY 缓冲区,防止将后续脚本代码误读为用户输入 2026-06-03 02:16:27 +00:00
hotyue
f3c6b0f23c fix(core): 修复 curl|bash 管道流执行时 stdin 枯竭导致交互命令被跳过的致命 Bug。强制将所有的交互式 read 指令重定向至 /dev/tty 2026-06-03 01:35:29 +00:00
hotyue
a7556692a5 feat(arch): 完成 Master 端安装逻辑解耦。复用底层环境模块,引入 build_master 编排器与 master_setup 业务流,至此全系统部署逻辑彻底实现高内聚低耦合 2026-06-03 01:29:38 +00:00
hotyue
32ce648f6c feat(arch): 补充基础设施模块 (env_setup.sh),完成 Agent 安装流全组件解耦 2026-06-03 01:25:09 +00:00
hotyue
34d7f63e46 feat(arch): 完成 Agent 端安装逻辑的彻底解耦。将原 1000 行单体脚本无损拆解为 UI、环境清理与网络探测等 4 大专属模块,严格保留原有时序判定树 2026-06-03 01:22:31 +00:00
hotyue
7296819c00 feat(arch): v4.3.0 模块化重构启动,引入极简 Bootstrapper 引导程序与 build_agent 编排大管家 2026-06-03 01:13:43 +00:00
hotyue
6f5f6c03b8 chore(release): 跃升 Agent 版本至 v4.2.3,包含 YouTube 探针逻辑的热修复 2026-06-03 00:23:54 +00:00
hotyue
be23f46252 fix(google): 吸收 PR #82 社区补丁,隔离养护状态机与探测器,使用现代干净的 UA 重铸 YouTube 雷达扫描,根除极端网络环境下的降级探测丢失 Bug 2026-06-03 00:08:21 +00:00
github-actions[bot]
d1c24fc08c chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-02] 2026-06-02 07:20:22 +00:00
hotyue
db05446848 feat(data): 新增德国北莱茵-威斯特法伦州亚琛 (Aachen) 节点支持 2026-06-02 00:36:16 +00:00
hotyue
0efcea7bb4 fix(install): 统一使用反引号包裹所有推送报文中的容灾 IP 变量,隔离下划线,彻底解决部分场景下触发 TG Markdown 解析崩溃导致的首播推送失败问题 2026-06-01 14:49:59 +00:00
hotyue
19ff3fe9f5 fix(install): 修复全新部署时因容灾弹匣下划线触发 TG Markdown 解析崩溃导致推送失败的问题 2026-06-01 14:39:58 +00:00
hotyue
fa7e4f7bd5 Merge branch 'feature/v4.2.0-dual-stack' 2026-06-01 13:21:37 +00:00
hotyue
019e755ebf chore(release): 预发布准备,对齐全链路网络仓库源至 main 分支,并同步全站版本号至 v4.2.2 2026-06-01 13:20:53 +00:00
hotyue
0782487b8a fix(master): 修复极度隐蔽的正则过度清洗漏洞。扩充 agent_ip 字段正则白名单及长度截断阈值,确保逗号/下划线分隔的多宿主弹匣能完整无损入库 2026-06-01 12:36:12 +00:00
hotyue
56dc23009b fix(core): 替换容灾多宿主 IP 弹匣的拼接符(从逗号改为下划线),彻底解决因 Telegram 客户端及 API 特殊字符截断导致的多 IP 粘连失效问题 2026-06-01 12:27:00 +00:00
github-actions[bot]
8a047c34ac chore(data): 🤖 自动机兵:刷新 4000 条绝对坐标指纹库 2026-06-01 09:09:08 +00:00
github-actions[bot]
6bfd4840ff chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-06-01] 2026-06-01 08:30:04 +00:00
hotyue
f57a4cd9e0 fix(install): 修复平滑升级时容灾弹匣组装缺少逗号分隔符的致命拼接错误,保障 Master 指令解析器免遭截断 2026-06-01 08:21:01 +00:00
hotyue
4375fac814 fix(install): 修复平滑升级时长效配置覆盖问题,强行以 SAFE_PUBLIC_IP 为基座重铸多宿主弹匣,彻底防止首发 IPv6 遗失 2026-06-01 08:16:31 +00:00
hotyue
591100a27f fix(install): 完善跨代热更新逻辑,强制低于 v4.2.2 的老节点在升级后主动同步「多宿主容灾弹匣」,确保 Master 指控链路不丢失备用 IP 2026-06-01 08:10:49 +00:00
hotyue
58c08213bf fix(master): 完善注册解包数据链,完美固化逗号分隔的多宿主通讯寻址池,对齐 v4.2.2 容灾机制 2026-06-01 08:05:12 +00:00
hotyue
54839f52d5 test(env): 临时将 REPO_RAW_URL 指向 feature/v4.2.0-dual-stack 分支,开启全链路容灾沙盒测试 2026-06-01 07:55:18 +00:00
hotyue
ed65f412f4 feat(arch): 跃升 v4.2.2,重构全链路容灾体系。引入「多宿主智能回退 (Multi-homing Fallback)」机制,支持全域双栈监听与毫秒级防黑洞重试打击,彻底免疫纯 IPv6、LXC、大内网 WARP 等高危阻断场景 2026-06-01 07:52:27 +00:00
hotyue
f218291720 feat(arch): 跃升 v4.2.2,重构控制面通讯链路,引入「客户端多宿主容灾寻址 (Multi-homing Fallback)」机制,支持全域双栈监听与毫秒级防黑洞重试打击,彻底免疫纯 IPv6、LXC、大内网 WARP 等高危阻断场景 2026-06-01 07:47:18 +00:00
hotyue
aa4b6d9e6e chore: 回滚至 93a9bcb 版本,移除所有 v4.2.x 实验性网络架构修改 2026-06-01 06:59:32 +00:00
hotyue
21112796d0 fix(core): 兼容性升级 2026-06-01 06:48:33 +00:00
hotyue
c301ba1545 fix(ui): 修正防火墙提示规则,严格基于双轨分离架构的控制面通讯 IP (COMM_IP) 协议栈动态生成精确的 iptables/ip6tables 放行指令 2026-06-01 06:18:18 +00:00
hotyue
fe7910124e fix(core): 完善网络探针,引入内核路由网卡追踪(Device Routing Check),实现全球 7 大极端复杂网络模型 100% 完美兼容 2026-06-01 06:14:27 +00:00
hotyue
f418a118e1 feat(network): 跃升 v4.2.1,强化雷达嗅探底层逻辑,新增 WARP 代理及 CGNAT 大内网 IP 的物理级拦截,彻底解决纯 IPv6 节点因全局代理穿透导致的控制面假死漏洞 2026-06-01 05:51:52 +00:00
hotyue
22c630aa66 fix(install): 增加云端 NAT 及 WARP 伪装 IP 的底层嗅探拦截,防止假公网 v4 地址导致双轨通讯架构崩溃 2026-06-01 05:03:54 +00:00
hotyue
47a9f28f6f feat(arch): 跃升 v4.2.0,重构控制面与数据面双轨分离架构,实现旧版证书强制热销毁,彻底根绝高危机房指令超时顽疾 2026-06-01 04:49:46 +00:00
hotyue
4dd325cbf7 feat(arch): 跃升 v4.2.0,重构控制面与数据面双轨分离架构,彻底根除 IPv6 恶劣路由引发的指令下发超时/耳聋难题 2026-06-01 04:35:26 +00:00
github-actions[bot]
93a9bcb184 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-31] 2026-05-31 06:54:59 +00:00
hotyue
a532c9aff3 fix(data): 修复美国夏威夷 (Hawaii) 节点因目录缩写匹配错误导致的 404 无法部署缺陷 (Resolves #79) 2026-05-31 05:39:51 +00:00
hotyue
1482fc3934 fix(core): 混滚测试后故障依旧,重新采用新版代码 2026-05-30 08:19:16 +00:00
hotyue
2b1ca3f644 fix(core): 部分内容回滚4.1.0版本 2026-05-30 08:03:25 +00:00
hotyue
2b89988121 Merge branch 'main' of https://github.com/hotyue/IP-Sentinel 2026-05-30 07:18:36 +00:00
hotyue
46ea70eab4 fix(agent): 彻底根除纯 IPv6 及双栈节点因 Socket 协议栈绑定错误导致的“指令耳聋”拒绝服务漏洞 2026-05-30 07:18:27 +00:00
github-actions[bot]
789bea25ef chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-30] 2026-05-30 06:19:10 +00:00
hotyue
ea855d7eae feat(data): 新增美国加州弗里蒙特 (Fremont) 节点支持 2026-05-30 06:14:42 +00:00
hotyue
eb9d2b0d8b chore(master): 跃升控制中枢版本至 v4.1.7,对齐底层加密漏洞修复 2026-05-30 02:41:46 +00:00
hotyue
313200e003 fix(master): 修复群组负数 Chat ID 导致 OpenSSL HMAC 签名引擎参数注入崩溃的致命缺陷 (Resolves #58) 2026-05-30 02:40:55 +00:00
hotyue
0f7b6c9e6d Merge branch 'main' of https://github.com/hotyue/IP-Sentinel 2026-05-30 02:40:12 +00:00
hotyue
0740e08777 fix(master): 修复群组负数 Chat ID 导致 OpenSSL HMAC 签名引擎参数注入崩溃的致命缺陷 (Resolves #58) 2026-05-30 02:39:57 +00:00
github-actions[bot]
a537d9ec81 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-29] 2026-05-29 06:49:06 +00:00
hotyue
8a5dc41d35 Merge pull request #75 from xihuan0526: 添加保加利亚 (Sofia) 节点支持 2026-05-29 03:01:21 +00:00
hotyue
7dac902acb refactor(scripts): 重构活体新闻融合引擎,彻底解除硬编码字典,实现多语种自适应 2026-05-29 02:59:38 +00:00
hotyue
e1fc68f6ae chore: 对齐 Master 与 Agent 版本号至 v4.1.6 2026-05-29 01:20:10 +00:00
hotyue
cf6a80104f style(master): 移除控制面板中枢节点前缀的 emoji 图标,对齐头部视觉信息 2026-05-29 01:09:22 +00:00
hotyue
bc65b81e51 feat(master): 控制面板支持显式标注物理中枢节点别名,提升多舰队架 构管理体验 2026-05-29 01:04:03 +00:00
hotyue
b4f78d4813 feat(master): 控制面板支持显式标注物理中枢节点别名,提升多舰队架构管理体验 2026-05-29 01:00:39 +00:00
Xihuan
c423bdeeb3 feat(data): add Bulgaria Sofia region support
- Add Bulgaria entry to the Europe region map
- Add Sofia region configuration for Google and trust modules
- Add Bulgarian local keyword list
2026-05-29 08:50:12 +08:00
hotyue
22e7eb24ed feat(core): 升级 mod_trust,引入 Cookie 状态机记忆、精确网络死因捕获与长尾生物钟拉伸,并优化 printf 日志渲染 2026-05-28 11:24:55 +00:00
github-actions[bot]
2f1c062fea chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-28] 2026-05-28 06:48:30 +00:00
hotyue
ddd0ba1069 feat(core): 升级 v4.1.6,引入严苛的数据容灾校验,重构安全的 Curl 数组传参与 jq 降级链路 2026-05-28 03:09:16 +00:00
hotyue
b0e5e072e6 feat(core): 升级 v4.1.5,修复 IPv6 探针误杀,引入业务域动态 Referer 隔离链 2026-05-28 02:27:08 +00:00
hotyue
90754d58b0 feat(core): 升级 v4.1.4,引入跨平台专属行为矩阵,消除底层探针系统级穿帮 2026-05-28 02:12:40 +00:00
hotyue
2c158f212f fix(core): 升级 v4.1.3,剔除 URL 编码换行符机器特征,引入底层 Curl 错误码精准映射 2026-05-28 01:47:47 +00:00
hotyue
86acc89e7b feat(core): 升级 v4.1.2,引入 Google 专属 Cookie 持久化装甲与 TTL 垃圾回收机制 2026-05-28 01:17:48 +00:00
hotyue
9e04da886b refactor(docs): 启动架构文档全量重构,统一 V4.1.1 工业级防渗透注释标准,彻底抹除 历史版本碎片 2026-05-27 15:06:27 +00:00
hotyue
9cb7406cda refactor(docs): 启动架构文档全量重构,统一 V4.1.1 工业级防渗透注释标准,彻底抹除历史版本碎片 2026-05-27 15:05:45 +00:00
hotyue
8cdab0a7bc 恢复4.0.12版google纠偏逻辑 2026-05-27 09:42:06 +00:00
hotyue
2c1afd705d 恢复4.0.12版逻辑 2026-05-27 09:40:33 +00:00
hotyue
6c0d1e2d9a 重构 Google 三核区域判定逻辑,增强送中检测可读性 2026-05-27 08:47:38 +00:00
hotyue
9941e2c8e6 Merge branch 'main' of https://github.com/hotyue/IP-Sentinel 2026-05-27 07:07:35 +00:00
hotyue
1d81fdd1a5 fix(core): 排雷级修复!精准剥离 curl -f 陷阱,修复 IPv6 探针误杀,重构安全 URL 编码与防断裂数组传参 2026-05-27 07:07:28 +00:00
github-actions[bot]
9ada3e8807 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-27] 2026-05-27 06:59:29 +00:00
hotyue
ffd841011e chore(release): bump version to v4.1.0,正式上线大智若愚架构 2026-05-26 06:51:58 +00:00
github-actions[bot]
4eb62a6344 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-26] 2026-05-26 06:42:12 +00:00
github-actions[bot]
4efa58eadc chore(data): 🤖 自动机兵:刷新 4000 条绝对坐标指纹库 2026-05-26 06:32:54 +00:00
hotyue
154c0cbab7 fix(data): 修复组合基数耗尽导致的生成死循环卡死 2026-05-26 06:32:22 +00:00
hotyue
5f5871ca78 feat(data): 架构升级至大智若愚 V4.1.0,引入降维老旧 Chromium 并修复 Android Firefox 真实指纹规范 2026-05-26 06:16:36 +00:00
hotyue
c398c2494d refactor(core): 架构转向'大智若愚'策略,引入生物钟节律与生态漫游,剥离高危伪装指纹 2026-05-26 05:58:10 +00:00
hotyue
e6e6cea38d feat(master): 同步引入环境诊断雷达,重构依赖安装链路兼容极简 OS,提升网络韧性 2026-05-25 13:28:27 +00:00
hotyue
43822c02d2 feat(install): 引入环境诊断雷达,全面重构依赖安装链路以兼容 Alma9/Minimal OS,提升网络下载韧性 2026-05-25 08:16:42 +00:00
github-actions[bot]
59366cc6e0 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-25] 2026-05-25 07:08:00 +00:00
github-actions[bot]
70b6c61002 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-24] 2026-05-24 06:32:08 +00:00
github-actions[bot]
98cfa3a875 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-23] 2026-05-23 06:09:38 +00:00
github-actions[bot]
d586afc95f chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-23] 2026-05-23 03:30:55 +00:00
hotyue
866a884e44 feat(data): 兵工厂重构,升级 2025 高保真多平台 UA 轮换池;扩容活体新闻至 30 发纯双栈(IPv4+IPv6)满编矩阵 2026-05-23 03:23:49 +00:00
hotyue
dad8e9477b chore(release): bump version to v4.0.12,修复 NAT/LXC 监听架构与 TLS 超时问题 2026-05-23 00:57:49 +00:00
hotyue
32aea06044 fix(core): 重构 Webhook 监听绕过 LXC 容器 v4 映射故障;放宽 Master 端 TLS 握手容忍度适配弱算力节点 (Closes #53) 2026-05-23 00:56:09 +00:00
hotyue
669c0b0cad Merge branch 'main' of https://github.com/hotyue/IP-Sentinel 2026-05-22 06:59:40 +00:00
hotyue
8782bf1ff0 style(agent): 极简排版重构,每日战报仅当存在新版时换行渲染,对齐 Master 面板视觉体验 2026-05-22 06:59:26 +00:00
github-actions[bot]
371bbc9783 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-22] 2026-05-22 06:44:34 +00:00
hotyue
14ac9fcbd7 style(master): 极简排版重构,仅当存在新版本时才换行渲染更新提示 2026-05-21 23:46:56 +00:00
hotyue
44c17b1ad8 chore(release): bump version to v4.0.11,集成终端兼容性修复与全局 UI 统一升级 2026-05-21 23:35:59 +00:00
hotyue
0ad88f21c0 style(agent): 调整文本输出格式 2026-05-21 23:21:17 +00:00
hotyue
284651f60f Merge branch 'main' of https://github.com/hotyue/IP-Sentinel 2026-05-21 23:16:19 +00:00
hotyue
1fbef8c4df style(agent): 调整文本输出格式 2026-05-21 23:16:07 +00:00
github-actions[bot]
8c9285c68f chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-21] 2026-05-21 06:47:09 +00:00
hotyue
287fcea1ce style(agent): 调整文本输出格式 2026-05-21 00:18:13 +00:00
hotyue
75cf579b12 Merge pull request #67 from LUFTSCH1/main
修复 [安装脚本末尾颜色转义错误 #64](https://github.com/hotyue/IP-Sentinel/issues/64)
2026-05-20 21:30:04 +08:00
LUFTSCH1
29fbd8c409 修复 安装脚本末尾颜色转义错误 #64 2026-05-20 15:22:58 +08:00
github-actions[bot]
270e6a89d1 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-20] 2026-05-20 06:44:53 +00:00
github-actions[bot]
eb8250b700 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-19] 2026-05-19 06:44:33 +00:00
github-actions[bot]
d29bcc8749 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-18] 2026-05-18 06:51:03 +00:00
hotyue
7670f3a712 fix(core): 补齐 Agent 端每日战报模块的全球区旗渲染库,实现端到端 UI 统一 2026-05-17 06:37:40 +00:00
hotyue
c86f6e21ca fix(master): 完善全球雷达 UI 旗帜渲染库,补齐澳门(MO)及部分东南亚/南亚战区国旗,治愈强迫症 (Closes #61) 2026-05-17 06:37:24 +00:00
github-actions[bot]
adf77d47cc chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-17] 2026-05-17 06:17:22 +00:00
hotyue
fb63cd00e4 chore(release): bump Agent version to v4.0.10,集成近期节点扩容与引擎高可用修复 2026-05-16 11:42:51 +00:00
hotyue
6630e3a42e fix(core): 修复管道破裂(Broken pipe)报错并优化执行耗时防强杀,感谢 @KoEqThis 的精准排查 (Closes #57) 2026-05-16 11:40:19 +00:00
github-actions[bot]
033d5310f8 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-16] 2026-05-16 05:49:50 +00:00
hotyue
0c2a43a2af fix(core): 强化安装脚本安全组配置警告,严禁篡改内网 IP 绕过探测,坚守公网信用养护底线 2026-05-15 09:38:36 +00:00
github-actions[bot]
aaeb7d12db chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-15] 2026-05-15 06:28:35 +00:00
github-actions[bot]
b4e6894964 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-14] 2026-05-14 06:20:01 +00:00
hotyue
413415f999 feat(data): 新增美洲战区美国加州安大略 (Ontario, CA) 节点,Closes #55 2026-05-13 23:26:10 +00:00
github-actions[bot]
4da4b6e02e chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-13] 2026-05-13 06:22:16 +00:00
hotyue
888f298edc feat(data): 在雷达地图中注册日本大阪节点,完善双极架构,Closes #54 2026-05-13 00:23:32 +00:00
hotyue
ede247e7ef feat(data): 新增亚洲战区日本大阪 (Osaka) 节点配置 2026-05-13 00:23:32 +00:00
github-actions[bot]
b785241cca chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-12] 2026-05-12 06:01:20 +00:00
github-actions[bot]
216065727c chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-11] 2026-05-11 06:33:32 +00:00
hotyue
8178781dcd feat(data): 新增美洲战区美国科罗拉多州博尔德 (Boulder, CO) 节点,Closes #51 2026-05-10 13:50:49 +00:00
hotyue
f23f06025b feat(data): 新增美洲战区美国堪萨斯州堪萨斯城 (Kansas City, KS) 节点,Closes #50 2026-05-10 06:35:55 +00:00
github-actions[bot]
d5ccb245f2 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-10] 2026-05-10 05:59:31 +00:00
hotyue
6a31763c49 fix(scripts): 替换失效的本土 RSS 源,全面接入 Google News 聚合源以保障解析稳定性 2026-05-09 06:58:28 +00:00
github-actions[bot]
21dd59ebbd chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-09] 2026-05-09 05:44:19 +00:00
hotyue
450a925c7f fix(scripts): 增加澳门 RSS 源并修复老挝 (LA) 缺失 https 协议的 bug 2026-05-09 01:46:13 +00:00
hotyue
587e0d2e8d feat(scripts): 为澳门配置香港 (HK) 热搜兜底逻辑 2026-05-09 01:46:13 +00:00
hotyue
5ecf01cd52 feat(data): 在雷达地图中注册澳门战区 2026-05-09 01:46:13 +00:00
hotyue
3302067675 chore(data): 初始化澳门 (MO) 空词库 2026-05-09 01:46:13 +00:00
hotyue
7683dbf56c feat(data): 新增亚太战区澳门 (MO) 节点 2026-05-09 01:46:13 +00:00
hotyue
793332a9ef chore(release): bump Agent version to v4.0.9 2026-05-09 00:31:06 +00:00
hotyue
0f50ca38ee fix(scripts): 重构热词抓取引擎,增加 LA/MN 战区兜底机制,并引入 UA 轮换与请求限流防封锁 2026-05-09 00:05:59 +00:00
hotyue
8424b0c9bc fix(data): 完善 PR #47 遗留细节,修正沙特 Google 后缀并为数据引擎补充 12 个新国家的 RSS 活体新闻源 2026-05-08 23:49:40 +00:00
MOK
0e240b66ee Create kw_SA.txt 2026-05-09 03:26:47 +08:00
MOK
f464617366 Update map.json 2026-05-09 01:04:13 +08:00
MOK
17b525eae8 Create Riyadh.json 2026-05-09 01:02:47 +08:00
MOK
c9c6cc5cae Update map.json 2026-05-09 01:01:58 +08:00
MOK
70c328bbc5 Create kw_AE.txt 2026-05-09 01:00:22 +08:00
MOK
86c9a5b15b Create Dubai.json 2026-05-09 01:00:11 +08:00
MOK
9deaea5490 Update map.json 2026-05-09 00:58:03 +08:00
MOK
ca0055f769 Create kw_BD.txt 2026-05-09 00:57:10 +08:00
MOK
4b388fc343 Create Dhaka.json 2026-05-09 00:56:55 +08:00
MOK
75d7e2b0f9 Update map.json 2026-05-09 00:56:13 +08:00
MOK
e81467f31f Create kw_NP.txt 2026-05-09 00:55:17 +08:00
MOK
d497ed44ef Create Kathmandu.json 2026-05-09 00:55:02 +08:00
MOK
f4aa566f01 Update map.json 2026-05-09 00:54:09 +08:00
MOK
d087687d38 Create kw_MN.txt 2026-05-09 00:52:43 +08:00
MOK
05b91a736d Create Ulaanbaatar.json 2026-05-09 00:52:26 +08:00
MOK
1809168562 Update map.json 2026-05-09 00:50:50 +08:00
MOK
e52315798a Create Honolulu.json 2026-05-09 00:47:31 +08:00
MOK
a1b1168aa6 Delete data/regions/US/Hawaii directory 2026-05-09 00:47:09 +08:00
MOK
ccabed6bea Create Honolulu.json 2026-05-09 00:44:13 +08:00
MOK
7342559844 Update map.json 2026-05-09 00:42:48 +08:00
MOK
b85529e2c1 Create kw_IN.txt 2026-05-09 00:41:50 +08:00
MOK
96ba81c611 Create Delhi.json 2026-05-09 00:41:34 +08:00
MOK
bc87d9d9af Update map.json 2026-05-09 00:41:03 +08:00
MOK
6f91d30e82 Create kw_ID.txt 2026-05-09 00:40:00 +08:00
MOK
392517514c Create Jakarta.json 2026-05-09 00:39:40 +08:00
MOK
b05789a367 Update map.json 2026-05-09 00:38:31 +08:00
MOK
7a1f974930 Create kw_LA.txt 2026-05-09 00:37:27 +08:00
MOK
ef283dcbf3 Create Vientiane.json 2026-05-09 00:37:14 +08:00
MOK
ac0c4abd8b Update map.json 2026-05-09 00:36:04 +08:00
MOK
5a1194f8de Create kw_MM.txt 2026-05-09 00:34:56 +08:00
MOK
a49976d54c Create Yangon.json 2026-05-09 00:34:34 +08:00
MOK
aed5a5bf0f Update map.json 2026-05-09 00:34:01 +08:00
MOK
5793f13b9c Create kw_KH.txt 2026-05-09 00:32:30 +08:00
MOK
fb58f25175 Create PhnomPenh.json 2026-05-09 00:32:10 +08:00
MOK
9c434fdbdc Update map.json 2026-05-09 00:29:37 +08:00
MOK
3c8cd0499e Create kw_TH.txt 2026-05-09 00:27:25 +08:00
MOK
f26bb49692 Create Bangkok.json 2026-05-09 00:26:56 +08:00
MOK
8b0abf8d05 Add Philippines Manila region support
Add Philippines (PH) Manila region

- Added Manila config
- Added PH keyword file
- Updated map.json
2026-05-09 00:21:39 +08:00
MOK
518b62444e Create kw_PH.txt 2026-05-09 00:16:35 +08:00
MOK
ffc593f9bc Create Manila.json
Add Philippines Manila region config
2026-05-09 00:15:14 +08:00
hotyue
84b5fc9f93 docs: 更新官方网关模式下的 Agent 部署教程链接 2026-05-08 05:48:28 +00:00
github-actions[bot]
14761ee128 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-08] 2026-05-08 05:24:41 +00:00
hotyue
4d29b719ef fix(scripts): 修复 NG 战区 RSS 抓取 403 报错,替换为高可用源 (Vanguard News) 2026-05-07 08:42:38 +00:00
github-actions[bot]
a3d4de00bc chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-07] 2026-05-07 05:55:18 +00:00
hotyue
aa3fb2e298 feat(data): 新增土耳其 (TR) 战区及伊斯坦布尔节点,并补充活体新闻流 RSS 源 (closes #46) 2026-05-07 05:44:12 +00:00
hotyue
3fb71e2a60 feat(data): 新增美洲核心数据中心节点,覆盖亚利桑那州凤凰城 (Phoenix, AZ) (closes #45) 2026-05-06 13:55:55 +00:00
hotyue
41520782d1 style(report): 移除每日战报底部的 GitHub URL 实体按钮,保持面板清爽 2026-05-06 06:31:59 +00:00
hotyue
24286ebb75 style(report): 优化每日简报底部 GitHub 引流文案排版,拆分为双行以提升阅读体验 2026-05-06 06:28:19 +00:00
hotyue
3f73825972 chore(release): bump version to v4.0.8 全面部署专业化 UI 与全网节点扩容 2026-05-06 06:13:57 +00:00
hotyue
56b655af2d feat(ui): 优化全局提示文案并脱除过度拟人化,在多端高光时刻增设 GitHub Star 引流按钮
1. core/install & master/install_master: 底部新增 OSC 8 终端超链接引流
2. core/tg_report & master/tg_master: 底部常驻跳转 GitHub 的内联键盘按钮
3. docs: 更新 README 注入顶部 Star 引导文案,并追加 @Bryan2333 贡献者致谢
2026-05-06 06:11:44 +00:00
github-actions[bot]
70d940584e chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-06] 2026-05-06 05:50:59 +00:00
github-actions[bot]
0cdb4f8d3f chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-05] 2026-05-05 05:36:04 +00:00
github-actions[bot]
67be930060 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-04] 2026-05-04 05:57:46 +00:00
hotyue
be82242ed1 feat(data): 新增美洲及欧洲主流数据中心节点,全面覆盖爱荷华、弗吉尼亚、法尔肯施泰因等机房重镇 (closes #43) 2026-05-03 11:31:47 +00:00
github-actions[bot]
67d6e35d9f chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-03] 2026-05-03 05:52:04 +00:00
hotyue
f34e697016 fix(install): 对齐双端部署脚本的网络波动兜底版本锚点 (Agent v4.0.6 / Master v4.0.7) 2026-05-03 02:22:03 +00:00
hotyue
56cfbb5485 chore(core): 删除已废弃的 tg_daemon.sh 长轮询脚本,全面对齐 Webhook 架构 2026-05-03 02:20:19 +00:00
github-actions[bot]
d40b7928d0 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-02] 2026-05-02 05:30:24 +00:00
github-actions[bot]
ac2f8b0a1c chore(data): 🤖 自动机兵:刷新 4000 条绝对坐标指纹库 2026-05-01 06:30:32 +00:00
github-actions[bot]
caf7589b89 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-05-01] 2026-05-01 06:09:27 +00:00
hotyue
ebada9f455 fix(install): 优化 Arch Linux 依赖安装逻辑,采用 -S --needed 避免部分更新导致系统损坏 (closes #42)
Thanks to @Bryan2333 for the pacman flag optimization and security improvements.
2026-05-01 03:38:17 +00:00
hotyue
d2dc1a20c3 Merge pull request #42 from Bryan2333/main
Change pacman install to use --needed flag
2026-05-01 11:31:13 +08:00
BryanLiang
d115f01d4a Fix pacman command to use '-S' instead of '-Sy' 2026-04-30 23:26:49 +08:00
BryanLiang
b1dc0ab79d Change pacman install to use --needed flag 2026-04-30 23:23:56 +08:00
github-actions[bot]
c147843d39 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-30] 2026-04-30 05:51:59 +00:00
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
hotyue
be241ab6bd bump: version to 4.0.4 2026-04-26 03:08:26 +00:00
hotyue
4b2985b4ef fix(core): 切除 agent_daemon 冗余的开机注册发信逻辑,实现部署过程的绝对静音与不打扰 2026-04-26 02:26:38 +00:00
hotyue
d4afb57f9f feat(core): 引入智能环境嗅探,针对受限 Alpine 容器启用自建高可用死循环调度器,彻底根除 Cron 假死顽疾 2026-04-26 02:19:46 +00:00
hotyue
230a59bbb3 feat(master): 节点销毁时同步清理ip_trend_log历史污染数据,并加装严格的防越权删除(IDOR)拦截锁 2026-04-26 01:44:01 +00:00
hotyue
f4a5cf8306 fix(core): 彻底抹除 Alpine 卸载时的 crontab 报错,并加入 OpenRC 调度器双向同步与强力唤醒机制 2026-04-26 01:38:18 +00:00
hotyue
b606fe02ff feat(core): 为深海声呐战报底部追加控制台快捷唤出按钮,实现全链路闭环操作 2026-04-26 01:28:55 +00:00
hotyue
3375356143 fix(core): 彻底修复 Alpine/OpenRC 环境下 crond 调度器路径割裂与假死的顽疾 2026-04-26 01:23:26 +00:00
github-actions[bot]
d9255ecbca chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-25] 2026-04-25 19:04:17 +00:00
hotyue
6ad6f6b4b3 fix(core): 大道至简 2026-04-25 16:59:23 +00:00
hotyue
a8caea3b6d fix(core): 升级深海声呐探测机制为源码物理篡改版,彻底封死第三方脚本在多IP/NAT环境下的网卡逃逸漏洞 2026-04-25 16:42:53 +00:00
hotyue
1a49e18200 fix(core): 升级幽灵网卡劫持为 v3 源码包裹版,彻底解决底层脚本 PATH 逃逸问题 2026-04-25 16:35:59 +00:00
hotyue
c223d7a476 fix(core): 修复深海声呐战报中高危警告换行符转义失效的问题 2026-04-25 16:24:37 +00:00
hotyue
eaa51358a8 fix(core): 彻底修复 Alpine/Busybox 环境下的开机自启顽疾、去色乱码及幽灵网卡劫持失效问题 2026-04-25 16:15:51 +00:00
hotyue
00827b3b15 docs: 更新 README.md,补充 Master 与 Agent 的官方图文部署教程链接 2026-04-25 09:04:57 +00:00
hotyue
ccddaf4386 chore(release): bump version to v4.0.3 2026-04-25 06:26:23 +00:00
hotyue
0f0ba46989 feat(core): 优化部署与升级链路,新节点入列及 OTA 捷报底部追加 [一键唤醒控制台] 按钮 2026-04-25 06:18:22 +00:00
hotyue
f83db38a6b feat(agent): 优化实时日志推送链路,底部追加 [一键唤醒控制台] 交互式内联按钮 2026-04-25 06:09:37 +00:00
hotyue
ba5582ab4c fix(master): 修复态势感知面板升级 JSON 交互后的换行符乱码 (%0A 转换为 \n) 2026-04-25 06:02:25 +00:00
hotyue
fb4e1d9b31 feat(master): 优化态势感知面板,底部追加 [一键唤醒控制台] 交互式内联按钮 2026-04-25 05:57:10 +00:00
hotyue
2dea6e382b feat(agent): 优化每日简报推送链路,底部追加 [一键唤醒控制台] 交互式内联按钮 2026-04-25 05:48:53 +00:00
hotyue
fa8eada97b docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:34:32 +00:00
hotyue
c102f66234 docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:33:22 +00:00
hotyue
68a50fdb4a docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:32:20 +00:00
hotyue
aac83acb8f docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:30:24 +00:00
hotyue
4be4d5e9ef docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:29:30 +00:00
hotyue
1f925b307f docs: 更新 README.md,增加对底层 IP 质量检测组件 xykt/IPQuality 的开源鸣谢 2026-04-25 01:27:08 +00:00
hotyue
49afe032d6 fix(agent): 重构 Google 区域探测逻辑,穿透 YouTube GeoIP 底层彻底解决跨区漂移与假阳性误判 (Resolves #14, Resolves #35) 2026-04-25 00:48:00 +00:00
hotyue
f0f054c8cd feat(data): 扩容美国得克萨斯州 (Texas/Dallas) 部署坐标与地图基建 (Resolves #33) 2026-04-25 00:36:07 +00:00
hotyue
699e9ca31a feat(master): 重构全球旗帜渲染引擎,支持 US-* 等州级行政区划自适应 (Resolves #33) 2026-04-25 00:25:06 +00:00
github-actions[bot]
76cace4ff6 chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [2026-04-24] 2026-04-24 19:03:51 +00:00
hotyue
9f3218ab7f chore: release v4.0.2 版本号跃升 2026-04-24 15:23:39 +00:00
hotyue
8a61f518f5 fix(agent): 移除 awk 暴力裁剪引发的 UTF-8 中文多字节劈裂乱码 Bug 2026-04-24 15:13:14 +00:00
hotyue
e9d5023263 fix: 紧急重构态势感知入库链路,引入交互式 [存档] 按钮,彻底解决 TG API 消息监听死锁 2026-04-24 15:06:02 +00:00
hotyue
05b1e21bba fix(master): 紧急修复 tr 命令语法死锁,并彻底解决态势感知面板的 URL-encoded 换行排版问题 2026-04-24 14:53:38 +00:00
hotyue
4a496fdab3 fix(master): 紧急修复 tr 命令中单引号转义引发的 Bash 语法崩溃死锁 2026-04-24 14:46:23 +00:00
hotyue
8ae3a6534d feat: 🚀 跃升至 v4.0.2,全面重构 IP 质量态势感知矩阵,新增 Google 与 ChatGPT 历史轨迹追踪 2026-04-24 14:36:36 +00:00
hotyue
3269376c94 fix(agent): 彻底重构探针参数装配机制,完美兼容多IP站群并补回尾部直达链接所需IP变量 2026-04-24 14:01:20 +00:00
hotyue
7a92de4d62 fix(agent): 重构探针参数装配机制,完美兼容多IP站群路由绑定与 NAT 容灾,并修复底部 Scamalytics 链接的变量丢失问题 2026-04-24 13:47:10 +00:00
hotyue
5fbc1e3fb3 fix(agent): 修复 NAT 架构下强制绑定出口导致探针崩溃的死锁,注入 -f 标志输出完整明文 IP,并规范化面板术语 2026-04-24 13:36:11 +00:00
hotyue
d73c3154f9 feat(agent): 丰富深海声呐战报,底部追加探针引擎的运行时版本号与情报生成时间戳 2026-04-24 12:29:54 +00:00
129 changed files with 18760 additions and 8323 deletions

View File

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

102
.github/workflows/star_history.yml vendored Normal file
View File

@@ -0,0 +1,102 @@
name: Generate Star History
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Generate Star History SVG (Pure Local)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 -m venv venv
source venv/bin/activate
pip install matplotlib requests
python3 - <<'PYEOF'
import requests, os
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
token = os.environ['GITHUB_TOKEN']
repo = '${{ github.repository }}'
headers = {'Authorization': f'Bearer {token}', 'Accept': 'application/vnd.github.v3.star+json'}
url = f'https://api.github.com/repos/{repo}/stargazers?per_page=100'
dates = []
while url:
r = requests.get(url, headers=headers)
if r.status_code != 200:
break
data = r.json()
if not data:
break
for star in data:
if 'starred_at' in star:
dates.append(datetime.strptime(star['starred_at'], '%Y-%m-%dT%H:%M:%SZ'))
url = r.links.get('next', {}).get('url')
if dates:
dates.sort()
counts = list(range(1, len(dates) + 1))
dates.append(datetime.utcnow())
counts.append(counts[-1])
# ==========================================
# [视觉升级] 注入 GitHub 官方暗黑模式 UI 规范
# ==========================================
bg_color = '#0d1117' # GitHub 暗黑底色
text_color = '#c9d1d9' # GitHub 亮灰字体
grid_color = '#30363d' # GitHub 边框网格色
line_color = '#2ea44f' # GitHub 经典成功绿
fig, ax = plt.subplots(figsize=(10, 5), facecolor=bg_color)
ax.set_facecolor(bg_color)
# 设置字体颜色与坐标轴颜色
ax.tick_params(colors=text_color)
ax.xaxis.label.set_color(text_color)
ax.yaxis.label.set_color(text_color)
ax.title.set_color(text_color)
# 设置边框颜色
for spine in ax.spines.values():
spine.set_edgecolor(grid_color)
# 绘制核心趋势线与阴影填充
plt.plot(dates, counts, color=line_color, linewidth=2)
plt.fill_between(dates, counts, color=line_color, alpha=0.1)
plt.title(f'{repo} Star History', fontsize=16, color=text_color, pad=15)
plt.ylabel('Stars', fontsize=12, color=text_color)
# 设置网格虚线
plt.grid(True, linestyle='--', alpha=0.5, color=grid_color)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gcf().autofmt_xdate()
plt.tight_layout()
os.makedirs('data', exist_ok=True)
# 强制应用背景色,关闭透明度,打破隐形诅咒
plt.savefig('data/star_history.svg', format='svg', facecolor=bg_color, transparent=False)
print("✅ [Success] 极客暗黑风 SVG 渲染完毕!")
PYEOF
- name: Commit & Push Changes
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add data/star_history.svg
git commit -m "style: 修复暗黑模式下坐标轴隐形问题,采用 GitHub 原生深色主题渲染图表" || exit 0
git push origin main

View File

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

View File

@@ -5,6 +5,7 @@
![License](https://img.shields.io/github/license/hotyue/IP-Sentinel)
> **一个极度轻量、零感知、支持中枢遥控的 VPS IP 自动化养护与区域纠偏引擎。**
> **💡 提示:如果本项目提升了您的节点稳定性,请点击右上角点亮 🌟 Star您的支持是我们持续研发和维护指纹库的核心动力。**
📢 官方战术交流频道: 🛰️ [IP-Sentinel Matrix](https://t.me/IP_Sentinel_Matrix)
@@ -12,34 +13,35 @@
## ✨ 核心极客特性 (Core Architecture)
- 📊 **深海声呐全维探针 (Deep Sea Sonar v4.0)**:内嵌强效正则清洗的 JSON 提取引擎,异步生成情报级 IP 质量战报。聚合 Scamalytics、AbuseIPDB 等五大权威防欺诈库,精准嗅探代理/VPN特征、25端口封堵情况及原生流媒体Netflix/Disney+/TikTok等解锁状态,并自带 Google “送中”高危预警与基于 SQLite 的历史污染趋势追踪图谱。
-**无损高并发引擎 (WAL Concurrency)**:司令部 SQLite 数据库全面激活 `WAL` (Write-Ahead Logging) 模式与毫秒级排队削峰算法。即使您同时对 500 台边缘节点发起全军总攻,也能完美规避 `database is locked` 与 Telegram `429` 频率拦截,实现 100% 战报送达
- 🪶 **抽脂级极简部署 (Zero-Bloat Native)**:全栈剔除 `pip``flask` 等臃肿第三方依赖,完全基于 Python3 原生标准库运行。安装底层强制注入 `--no-install-recommends` 防捆绑参数。无论是 128MB 内存的极简 NAT 小鸡,还是 Alpine/Arch Linux 特种系统,均可如丝般顺滑运行
- 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**[v3.6.1 重构] 引入扁平化 L0-L3 四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持在统一哨兵终端进行原位丝滑重绘 (In-place UI Edit),实现毫秒级模块热启停与日志抓取,彻底告别刷屏烦恼
- 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**中枢大脑可在此面板自我抛出幽灵进程进行免交互直装覆盖,实现真正的全栈去 SSH 化运维。
- 🛡️ **SSOT 溯源与热更新装甲 (Smooth Upgrade Engine)**:全系脚本彻底消灭硬编码,部署时动态抓取云端版本信标。自带状态机嗅探逻辑与防撞甲探测,即使是手动在终端运行安装,也仅需回车瞬间完成配置继承、数据同步与无损换代
- 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**守护版图横跨亚欧美三大洲。接入 GitHub Actions 云端流水线,每日静默同步全球各大区当日 Google 真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。
- 👻 **资产持久化与错峰调度 (Hash-Seeded Persona)**:摒弃随机抽取指纹,基于节点物理 IP 哈希永久锁定 3 个绝对专属设备,完美构建高权重真实家庭内网画像。叠加按需智能分频与随机防并发休眠,化解“惊群效应”。
- 🖧 **底层路由死锁与高精度探针 (Hard-Bind Routing)**:底层探测引擎强力接管 curl 核心参数 (`--interface`),将发出的每一滴伪装流量死死绑定在物理网卡或隧道 IP 上。配合多级 ISP 容灾链路,彻底杜绝双栈环境下的流量溢出与 API 误判
- 📊 **深海声呐全维探针 (Deep Sea Sonar)**:内嵌强效正则去污的 JSON 提取引擎,无损展现免掩码的真实 IP 报。聚合 Scamalytics、AbuseIPDB 等五大权威防欺诈库,精准嗅探代理/VPN特征、25端口及流媒体原生解锁状态,并自带 Google “送中”高危预警与污染趋势图谱。
-**无损高并发引擎 (WAL Concurrency)**:司令部 SQLite 数据库全面激活 `WAL` (Write-Ahead Logging) 模式与毫秒级排队算法。即使对 500 台边缘节点发起全军总攻,也能完美规避 `database is locked` 与 Telegram `429` 拦截
- 🪶 **模块化极简部署 (Modular & Zero-Bloat)**:全栈剔除第三方依赖,基于 Python3 原生标准库运行。安装入口采用高内聚低耦合的引导层架构Bootstrapper配合 `bash -c` 纯净挂载,全面适配 Debian/Alpine/CentOS 等全系 Linux杜绝管道流污染
- 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**引入扁平化四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持原位丝滑重绘 (In-place UI Edit) 与二次高危确认Secondary Confirmation实现毫秒级模块热启停与跨地域深海声呐投放
- 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**,实现真正的全栈去 SSH 化运维。
- 🛡️ **自动化防线操纵 (Autopilot Firewalls)**安装与卸载阶段自动嗅探底层组件UFW / Firewalld / iptables / ip6tables实施双栈IPv4 & IPv6冗余通道的自动化放行与闭环抹杀全程零敞露
- 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**:接入 GitHub Actions 云端兵工厂,每日静默同步全球各大区真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。
- 👻 **绝对时空对齐与高频错峰 (UTC-Seeded Scheduling)**:全栈强制接管底层时钟为**绝对 UTC 时间**。全舰队以 **20 分钟 (每日 72 次)** 的极高密度进行养护巡逻,叠加基于部署锚点的天然削峰与随机防并发休眠,完美化解十万级集群的“惊群效应”。
- 🖧 **三级容灾架构与智能多宿主 (Multi-IP Fallback)**:底层引擎强力接管发包参数 (`--interface`) 并双重过滤 WARP/TUN 等假公网环境。创新引入三级阶梯脱壳与多宿主弹匣装填,彻底杜绝探针假死与流媒体失明误报
**—— 💎 骨干基建特征 ——**
- 🏭 **自动化指纹兵工厂**:依托 GitHub Actions CI/CD 流水线,每月 1 日无人值守锻造 4000+ 带绝对物理分区的真实终端设备数据
- 🏭 **自动云端军工厂 (CI/CD Data Factory)**:依托 GitHub Actions 构建双轨无人值守流水线。**每月 1 日**批量锻造 4000+ 带绝对物理分区的原生终端指纹库;**每日凌晨 (UTC)** 实时抓取全球各战区 Google 真实热搜榜单与本土骨干新闻 RSS。为前线舰队源源不断地输送最鲜活的伪装弹药
- 🔒 **叹息之墙 (Zero-Trust HMAC)**:底层通讯引入 时间戳 + HMAC-SHA256 军用级动态签名。指令有效期仅 60 秒(阅后即焚),未授权请求直接触发系统级 403 物理熔断,彻底免疫中间人抓包与重放攻击。
- ☁️ **云端中枢 (Public Master)**:官方公共机器人 [@OmniBeacon_bot](https://t.me/OmniBeacon_bot) ,新手免自建,一键接入极速入伍!同时支持硬核极客私有化 SQLite 分布式部署。
- 👁️‍🗨️ **玻璃房透明遥测 (Glasshouse)**:基于 Cloudflare Workers 的全透明计数中枢,绝对零隐私收集,仅作原子累加,底层网关源码全开源。
## 📂 项目架构 (Monorepo)
## 📂 项目架构 (Modular Monorepo)
本项目采用企业级的“主从控制”与“冷热数据分离”双重架构:
本项目已迈入 v4.3.0 现代工程时代,采用高内聚的模块化与“冷热数据分离”双重架构:
```text
📦 IP-Sentinel
┣ 📂 .github/workflows/ # 🏭 自动化兵工厂:每月定时触发指纹生成的 CI/CD 流水线
┣ 📂 master/ # 🧠 司令部SQLite 存储 (含 ip_trend_log 趋势跟踪表)、TG 监听与 Webhook 调度
📂 core/ # 🛡️ 边缘哨兵Webhook 被动监听、哈希锚定执行引擎 (集成深海声呐探测模块)
┣ 📂 scripts/ # 🐍 兵工厂引擎:基于 Python 的多物理分区 UA 生成器
┣ 📂 install/ # 🧩 [v4.3.0] 安装期编排引擎:模块化解耦的环境判定、交互层与网络防线
📜 install.sh # 🚀 Agent 引导程序:以防污染单行指令调用下层模块
┣ 📂 master/ # 🧠 司令部SQLite 存储、TG 监听与 Webhook 调度 (含专属引导程序)
┣ 📂 core/ # 🛡️ 边缘哨兵Webhook 守护进程、多维交叉探针与原子养护循环
┣ 📂 scripts/ # 🐍 兵工厂引擎:基于 Python 的多物理分区 UA 与热搜词生成器
┣ 📂 data/ # 🗂️ 全球数据规则库 (动态拓扑)
┃ ┣ 📜 map.json # 🌍 全球区域大脑 (v3.5.0 大洲战区拓扑)
┃ ┣ 📜 map.json # 🌍 全球区域大脑 (战区拓扑引擎)
┃ ┣ 📂 regions/ # 🧊 冷数据:按 [国家/省州/城市] 深度细分的 LBS 锚点
┃ ┣ 📂 keywords/ # 🔥 热数据:按国家归类的动态搜索词库 (OTA 自动更新)
┃ ┗ 📜 user_agents.txt # 🔥 热数据:由兵工厂每月锻造的绝对坐标专属设备库
@@ -49,6 +51,7 @@
## 🚀 极速部署 (Quick Start)
> 🛡️ **跨平台装甲支持**Debian / Ubuntu / CentOS / RHEL / Alpine Linux / Arch Linux
⚠️ 指令规范:全系统已升级为防污染内存加载。请严格复制下方完整指令,切勿使用 curl | bash 以防中断!
系统现提供两种接入模式,请根据您的战术需求选择:
### 🔹 模式 A私有独立模式 (全自主、强烈推荐)
@@ -56,26 +59,29 @@
> ☢️ **核按钮系统已就绪**:采用私有部署,您将解锁 **OTA 远程静默升级** 权限!所有私有前线节点均可通过您的 TG 面板实现一键全网代码热重载换代!
- **部署 Master (中枢大脑)**:找一台 VPS 作为司令部(仅需部署一台),执行:
- **部署 Master (中枢大脑)**:找一台 VPS 作为司令部(仅需部署一台,可以与Agent装在同一台VPS),执行:
- [官方部署教程](https://blog.iot-architect.com/engineering-practice/ip-sentinel-master-deployment-guide/)
```bash
curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/master/install_master.sh -o /tmp/ins_master.sh && sudo bash /tmp/ins_master.sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/master/install_master.sh)"
```
- 部署 Agent (边缘哨兵):在需要养护的机器上执行 Agent 脚本,安装时选择私有独立中枢,并分别输入您自建机器人的 [Token](https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather) 以及您的个人 [Chat ID](https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot)
- [官方部署教程](https://blog.iot-architect.com/engineering-practice/ip-sentinel-installation-and-upgrade-guide/)
```Bash
curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh -o /tmp/ins_agent.sh && sudo bash /tmp/ins_agent.sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/install.sh)"
```
- 激活节点:安装完成后,您的手机会收到一条 #REGISTER# 注册暗号,将其转发给您自己的机器人即可完成编队入库。
### 🔸 模式 B官方公共模式 (最简体验)
适合不想折腾、只想快速体验养护效果的新兵。
> ☢️ **核按钮系统已阉割**采用官方BOT您将失去 **OTA 远程静默升级** 权限所有私有前线节点只能通过SSH登录进行更新换代
- 关注机器人:在 TG 中关注官方安全网关 [@OmniBeacon_bot](https://t.me/OmniBeacon_bot) 并发送 /start。
- 部署 Agent在目标 VPS 上执行以下指令,安装过程中选择官方公共网关,并输入您的 Chat ID
- [官方部署教程](https://blog.iot-architect.com/engineering-practice/deploy-ip-sentinel-official-gateway/)
```Bash
curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh -o /tmp/ins_agent.sh && sudo bash /tmp/ins_agent.sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/install.sh)"
```
- 激活节点:同上,将收到的暗号转发给官方机器人即可。
@@ -92,7 +98,7 @@ curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/instal
### 💻 方式二SSH 终端平滑直装 (适用于官方网关或老旧节点)
如果您的节点不支持 OTA或者您的节点版本过于陈旧 (如 v3.3.1)
- 登录该节点的 SSH 终端,再次运行上面的 core/install.sh 官方安装指令。
- 登录该节点的 SSH 终端,再次运行上面的 bash -c 官方单行安装指令。
- 安装引擎自带状态机嗅探逻辑它会自动读取老旧数据您只需一路回车3 秒即可在本地完成配置继承、数据同步与新内核的无损覆盖热重载!
@@ -128,6 +134,9 @@ bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/legacy/core
如果你想为项目增加新的节点区域(例如德国、英国、大洋洲等),或者提供更丰富的本土化搜索词库,非常欢迎提交 Pull Request
> - 感谢 @xykt 本项目IP质量检测采用[xykt/IPQuality](https://github.com/xykt/IPQuality) 脚本!
**💡 全球节点贡献规范:**
1.`data/regions/国家代码/省州代码/` 目录下新增对应城市的配置 `.json`
2.`data/keywords/` 目录下新增或完善配套国家的词库 `kw_XX.txt`
@@ -144,5 +153,5 @@ bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/legacy/core
如果你觉得这个项目对你有帮助,欢迎关注我的个人博客,我会定期分享技术教程。
## Stargazers over time
[![Stargazers over time](https://starchart.cc/hotyue/IP-Sentinel.svg?variant=adaptive)](https://starchart.cc/hotyue/IP-Sentinel)
### 📈 Stargazers over time
![Star History](https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/data/star_history.svg?v=1)

View File

@@ -1,8 +1,8 @@
#!/bin/bash
# ==========================================================
# 脚本名称: agent_daemon.sh (受控节点 Webhook 守护进程 - 动态锚点版)
# 核心功能: 智能防打扰注册、进程自检、模块级路由分发(403拦截)
# 脚本名称: agent_daemon.sh
# 核心功能: TLS 隧道构建、HMAC 动态鉴权、防重放攻击、模块级零信任路由
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
@@ -12,23 +12,26 @@ IP_CACHE="${INSTALL_DIR}/core/.last_ip"
[ ! -f "$CONFIG_FILE" ] && exit 1
source "$CONFIG_FILE"
# 如果没有配置 TG说明未开启联控模式直接退出
# [战术核心] 若未配置司令部凭证,则判定为单机运行模式,主动进入休眠
[ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ] && exit 0
# 默认 Webhook 监听端口
AGENT_PORT=${AGENT_PORT:-9527}
# [v3.5.2 核心] 载入不可变主键与可变展示名 (双轨身份)
# ----------------------------------------------------------
# [身份锚定] 载入不可变主键与展示别名 (双轨身份映射)
# ----------------------------------------------------------
if [ -z "$NODE_NAME" ]; then
IP_HASH=$(echo "${PUBLIC_IP:-127.0.0.1}" | md5sum | cut -c 1-4 | tr 'a-z' 'A-Z')
NODE_NAME="$(hostname | tr -cd 'a-zA-Z0-9' | cut -c 1-10)-${IP_HASH}"
fi
NODE_ALIAS="${NODE_ALIAS:-$NODE_NAME}"
# 1. 尝试获取实时公网 IP
# ----------------------------------------------------------
# [网络侦测] 实时公网 IP 嗅探与静默状态更新
# ----------------------------------------------------------
RAW_IP=$(curl -${IP_PREF:-4} -s -m 5 api.ip.sb/ip | tr -d '[:space:]')
# [v3.3.1 修改] 为新获取到的 v6 自动方括号;如果网络波动没抓到,强制信任本地 config 中的公网面孔
# [防线/容灾] 为 IPv6 自动装载方括号护甲API 失效时退回静态配置锚点
if [ -n "$RAW_IP" ]; then
if [[ "$RAW_IP" == *":"* ]] && [[ "$RAW_IP" != *"["* ]]; then
AGENT_IP="[${RAW_IP}]"
@@ -40,29 +43,39 @@ else
fi
if [ -n "$AGENT_IP" ]; then
# --- [重点升级 2: 智能防打扰注册机制] ---
LAST_IP=""
[ -f "$IP_CACHE" ] && LAST_IP=$(cat "$IP_CACHE" | tr -d '[:space:]')
# 只有当这是第一次运行,或者公网 IP 发生变动时,才发送 Telegram 申请
if [ "$AGENT_IP" != "$LAST_IP" ]; then
# [v3.6.0 核心修复] 携带 7 字段身份发起注册申请 (追加 ENABLE_OTA防止 IP 变动重新注册时丢失 OTA 权限)
REG_MSG="👋 **[边缘节点接入申请]**%0A大区: \`${REGION_CODE}\`%0A节点: \`${NODE_ALIAS}\`%0A地址: \`${AGENT_IP}:${AGENT_PORT}\`%0A%0A⚠ **安全验证**: 为防止非法节点接入,请长按复制下方代码,并**发送给我**以完成最终授权录入:%0A%0A\`#REGISTER#|${REGION_CODE}|${NODE_NAME}|${AGENT_IP}|${AGENT_PORT}|${NODE_ALIAS}|${ENABLE_OTA:-false}\`"
curl -s -m 5 -X POST "${TG_API_URL}" \
-d "chat_id=${CHAT_ID}" \
-d "text=${REG_MSG}" \
-d "parse_mode=Markdown" > /dev/null
echo "✅ [Agent] 已向司令部发送接入申请,请在 Telegram 手机端完成授权!"
# [底层交互] 仅执行本地缓存重写,切除高频发信逻辑,保持静默侦听
echo "$AGENT_IP" > "$IP_CACHE"
echo " [Agent] 发现本地 IP 变动,已静默更新缓存: $AGENT_IP"
else
echo " [Agent] IP 未变动 ($AGENT_IP)跳过重复注册申请"
echo " [Agent] IP 未变动 ($AGENT_IP)继续后台静默监听"
fi
fi
# ================== [v3.6.3 新增: 自动生成自签名 TLS 加密证书] ==================
# [修复] 彻底废除官方网关免 TLS 的裸奔逻辑,全网强制生成证书装甲
# [v4.2.2 终极架构] 彻底剥离 Bash 对底层网络栈的干预,将控制权全权移交 Python 全域引擎
echo "🌐 [Agent] 底层网络栈已解锁,准备切入全域双栈监听模式 (Dual-Stack Universal Bind)"
# ==========================================================
# [加密通信] 强制构建自签名 TLS 装甲,屏蔽中间人嗅探
# ==========================================================
CERT_FILE="${INSTALL_DIR}/core/cert.pem"
KEY_FILE="${INSTALL_DIR}/core/key.pem"
# [v4.2.2 热修复] 检查证书是否过于陈旧,若是则强制销毁重铸 (保障平滑升级的 TLS 健康)
if [ -f "$CERT_FILE" ]; then
CERT_DATE=$(openssl x509 -noout -startdate -in "$CERT_FILE" 2>/dev/null | cut -d= -f2)
if [[ -n "$CERT_DATE" ]]; then
CERT_EPOCH=$(date -d "$CERT_DATE" +%s 2>/dev/null || echo 0)
V422_EPOCH=$(date -d "2026-05-31" +%s 2>/dev/null || echo 1780185600)
if [ "$CERT_EPOCH" -lt "$V422_EPOCH" ]; then
echo "🧹 [Agent] 侦测到旧版 (v4.2.2 前) 遗留 TLS 装甲,正在执行强制物理销毁..."
rm -f "$CERT_FILE" "$KEY_FILE"
fi
fi
fi
CERT_FILE="${INSTALL_DIR}/core/cert.pem"
KEY_FILE="${INSTALL_DIR}/core/key.pem"
if [ ! -f "$CERT_FILE" ] || [ ! -f "$KEY_FILE" ]; then
@@ -71,9 +84,10 @@ if [ ! -f "$CERT_FILE" ] || [ ! -f "$KEY_FILE" ]; then
-keyout "$KEY_FILE" -out "$CERT_FILE" \
-subj "/C=US/O=IP-Sentinel/CN=Agent-Sec" >/dev/null 2>&1 || true
fi
# ==============================================================================
# 3. 启动轻量级 Python3 Webhook 监听服务 (v3.0.4 动态 HMAC 签名防重放)
# ==========================================================
# [引擎核心] Python3 高并发 Webhook 侦听与路由枢纽
# ==========================================================
cat > "${INSTALL_DIR}/core/webhook.py" << 'EOF'
import http.server
import socketserver
@@ -81,26 +95,26 @@ import subprocess
import sys
import os
import html
# ================== [v3.0.4 新增密码学与解析依赖] ==================
import urllib.parse
import urllib.request
import hmac
import hashlib
import time
# ====================================================================
PORT = int(sys.argv[1])
# 🛡️ 防重放攻击 (Nonce 缓存池)
# ----------------------------------------------------------
# [防御矩阵] Nonce 缓存池防重放攻击 (Replay Attack)
# ----------------------------------------------------------
USED_SIGNS = {}
def clean_used_signs():
now = time.time()
# 清理过期签名 (超 60的安全窗口)
# [安全策略] 滑动清理超 65过期签名,保障内存健康
expired = [s for s, t in USED_SIGNS.items() if now - t > 65]
for s in expired:
del USED_SIGNS[s]
# 🛡️ 提取全局鉴权 Token (利用 CHAT_ID 作为 PSK 预共享密钥)
# [权限鉴权] 提取 CHAT_ID 作为 PSK 预共享密钥
AUTH_TOKEN = ""
if os.path.exists('/opt/ip_sentinel/config.conf'):
with open('/opt/ip_sentinel/config.conf', 'r') as f:
@@ -112,7 +126,7 @@ if os.path.exists('/opt/ip_sentinel/config.conf'):
class AgentHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
# 🛡️ [v3.0.4 核心] URL 解析与动态 HMAC-SHA256 签名
# [权限校验] 路径解析与 HMAC-SHA256 动态签名
parsed = urllib.parse.urlparse(self.path)
req_path = parsed.path
@@ -121,7 +135,6 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
req_t = query.get('t', [''])[0]
req_sign = query.get('sign', [''])[0]
# 校验 1参数是否齐全
if not req_t or not req_sign:
self.send_response(401)
self.end_headers()
@@ -130,7 +143,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
try:
current_time = int(time.time())
# 校验 2时间戳防重放 (误差 ±60秒 内有效,拒绝隔夜抓包重放)
# [防重放 1] 校验时间戳防偏离 (±60秒窗口免疫隔夜抓包重放)
if abs(current_time - int(req_t)) > 60:
self.send_response(401)
self.end_headers()
@@ -141,7 +154,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.end_headers()
return
# 校验 2.5:基于 60秒 窗口的精确重放拦截 (拦截 MITM 并发洗劫)
# [防重放 2] Nonce 精确核对 (拦截 60 秒内的 MITM 并发重放洗劫)
clean_used_signs()
if req_sign in USED_SIGNS:
self.send_response(401)
@@ -149,21 +162,22 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.wfile.write(b"401 Unauthorized: Replay Attack Detected\n")
return
# 校验 3HMAC 数据完整性与身份合法性校验
# [身份核验] 数据完整性校验,使用 compare_digest 免疫时序探测攻击
msg = f"{req_path}:{req_t}".encode('utf-8')
expected_sign = hmac.new(AUTH_TOKEN.encode('utf-8'), msg, hashlib.sha256).hexdigest()
# 使用 compare_digest 防御时序攻击
if not hmac.compare_digest(expected_sign, req_sign):
self.send_response(401)
self.end_headers()
self.wfile.write(b"401 Unauthorized: Signature Mismatch\n")
return
# 鉴权通过,记录该签名至防重放内存池
# 鉴权通过,登记 Nonce 载荷
USED_SIGNS[req_sign] = current_time
# ================== 路由分发 (恢复为安全的精确匹配) ==================
# ==========================================================
# [指令分发] 模块级业务路由矩阵 (精确匹配策略)
# ==========================================================
# 路由 0: 全局统筹调度
if req_path == '/trigger_run':
@@ -177,7 +191,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.send_response(404)
self.end_headers()
# 路由 1: Google 区域纠偏
# 路由 1: Google 区域纠偏探测
elif req_path == '/trigger_google':
if os.path.exists('/opt/ip_sentinel/core/mod_google.sh'):
self.send_response(200)
@@ -191,7 +205,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.end_headers()
self.wfile.write(b"403 Forbidden: Google Module Disabled\n")
# 路由 2: IP 信用净化
# 路由 2: IP 信用数据清洗
elif req_path == '/trigger_trust':
if os.path.exists('/opt/ip_sentinel/core/mod_trust.sh'):
self.send_response(200)
@@ -205,7 +219,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.end_headers()
self.wfile.write(b"403 Forbidden: Trust Module Disabled\n")
# 路由 3: 触发战报推送
# 路由 3: 触发异步战报生成
elif req_path == '/trigger_report':
self.send_response(200)
self.send_header("Content-type", "text/plain")
@@ -213,7 +227,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.wfile.write(b"Action Accepted: tg_report\n")
os.system("nohup bash /opt/ip_sentinel/core/tg_report.sh >/dev/null 2>&1 &")
# 路由 4: 取并回传实时日志
# 路由 4: 取并回传实时日志切片
elif req_path == '/trigger_log':
self.send_response(200)
self.send_header("Content-type", "text/plain")
@@ -238,30 +252,39 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
if lines:
log_data = html.escape("".join(lines[-15:]))
# [v3.5.2 核心] 获取版本与节点展示别名
# 动态提取终端状态以构建回传信息
local_ver = config.get('AGENT_VERSION', '未知')
node_alias = config.get('NODE_ALIAS', config.get('NODE_NAME', 'Unknown-Node'))
text_msg = f"📄 <b>[{node_alias}] 实时日志 (v{local_ver}):</b>\n<pre><code>{log_data}</code></pre>"
data = urllib.parse.urlencode({
# [交互反馈] 构建内联 JSON Payload 回调指令
import json
node_name_cb = config.get('NODE_NAME', 'Unknown')
payload = {
'chat_id': config.get('CHAT_ID', ''),
'text': text_msg,
'parse_mode': 'HTML'
}).encode('utf-8')
'parse_mode': 'HTML',
'reply_markup': {
'inline_keyboard': [[{'text': '⚙️ 调出该节点控制台', 'callback_data': f'manage:{node_name_cb}'}]]
}
}
data = json.dumps(payload).encode('utf-8')
req = urllib.request.Request(
config.get('TG_API_URL', ''),
data=data,
# [动态化] 彻底消灭硬编码,使用运行态版本号
headers={'User-Agent': f'IP-Sentinel-Agent/{local_ver}'}
headers={
'User-Agent': f'IP-Sentinel-Agent/{local_ver}',
'Content-Type': 'application/json'
}
)
urllib.request.urlopen(req, timeout=10)
except Exception as e:
print(f"Log transmission failed: {e}")
# ================== [v4.0.0 新增: 触发深海声呐] ==================
# 路由 5: 深海声呐模块触发
elif req_path == '/trigger_quality':
self.send_response(200)
self.send_header("Content-type", "text/plain")
@@ -270,10 +293,8 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
if os.path.exists('/opt/ip_sentinel/core/mod_quality.sh'):
os.system("nohup bash /opt/ip_sentinel/core/mod_quality.sh >/dev/null 2>&1 &")
# =================================================================
# 路由 5: 节点重命名展示别名同步接口 (Base64 终极防御版)
# 路由 6: 节点展示别名热修改 (全量 WAF 防护)
elif req_path == '/trigger_rename':
b64_alias = query.get('b64', [''])[0]
if not b64_alias:
@@ -285,19 +306,19 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
import re
import base64
try:
# 1. 还原 URL 安全 Base64 字符并解码 (杜绝乱码与 WAF 拦截)
# [防线/容灾] 还原安全 Base64 编码,屏蔽乱码级注入风险
pad = len(b64_alias) % 4
if pad > 0:
b64_alias += '=' * (4 - pad)
b64_alias = b64_alias.replace('-', '+').replace('_', '/')
raw_alias = base64.b64decode(b64_alias).decode('utf-8', errors='ignore')
# 2. 强清洗:杜绝 TG Markdown 崩溃严格限制中英数最大20字符
# 强格式清洗:剔除潜在非法字符,保护 TG 面板不被恶意解析撑爆
decoded_alias = raw_alias.replace('_', '-')
safe_alias = re.sub(r'[^a-zA-Z0-9\-\u4e00-\u9fa5]', '', decoded_alias)[:20]
if safe_alias:
# 3. 强容错读写 config.conf (引入 fcntl 排他锁与 r+ 模式防并发清空)
# [底层交互] 利用 fcntl 独占锁执行安全写操作,防止并发数据被截断
config_path = '/opt/ip_sentinel/config.conf'
import fcntl
with open(config_path, 'r+', encoding='utf-8', errors='ignore') as f:
@@ -319,7 +340,6 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
f.truncate()
fcntl.flock(f, fcntl.LOCK_UN)
# [v3.5.2 极致丝滑] 移除向 TG 推送冗余报文的逻辑,直接向 Master 回执成功状态即可
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.end_headers()
@@ -335,7 +355,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.end_headers()
self.wfile.write(b"400 Bad Request: Invalid Characters\n")
# ================== [v3.5.3 新增: 模块动态启停接口] ==================
# 路由 7: 功能模块动态起停 (Feature Flag API)
elif req_path == '/trigger_toggle':
mod_name = query.get('mod', [''])[0]
target_state = query.get('state', [''])[0].lower()
@@ -381,10 +401,9 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
self.end_headers()
self.wfile.write(f"500 Internal Error: {str(e)}\n".encode('utf-8'))
# ================== [v3.6.0 新增: 零信任 OTA 远程静默升级路由] ==================
# 路由 8: 零信任 OTA 远程热更新链路
elif req_path == '/trigger_ota':
try:
# 动态读取最新 config 内存态
config_mem = {}
config_path = '/opt/ip_sentinel/config.conf'
if os.path.exists(config_path):
@@ -395,30 +414,28 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
key, val = line.split('=', 1)
config_mem[key] = val.strip('"\'')
# 🛡️ 熔断校验 1: Agent 本地是否开启了 OTA 授权
# [OTA 熔断器 1] 核验 Agent 本地策略是否授予了更新权限
if config_mem.get('ENABLE_OTA', 'false').lower() != 'true':
self.send_response(403)
self.end_headers()
self.wfile.write(b"403 Forbidden: OTA Upgrade Disabled locally\n")
return
# 🛡️ 熔断校验 2: 是否处于官方公共网关下 (强行硬编码拦截)
# [OTA 熔断器 2] 检测官方网关硬编码限制,防范越权投毒
if config_mem.get('TG_TOKEN', '') == 'OFFICIAL_GATEWAY_MODE':
self.send_response(403)
self.end_headers()
self.wfile.write(b"403 Forbidden: OTA strictly disabled under Public Gateway mode\n")
return
# 校验通过,立即返回 200 回执,释放 Master 连接池
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write(b"Action Accepted: trigger_ota\n")
# [修复] 逃逸 Systemd Cgroup并引入 bash -n 语法校验防砖机制
# [防线/容灾] 逃逸 Cgroup 隔离沙盒,并引入前置脚本语法校验防砖
import shutil
import base64
# 动态提取部署时的源地址,废除强制写死 main 分支,保障隔离测试环境
repo_url = "https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
if os.path.exists('/opt/ip_sentinel/core/install.sh'):
with open('/opt/ip_sentinel/core/install.sh', 'r') as f:
@@ -427,15 +444,13 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
repo_url = line.split('=', 1)[1].strip('"\'')
break
# 动态构建报错回执文本 (第一层 Base64 隔离换行与特殊字符)
err_msg = f"❌ **OTA 熔断告警**\n📍 节点: `{config_mem.get('NODE_ALIAS', '未知')}`\n⚠ 原因: 脚本语法校验(bash -n)未通过,下载可能不完整。\n🚀 状态: 升级已取消,节点安全。"
err_msg_b64 = base64.b64encode(err_msg.encode('utf-8')).decode('utf-8')
tg_url = config_mem.get('TG_API_URL', '')
chat_id = config_mem.get('CHAT_ID', '')
# [v3.6.3 究极防御] 采用 Base64 将整个 OTA 执行脚本封装 (第二层隔离)
# 彻底免疫因为 python 变量掺杂引号而导致的 shell 注入或截断
# 将升级逻辑进行 Base64 深层封装,免疫 Popen 或 Systemd 传递带来的指令注入风险
ota_script = f"""
export SILENT_OTA="true"
curl -fsSL {repo_url}/core/install.sh -o /tmp/ota_agent.sh
@@ -449,13 +464,11 @@ fi
"""
ota_script_b64 = base64.b64encode(ota_script.encode('utf-8')).decode('utf-8')
# 安全解包并执行
if shutil.which("systemd-run"):
full_cmd = f"systemd-run --quiet --no-block bash -c \"echo '{ota_script_b64}' | base64 -d | bash\""
else:
full_cmd = f"nohup bash -c \"echo '{ota_script_b64}' | base64 -d | bash\" >/dev/null 2>&1 &"
# 彻底统一为 os.system消灭最后一个可能游离的 Popen 僵尸进程
os.system(full_cmd)
except Exception as e:
@@ -471,12 +484,14 @@ fi
pass
import socket
# ================== [v3.0.3 变更: 引入多线程模型抵抗 Slowloris 攻击] ==================
class ThreadedServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
allow_reuse_address = True # 开启端口复用,防止热重启时端口冲突
# [核心修复] 显式关闭 V6ONLY 参数,治愈大量云主机纯双栈下的 IPv4 耳聋现象
# ----------------------------------------------------------
# [核心架构] 多线程非阻塞 Socket 模型 (抵抗 Slowloris 及阻塞攻击)
# ----------------------------------------------------------
class DualStackServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
allow_reuse_address = True
def server_bind(self):
# [核心魔改] 强行解除 Linux/Unix 的 IPv6 独占锁
# 实现一个 Socket 对象同时接管 IPv4 (0.0.0.0) 和 IPv6 (::) 的全域监听防漏接机制
if self.address_family == socket.AF_INET6:
try:
self.socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
@@ -484,21 +499,27 @@ class ThreadedServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
super().server_bind()
# [v4.2.2 终极架构] 彻底抛弃配置文件的 IP 束缚,强行探测系统底层的双栈能力
bind_addr = "::"
address_family = socket.AF_INET6
try:
# 1. 优先尝试监听双栈/IPv6
ThreadedServer.address_family = socket.AF_INET6
httpd = ThreadedServer(("::", PORT), AgentHandler)
except Exception:
# 2. [核心修复 Issue #23] 若系统内核已禁用 IPv6抛弃报错智能回退至纯 IPv4 监听
ThreadedServer.address_family = socket.AF_INET
httpd = ThreadedServer(("0.0.0.0", PORT), AgentHandler)
# 探针:如果机器是纯 IPv4 (连内核级的 IPv6 模块都没有被加载),强绑 :: 会引发 OSError此时自动降维
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
s.close()
except OSError:
bind_addr = "0.0.0.0"
address_family = socket.AF_INET
# ================== [v3.6.3 核心: 挂载 TLS 加密隧道 (强制装甲版)] ==================
DualStackServer.address_family = address_family
httpd = DualStackServer((bind_addr, PORT), AgentHandler)
# ----------------------------------------------------------
# [加密通信] 强制全网挂载 TLS 加密隧道上下文
# ----------------------------------------------------------
import ssl
cert_path = '/opt/ip_sentinel/core/cert.pem'
key_path = '/opt/ip_sentinel/core/key.pem'
# 全网强制启用 TLS 装甲,彻底消灭 HTTP 裸奔漏洞
if os.path.exists(cert_path) and os.path.exists(key_path):
try:
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
@@ -506,15 +527,12 @@ if os.path.exists(cert_path) and os.path.exists(key_path):
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
except Exception as e:
print(f"SSL 隧道构建失败,退化为 HTTP: {e}")
# ======================================================================================
try:
httpd.serve_forever()
except Exception as e:
sys.exit(1)
# ====================================================================================
EOF
# --- [重点升级 3: 移交系统级守护进程接管 (阻塞模式)] ---
echo "🚀 [Agent] 正在启动 Webhook 监听服务 (端口: $AGENT_PORT)..."
exec python3 "${INSTALL_DIR}/core/webhook.py" "$AGENT_PORT"

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,14 @@
#!/bin/bash
# ==========================================================
# 脚本名称: mod_google.sh (Google 业务逻辑模块 - 动态锚点版)
# 核心功能: 执行坐标微抖动、模拟真实阅读时长、会话行为拉伸
# 脚本名称: mod_google.sh
# 核心功能: 区域网络模拟、行为轨迹拉伸、地理定位锚定
# ==========================================================
MODULE_NAME="Google"
CONFIG_FILE="/opt/ip_sentinel/config.conf"
# 1. 加载冷数据配置
# --- [环境预载] ---
if [ -f "$CONFIG_FILE" ]; then
source "$CONFIG_FILE"
else
@@ -16,24 +16,22 @@ else
exit 1
fi
# 容错机制:如果父进程没有传递 log 函数,则本地定义一个作为 fallback (v3.4.0 引入版本探针)
# [容灾机制] 若宿主环境未注入日志函数,则启动 Fallback 接管
if ! type log >/dev/null 2>&1; then
log() {
# [v3.4.0 核心] 提取当前配置中的版本锚点
# [版本锚定] 提取运行时动态版本标识
local local_ver="${AGENT_VERSION:-未知}"
# 保证日志目录存在
mkdir -p "${INSTALL_DIR}/logs"
# 日志格式注入 [版本号] 追踪标识
# [时区对齐] 强制采用绝对 UTC 时间消除跨域日志偏移
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"
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
logger -t ip-sentinel "$core_msg"
else
# 降级输出到 stdout让 Systemd 捕获
echo "$core_msg"
fi
}
@@ -41,7 +39,7 @@ fi
log "$MODULE_NAME" "START" "========== 唤醒网络模拟器 [区域: $REGION_NAME] =========="
# 2. 动态加载热数据 (设备指纹池 和 专属搜索词库)
# --- [数据装配] ---
UA_FILE="${INSTALL_DIR}/data/user_agents.txt"
KW_FILE="${INSTALL_DIR}/data/keywords/kw_${REGION_CODE}.txt"
@@ -50,11 +48,16 @@ if [ ! -f "$UA_FILE" ] || [ ! -f "$KW_FILE" ]; then
exit 1
fi
# 将文本按行读取到数组中 (并自动过滤空行)
mapfile -t UA_POOL < <(grep -v '^$' "$UA_FILE")
mapfile -t KEYWORDS < <(grep -v '^$' "$KW_FILE")
mapfile -t KEYWORDS < <(grep -v '^[[:space:]]*$' "$KW_FILE")
# --- [工具函数] ---
# [v4.1.5 修复] 防止关键词池为空导致 RANDOM % 0 直接语法崩溃
if [ ${#KEYWORDS[@]} -eq 0 ]; then
log "$MODULE_NAME" "ERROR" "关键词池为空,终止执行。"
exit 1
fi
# --- [辅助运算] ---
get_random_coord() {
local base=$1
local range=$2
@@ -62,60 +65,101 @@ get_random_coord() {
awk "BEGIN {print ($base + $offset)}"
}
# --- [环境初始化] ---
# [v3.3.1修改] 优先读取对外公网面孔作为哈希种子,兼容 NAT 机的空 BIND_IP
# --- [身份画像构建] ---
# [防线提取] 优先捕获固化的公网面孔作为种子
CURRENT_IP="${PUBLIC_IP:-${BIND_IP:-Unknown}}"
# -----------------------------------------------------------
# [V3.1.5] 哈希锚定法 (Hash-Seeded Persona)
# 利用 IP 算力固定 3 个永久化专属指纹,破除僵尸网络同质化特征
# [指纹固化] 哈希锚定法 (Hash-Seeded Persona)
# 基于 IP 算力固定会话指纹池,彻底破除僵尸网络同质化特征
# -----------------------------------------------------------
TOTAL_UA=${#UA_POOL[@]}
if [ "$TOTAL_UA" -gt 0 ]; then
# 1. 以本地锁定的公网 IP 为种子,计算固定不变的 CRC32 哈希值
SEED=$(echo -n "$CURRENT_IP" | cksum | awk '{print $1}')
# 2. 利用确定的种子和质数乘数,在全球 4000 的库中计算出本机的 3 个绝对专属坐标
IDX1=$(( SEED % TOTAL_UA ))
IDX2=$(( (SEED * 17) % TOTAL_UA ))
IDX3=$(( (SEED * 31) % TOTAL_UA ))
# 3. 将绝对坐标映射为该节点的“专属设备库”
MY_UA_POOL=("${UA_POOL[$IDX1]}" "${UA_POOL[$IDX2]}" "${UA_POOL[$IDX3]}")
# 4. 本次会话从这 3 台专属设备中随机挑选 1 台进行模拟
SESSION_UA=${MY_UA_POOL[$RANDOM % 3]}
else
# 兜底容错机制
# [极简兜底] 降维指纹防御崩溃
SESSION_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
fi
# 位置锁定:在基准点(比如东京新宿)附近 3 公里内随机生成本次上网的“固定咖啡馆”坐标
# -----------------------------------------------------------
# [v4.1.4 平台身份提取器 (Persona Mapper)]
# 识别当前指纹的系统平台,杜绝跨平台的底层探针穿帮
# -----------------------------------------------------------
UA_PLATFORM="windows"
if [[ "$SESSION_UA" == *"Android"* ]]; then
UA_PLATFORM="android"
elif [[ "$SESSION_UA" == *"iPhone"* ]] || [[ "$SESSION_UA" == *"iPad"* ]]; then
UA_PLATFORM="ios"
elif [[ "$SESSION_UA" == *"Macintosh"* ]]; then
UA_PLATFORM="macos"
elif [[ "$SESSION_UA" == *"Linux"* ]]; then
UA_PLATFORM="linux"
fi
# [v4.1.5 防御] 坐标缺失直接终止,禁止生成错误地理画像
if ! [[ "$BASE_LAT" =~ ^-?[0-9]+(\.[0-9]+)?$ ]] || \
! [[ "$BASE_LON" =~ ^-?[0-9]+(\.[0-9]+)?$ ]]; then
log "$MODULE_NAME" "ERROR" "区域坐标缺失或非法,拒绝执行本轮会话。"
exit 1
fi
# [LBS 锚定] 在基准战区内生成固定范围内的微抖动咖啡馆坐标
SESSION_BASE_LAT=$(get_random_coord $BASE_LAT 270)
SESSION_BASE_LON=$(get_random_coord $BASE_LON 270)
# 【核心升级】随机决定本次上网深度 (6 - 10 个复合动作,配合高频长效拉伸)
TOTAL_ACTIONS=$((6 + RANDOM % 5))
# 【核心升级】随机决定本次上网深度 (5 - 8 个复合动作,配合高频长效拉伸)
TOTAL_ACTIONS=$((5 + RANDOM % 4))
log "$MODULE_NAME" "INFO " "当前出网 IP: $CURRENT_IP"
log "$MODULE_NAME" "INFO " "设备指纹锁定: ${SESSION_UA:0:45}..."
log "$MODULE_NAME" "INFO " "平台推断: [$UA_PLATFORM] "
log "$MODULE_NAME" "INFO " "虚拟驻留坐标: $SESSION_BASE_LAT, $SESSION_BASE_LON"
# -----------------------------------------------------------
# [V3.2.1 热修复] 网络锚定与协议自适应构建
# 强制 curl 绑定网卡,并自动匹配 IPv4/v6 协议,杜绝 curl 冲突报错
# [v4.1.2] Cookie 持久化身份库 (Google 专属物理隔离)
# 构建真实的 Session 连续性,打破“每分钟失忆”的机器人特征
# -----------------------------------------------------------
CURL_BIND_OPT=""
DYNAMIC_IP_PREF="-${IP_PREF:-4}" # 默认提取用户配置
COOKIE_DIR="${INSTALL_DIR}/data/cookies"
mkdir -p "$COOKIE_DIR"
NODE_HASH=$(echo -n "$CURRENT_IP" | cksum | awk '{print $1}')
COOKIE_FILE="${COOKIE_DIR}/google_${NODE_HASH}.txt"
# [互斥锁] 防止会话重叠导致的 Cookie 文件读写冲突
LOCK_FILE="${COOKIE_FILE}.lock"
exec 200>"$LOCK_FILE"
flock -n 200 || {
log "$MODULE_NAME" "WARN " "检测到已有 Google 会话运行,跳过本轮。"
exit 0
}
# [v4.1.2 磁盘防御] 定期清理超过 14 天的废弃 Cookie防止长期挂机导致 I/O 拥堵
find "$COOKIE_DIR" -type f -name "google_*.txt" -mtime +14 -delete 2>/dev/null || true
log "$MODULE_NAME" "INFO " "Cookie 身份库已挂载: ${COOKIE_FILE}"
# -----------------------------------------------------------
# [网络栈探底] 协议自适应与出站死锁
# -----------------------------------------------------------
CURL_BIND_ARGS=()
DYNAMIC_IP_PREF="-${IP_PREF:-4}"
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
# [v3.6.3 容错层补丁] 探测物理网卡/虚拟 IP 存活状态
# [防线校验] 探测物理网卡存活状态,防 IP 漂移引发通信雪崩
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
if ! ip addr show 2>/dev/null | grep -qw "$RAW_BIND_IP"; then
log "$MODULE_NAME" "WARN " "检测到配置的出口 IP ($RAW_BIND_IP) 已丢失,自动降级为系统默认路由出网!"
CURL_BIND_OPT=""
# [v4.1.5 修复] 使用 -Fq 替代 -qw防止 IPv6 冒号被误认为单词边界导致网卡死锁失效
if ! ip addr show 2>/dev/null | grep -Fq "$RAW_BIND_IP"; then
log "$MODULE_NAME" "WARN " "检测到配置的出口 IP ($RAW_BIND_IP) 已丢失,自动降级为系统默认路由出网!"
CURL_BIND_ARGS=()
else
CURL_BIND_OPT="--interface $BIND_IP"
# 智能探测:带冒号为 V6带点号为 V4
CURL_BIND_ARGS=(--interface "$BIND_IP")
if [[ "$BIND_IP" == *":"* ]]; then
DYNAMIC_IP_PREF="-6"
log "$MODULE_NAME" "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
@@ -126,88 +170,259 @@ if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
fi
fi
# --- [行为循环模拟] ---
# [v4.1.5 修复] 业务域 Referer 隔离池初始化
# 防止出现从 Apple 探针直接跳转到 Google Maps 的反人类机器行为
REF_SEARCH=""
REF_NEWS=""
REF_MAPS=""
REF_ECO=""
# --- [会话漫游模拟] ---
for ((i=1; i<=TOTAL_ACTIONS; i++)); do
# 模拟真实移动设备拿在手里时的 GPS 信号微抖动 (范围约 10 米)
# [LBS 微抖动] 模拟人类手持设备时的 GPS 细微漂移
ACTION_LAT=$(get_random_coord $SESSION_BASE_LAT 1)
ACTION_LON=$(get_random_coord $SESSION_BASE_LON 1)
# 随机抽取一个符合当地特征的热点搜索词
RAND_KEY=${KEYWORDS[$RANDOM % ${#KEYWORDS[@]}]}
ENCODED_KEY=$(echo "$RAND_KEY" | jq -sRr @uri)
RAND_KEY="${KEYWORDS[$((RANDOM % ${#KEYWORDS[@]}))]}"
# [v4.1.6 修复] jq 缺失时自动降级为纯文本编码,防止关键词池熵塌缩
if command -v jq >/dev/null 2>&1; then
ENCODED_KEY=$(printf '%s' "$RAND_KEY" | jq -sRr @uri 2>/dev/null)
else
ENCODED_KEY=$(printf '%s' "$RAND_KEY" | sed 's/ /+/g')
fi
[ -z "$ENCODED_KEY" ] && ENCODED_KEY=$(printf '%s' "$RAND_KEY" | tr ' ' '+')
# 随机选择一种上网行为
ACTION_TYPE=$((1 + RANDOM % 4))
# [v4.1.4] 平台级动作轮盘:基于 UA_PLATFORM 构建专属行为矩阵
ACTION_DICE=$((RANDOM % 100))
TARGET_URL=""
ACTION_LOG=""
if [ "$UA_PLATFORM" == "android" ]; then
if [ $ACTION_DICE -lt 25 ]; then
TARGET_URL="https://www.google.com/search?q=${ENCODED_KEY}&${LANG_PARAMS}"
ACTION_LOG="Search "
elif [ $ACTION_DICE -lt 55 ]; then
TARGET_URL="https://news.google.com/home?${LANG_PARAMS}"
ACTION_LOG="News "
elif [ $ACTION_DICE -lt 85 ]; then
TARGET_URL="https://www.google.com/maps/search/${ENCODED_KEY}/@${ACTION_LAT},${ACTION_LON},17z?${LANG_PARAMS}"
ACTION_LOG="Maps "
else
# Android 专属底层网络探针
TARGET_URL="https://connectivitycheck.gstatic.com/generate_204"
ACTION_LOG="NetTest"
fi
elif [ "$UA_PLATFORM" == "ios" ] || [ "$UA_PLATFORM" == "macos" ]; then
if [ $ACTION_DICE -lt 30 ]; then
TARGET_URL="https://www.google.com/search?q=${ENCODED_KEY}&${LANG_PARAMS}"
ACTION_LOG="Search "
elif [ $ACTION_DICE -lt 65 ]; then
TARGET_URL="https://news.google.com/home?${LANG_PARAMS}"
ACTION_LOG="News "
elif [ $ACTION_DICE -lt 90 ]; then
TARGET_URL="https://www.google.com/maps/search/${ENCODED_KEY}/@${ACTION_LAT},${ACTION_LON},17z?${LANG_PARAMS}"
ACTION_LOG="Maps "
else
# Apple 专属的 Captive Portal 探针,杜绝跨平台穿帮
TARGET_URL="https://captive.apple.com/hotspot-detect.html"
ACTION_LOG="NetTest"
fi
else
# Windows / Linux 专属行为矩阵 (无移动端探针,加入隐私/支持页漫游)
if [ $ACTION_DICE -lt 20 ]; then
TARGET_URL="https://www.google.com/search?q=${ENCODED_KEY}&${LANG_PARAMS}"
ACTION_LOG="Search "
elif [ $ACTION_DICE -lt 60 ]; then
TARGET_URL="https://news.google.com/home?${LANG_PARAMS}"
ACTION_LOG="News "
elif [ $ACTION_DICE -lt 80 ]; then
# 引入桌面端低危生态池漫游
LOW_RISK_ECO=("https://about.google/" "https://safety.google/" "https://support.google.com/?hl=${LANG_ACCEPT%%,*}")
TARGET_URL="${LOW_RISK_ECO[$((RANDOM % ${#LOW_RISK_ECO[@]}))]}"
ACTION_LOG="EcoRoam"
else
TARGET_URL="https://www.google.com/maps/search/${ENCODED_KEY}/@${ACTION_LAT},${ACTION_LON},17z?${LANG_PARAMS}"
ACTION_LOG="Maps "
fi
fi
# [V3.2.1 热修复] 注入 $CURL_BIND_OPT 与 $DYNAMIC_IP_PREF 协议自适应
case $ACTION_TYPE in
1) # 搜索行为
CODE=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 15 -s -L -o /dev/null -w "%{http_code}" -A "$SESSION_UA" \
"https://www.google.com/search?q=${ENCODED_KEY}&${LANG_PARAMS}")
;;
2) # 浏览本土新闻
CODE=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 15 -s -L -o /dev/null -w "%{http_code}" -A "$SESSION_UA" \
"https://news.google.com/home?${LANG_PARAMS}")
;;
3) # 地图坐标查询
CODE=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 15 -s -o /dev/null -w "%{http_code}" -A "$SESSION_UA" \
"https://www.google.com/maps/search/$${ENCODED_KEY}/@${ACTION_LAT},${ACTION_LON},17z?${LANG_PARAMS}")
;;
4) # 触发移动端系统底层位置检测像素
CODE=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -o /dev/null -w "%{http_code}" -A "$SESSION_UA" \
"https://connectivitycheck.gstatic.com/generate_204")
;;
# [v4.1.5 修复] 匹配当前业务对应的 Referer 来源
CTX_REF=""
case "$ACTION_LOG" in
"Search "*) CTX_REF="$REF_SEARCH" ;;
"News "*) CTX_REF="$REF_NEWS" ;;
"Maps "*) CTX_REF="$REF_MAPS" ;;
"EcoRoam"*) CTX_REF="$REF_ECO" ;;
esac
# [v4.1.3 & v4.1.5 修复] 统一执行 curl70% 概率携带同业务域 Referer
if [ -n "$CTX_REF" ] && [ $((RANDOM % 100)) -lt 70 ]; then
CODE=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" -m 15 -s -L -o /dev/null -w "%{http_code}" \
-b "$COOKIE_FILE" -c "$COOKIE_FILE" -A "$SESSION_UA" -H "Referer: $CTX_REF" "$TARGET_URL")
else
CODE=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" -m 15 -s -L -o /dev/null -w "%{http_code}" \
-b "$COOKIE_FILE" -c "$COOKIE_FILE" -A "$SESSION_UA" "$TARGET_URL")
fi
CURL_EXIT=$?
log "$MODULE_NAME" "EXEC " "动作[$i/$TOTAL_ACTIONS]完成 | HTTP状态: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON"
# 错误码精准映射(不破坏原有的 SCORE 送中判定,只让动作日志更清晰)
if [ $CURL_EXIT -ne 0 ]; then
case $CURL_EXIT in
6) CODE="ERR_DNS" ;;
7) CODE="ERR_CONN" ;;
28) CODE="ERR_TIMEOUT" ;;
35) CODE="ERR_TLS" ;;
56) CODE="ERR_RESET" ;;
*) CODE="ERR_${CURL_EXIT}" ;;
esac
log "$MODULE_NAME" "WARN " "动作[$i/$TOTAL_ACTIONS]异常 | 底层错误: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON"
# [v4.1.5] 请求失败,清空当前业务链的 Referer
case "$ACTION_LOG" in
"Search "*) REF_SEARCH="" ;;
"News "*) REF_NEWS="" ;;
"Maps "*) REF_MAPS="" ;;
"EcoRoam"*) REF_ECO="" ;;
esac
else
log "$MODULE_NAME" "EXEC " "动作[$i/$TOTAL_ACTIONS]完成 | HTTP状态: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON"
# [v4.1.5] 请求成功,记录当前 URL 作为同业务下一次跳转的 Referer (2xx 或 3xx 视为有效)
if [[ "$CODE" =~ ^[23] ]]; then
case "$ACTION_LOG" in
"Search "*) REF_SEARCH="$TARGET_URL" ;;
"News "*) REF_NEWS="$TARGET_URL" ;;
"Maps "*) REF_MAPS="$TARGET_URL" ;;
"EcoRoam"*) REF_ECO="$TARGET_URL" ;;
esac
fi
fi
# 【核心升级】行为拉伸:每次动作后强制休眠 90 - 150 秒
# 结合动作总数,总耗时将稳定在 10 分钟 到 25 分钟之间
# 【核心升级】行为拉伸:每次动作后强制休眠 90 - 120 秒
# 结合动作总数,总耗时将稳定在 10 分钟 到 20 分钟之间
if [ $i -lt $TOTAL_ACTIONS ]; then
SLEEP_TIME=$((90 + RANDOM % 61))
# 【时间收敛修复】休眠控制在 45-75 秒,防止跨周期重叠导致进程被强杀
SLEEP_TIME=$((45 + RANDOM % 31))
log "$MODULE_NAME" "WAIT " "阅读当前页面内容,模拟停留 $SLEEP_TIME 秒..."
sleep $SLEEP_TIME
sleep "$SLEEP_TIME"
fi
done
# --- [结果纠偏自检 (V3.2.1 高精度容错版)] ---
# [V3.2.1 热修复] 探针同样应用 $DYNAMIC_IP_PREF 协议自适应
PROBE_RESULT=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 15 -s -L -o /dev/null -w "%{http_code}|%{url_effective}" https://www.google.com)
# -----------------------------------------------------------
# [态势感知] 三核探测雷达 (跳转 / Premium / Music)
# -----------------------------------------------------------
log "$MODULE_NAME" "INFO " "启动三核交叉验证 (URL跳转 + YT Premium + YT Music) 穿透获取 GeoIP..."
# 分离状态码与 URL
PROBE_CODE=$(echo "$PROBE_RESULT" | cut -d'|' -f1)
FINAL_URL=$(echo "$PROBE_RESULT" | cut -d'|' -f2)
# 核心 1: 传统 URL 跳转探测 (请求 www 才能触发准确跳转)
# [v4.1.2] 追加持久化 Cookie
JUMP_HDR=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" -m 10 -sI -b "$COOKIE_FILE" -c "$COOKIE_FILE" "http://www.google.com/")
JUMP_LOC=$(echo "$JUMP_HDR" | grep -i "^location:" | tr -d '\r\n')
JUMP_GL=""
# 0. 致命拦截网络断开、DNS 解析失败或严重超时
if [ "$PROBE_CODE" == "000" ] || [ -z "$FINAL_URL" ]; then
STATUS="🚨 探针失效 (网络阻断或底层路由异常)"
if [ -z "$JUMP_LOC" ]; then
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
# 核心战术:精准提取最终 URL 的域名部分
ACTUAL_DOMAIN=$(echo "$FINAL_URL" | awk -F/ '{print $3}')
# [V3.2.1 优化] 使用通配符 * 剔除任意前缀 (无论是 www.google. 还是 ipv4.google.)
ACTUAL_SUFFIX=${ACTUAL_DOMAIN#*google.}
JUMP_DOMAIN=$(echo "$JUMP_LOC" | grep -o 'google\.[a-z\.]*' | head -n 1 | sed 's/google\.//')
case "$JUMP_DOMAIN" in
"com") JUMP_GL="US" ;;
"com.hk") JUMP_GL="HK" ;;
"com.tw") JUMP_GL="TW" ;;
"co.jp") JUMP_GL="JP" ;;
"co.uk") JUMP_GL="GB" ;;
"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="" ;;
*)
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
# 1. 优先验证:绝对匹配目标后缀 (彻底杜绝 com 包含于 com.hk 的陷阱)
if [ "$ACTUAL_SUFFIX" == "$VALID_URL_SUFFIX" ]; then
STATUS="✅ 目标区域达成 ($ACTUAL_SUFFIX)"
# ==========================================================
# [v4.2.3 修复 - PR #82 剥离探测身份]
# 抛弃模拟人类漫游时使用的混杂老旧 UA 及污染 Cookie
# 强制使用绝对干净且现代的 Windows Chrome UA 发起探针裸请求,
# 确保边缘服务器必定下发完整的 SPA 框架页面,防止 INNERTUBE 提取报错。
# ==========================================================
PROBE_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
# 2. 核心拦截:精准捕捉送中特征 (com.hk)
elif [ "$ACTUAL_SUFFIX" == "com.hk" ]; then
if [ "$REGION_CODE" == "HK" ]; then
STATUS="✅ 目标区域达成 (HK 专属 com.hk)"
extract_yt_gl() {
grep -Eo '"(contentRegion|countryCode|INNERTUBE_CONTEXT_GL|GL)":"[A-Za-z]{2}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z'
}
# 核心 2: YouTube Premium 区域锁嗅探
YT_PR_GL=""
YT_PR_HTML=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" -m 12 -s -L -A "$PROBE_UA" "https://www.youtube.com/premium")
if [[ "$YT_PR_HTML" == *"www.google.cn"* ]]; then
YT_PR_GL="CN"
else
YT_PR_GL=$(printf '%s' "$YT_PR_HTML" | extract_yt_gl)
fi
# 核心 3: YouTube Music 区域锁嗅探
YT_MU_GL=""
YT_MU_HTML=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" -m 12 -s -L -A "$PROBE_UA" "https://music.youtube.com/")
if [[ "$YT_MU_HTML" == *"www.google.cn"* ]]; then
YT_MU_GL="CN"
else
YT_MU_GL=$(printf '%s' "$YT_MU_HTML" | extract_yt_gl)
fi
# [坐标规整] 兼容横杠分割体系,并修正英区缩写
TARGET_CC="${REGION_CODE%%-*}"
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB"
# -----------------------------------------------------------
# [终极审判] 异常过滤与一致性裁决机制
# -----------------------------------------------------------
IS_CN=0
VALID_PROBES=0
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
# [权重仲裁] 以流媒体核心解锁状态为主导,允许基础网段跨国漂移
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
if [ -n "$JUMP_GL" ] && [ "$JUMP_GL" != "$TARGET_CC" ]; then
STATUS="✅ 目标区域达成 (YT主导成功, Jump副雷达漂移至 ${JUMP_GL}) | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-}"
else
STATUS="❌ 严重漂移!判定为送中区 (实际跳往 $ACTUAL_SUFFIX)"
STATUS="✅ 目标区域达成 (Jump: ${JUMP_GL:-} | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-})"
fi
# 3. 宽容处理:遵守 Google 无跳转新规 (严格限定必须是纯粹的 com)
# [视觉优化] 留在 .com 代表 IP 极度纯净未被区域沙盒锁定,计入成功战绩!
elif [ "$ACTUAL_SUFFIX" == "com" ]; then
STATUS="✅ 目标区域达成 (免签停留 .com 通用主站)"
# 4. 跨区漂移:所有预判之外的后缀,全部视为异常
else
STATUS="⚠️ 跨区跳板漂移 (当前实际归属: $ACTUAL_SUFFIX)"
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际 (Jump: ${JUMP_GL:-} | Prem: ${YT_PR_GL:-} | Music: ${YT_MU_GL:-})"
fi
fi

View File

@@ -1,28 +1,108 @@
#!/bin/bash
# ==========================================================
# IP-Sentinel: 深海声呐 (IP 质量全维异步检测模块 v4.0.0)
# IP-Sentinel: 深海声呐 (IP 质量全维异步检测模块)
# 核心功能: 动态路由寻路、第三方 API 容灾获取、流媒体解锁链路剖析
# ==========================================================
source /opt/ip_sentinel/config.conf
TARGET_IP=$(echo "${BIND_IP:-$PUBLIC_IP}" | tr -d '[]')
IP_PROTO="${IP_PREF:-4}"
# ==========================================================
# 1. 动态网络锚定与协议自适应
# 专为多 IP 站群与 NAT 架构设计,确保探针流量精准路由
# ==========================================================
DYNAMIC_IP_PREF="${IP_PREF:-4}"
PROBE_ARGS=("-y" "-j" "-f") # 默认注入: 自动确认、JSON格式、明文无掩码IP
# 1. 静默拉取原始数据 (消除短链接 RCE 劫持风险,收编为本地固化执行)
# [强壮正则] 支持 V4, V6 以及带有 [] 护甲的 V6 寻址
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\[\]\.]+$ ]]; then
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
# 严格探测物理网卡/虚拟 IP 存活状态,防止 IP 漂移导致探针彻底报错
if ip addr show 2>/dev/null | grep -qw "$RAW_BIND_IP"; then
# 挂载原生出网网卡
PROBE_ARGS+=("-i" "$RAW_BIND_IP")
# 智能识别 V4 / V6强制覆盖系统默认的 IP_PREF
if [[ "$RAW_BIND_IP" == *":"* ]]; then
DYNAMIC_IP_PREF="6"
elif [[ "$RAW_BIND_IP" == *"."* ]]; then
DYNAMIC_IP_PREF="4"
fi
fi
fi
# 补齐协议版本参数 (-4 或 -6)
PROBE_ARGS+=("-${DYNAMIC_IP_PREF}")
# ----------------------------------------------------------
# 2. 智能拉取引擎 (防 RCE 与 文件防伪校验)
# ----------------------------------------------------------
PROBE_SCRIPT="/opt/ip_sentinel/core/ip_probe.sh"
if [ ! -x "$PROBE_SCRIPT" ]; then
# 若本地探针尚未就绪,直接从 GitHub 官方主干拉取底层源码,绕过未知域名
curl -sL "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$PROBE_SCRIPT" 2>/dev/null
# [完整性校验] 验证本地残留脚本是否损坏 (防止因被墙或拦截导致本地缓存了无效的 HTML 报错页)
if [ -f "$PROBE_SCRIPT" ] && ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
rm -f "$PROBE_SCRIPT"
fi
if [ ! -s "$PROBE_SCRIPT" ]; then
# [首选防线] 严格遵守从官方主干拉取,捍卫纯净底线
curl -sL -m 10 "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$PROBE_SCRIPT" 2>/dev/null
# [文件防伪校验] 剔除因解析失效返回的污染文本,并降级至双栈 CDN 节点兜底
if ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
rm -f "$PROBE_SCRIPT" 2>/dev/null
curl -sL -m 15 "https://IP.Check.Place" -o "$PROBE_SCRIPT" 2>/dev/null
fi
chmod +x "$PROBE_SCRIPT" 2>/dev/null
fi
# 采用本地执行,彻底封死运行时的外部投毒通道
RAW_OUTPUT=$(timeout 180 bash "$PROBE_SCRIPT" -y -j -${IP_PROTO} -i "${TARGET_IP}" 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. 终极实弹打靶与情报萃取
# ==========================================================
# 确保连通性后执行探测,放宽超时阈值以给予第三方 API 充足响应时间
RAW_OUTPUT=$(timeout 300 bash "$PROBE_SCRIPT" "${FINAL_ARGS[@]}" 2>/dev/null)
JSON_DATA="{${RAW_OUTPUT#*\{}"
# 2. 提取基础物理定位与身份特征 (兼作合法性校验)
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")
IP_ADDR=$(echo "$JSON_DATA" | jq -r '.Head.IP // empty' 2>/dev/null)
if [ -z "$IP_ADDR" ]; then
@@ -36,7 +116,6 @@ if [ -z "$IP_ADDR" ]; then
exit 1
fi
[ -z "$IP_ADDR" ] && IP_ADDR="$PUBLIC_IP"
ASN=$(echo "$JSON_DATA" | jq -r '.Info.ASN // "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)
@@ -44,32 +123,47 @@ COUNTRY=$(echo "$JSON_DATA" | jq -r '.Info.Region.Name // "Unknown"' 2>/dev/null
IP_TYPE=$(echo "$JSON_DATA" | jq -r '.Info.Type // "未知属性"' 2>/dev/null)
USAGE_TYPE=$(echo "$JSON_DATA" | jq -r '.Type.Usage.IPinfo // "未知场景"' 2>/dev/null)
# 3. 深度欺诈与信用评估 (各大权威库联查)
# ----------------------------------------------------------
# 深度欺诈与信用评估 (各大权威库联查)
# ----------------------------------------------------------
SCAM_SCORE=$(echo "$JSON_DATA" | jq -r '.Score.SCAMALYTICS // "0"' 2>/dev/null)
ABUSE_SCORE=$(echo "$JSON_DATA" | jq -r '.Score.AbuseIPDB // "0"' 2>/dev/null)
IPQS_SCORE=$(echo "$JSON_DATA" | jq -r '.Score.IPQS // "0"' 2>/dev/null)
IP2L_SCORE=$(echo "$JSON_DATA" | jq -r '.Score.IP2LOCATION // "0"' 2>/dev/null)
FRAUD_RISK=$(echo "$JSON_DATA" | jq -r '.Score.ipapi // "0%"' 2>/dev/null)
# 代理/VPN 特征探针 (只要有一家认为是代理,就亮黄灯)
# [数据清洗] 过滤 API 阻断带来的空值,确保面板展示整洁
[ "$SCAM_SCORE" == "null" ] || [ -z "$SCAM_SCORE" ] && SCAM_SCORE="N/A"
[ "$ABUSE_SCORE" == "null" ] || [ -z "$ABUSE_SCORE" ] && ABUSE_SCORE="N/A"
[ "$IPQS_SCORE" == "null" ] || [ -z "$IPQS_SCORE" ] && IPQS_SCORE="N/A"
[ "$IP2L_SCORE" == "null" ] || [ -z "$IP2L_SCORE" ] && IP2L_SCORE="N/A"
[ "$FRAUD_RISK" == "null" ] || [ -z "$FRAUD_RISK" ] && FRAUD_RISK="N/A"
# [代理特征嗅探] 识别商业 VPN 或代理痕迹
IS_PROXY="🟢 干净"
if echo "$JSON_DATA" | jq -e '.Factor.Proxy | to_entries | any(.value == true)' >/dev/null 2>&1 || \
echo "$JSON_DATA" | jq -e '.Factor.VPN | to_entries | any(.value == true)' >/dev/null 2>&1; then
IS_PROXY="🟡 疑似代理/VPN"
fi
# 4. 提取流媒体与 AI 解锁指标 (带解锁类型)
# ----------------------------------------------------------
# 提取流媒体与 AI 解锁指标
# ----------------------------------------------------------
parse_media() {
local status=$(echo "$JSON_DATA" | jq -r ".Media.$1.Status // \"未知\"" 2>/dev/null)
local reg=$(echo "$JSON_DATA" | jq -r ".Media.$1.Region // \"\"" 2>/dev/null)
local type=$(echo "$JSON_DATA" | jq -r ".Media.$1.Type // \"\"" 2>/dev/null)
if [[ "$status" == *"解锁"* ]]; then
echo "🟢 $reg ($type)"
elif [[ "$status" == *"屏蔽"* ]] || [[ "$status" == *"失败"* ]]; then
echo "🔴 屏蔽"
echo "🟢 ${reg} (${type})"
elif [[ "$status" == *"仅"* ]] || [[ "$status" == *"机房"* ]] || [[ "$status" == *"待支持"* ]]; then
# 捕捉 Netflix "仅自制"、ChatGPT "仅网页"、TikTok "机房" 等半残缺状态
echo "🟡 ${status} ${reg}"
elif [[ "$status" == *"屏蔽"* ]] || [[ "$status" == *"失败"* ]] || [[ "$status" == *"中国"* ]] || [[ "$status" == *"禁"* ]]; then
# 捕捉高危风控状态
echo "🔴 ${status}"
else
echo "$status"
echo "${status}"
fi
}
@@ -80,24 +174,35 @@ TK_STAT=$(parse_media "TikTok")
GPT_STAT=$(parse_media "ChatGPT")
APV_STAT=$(parse_media "AmazonPrimeVideo")
# 提取原生 JSON 里的原始状态用于底层隐写回传
# 提取原生 JSON 原始状态用于底层隐写回传
RAW_NF_STAT=$(echo "$JSON_DATA" | jq -r '.Media.Netflix.Status // "Unknown"' 2>/dev/null)
RAW_YT_REG=$(echo "$JSON_DATA" | jq -r '.Media.Youtube.Region // ""' 2>/dev/null)
RAW_YT_STAT=$(echo "$JSON_DATA" | jq -r '.Media.Youtube.Status // "Unknown"' 2>/dev/null)
# 5. 邮局连通性与黑名单
# ----------------------------------------------------------
# 邮局连通性与黑名单污染度
# ----------------------------------------------------------
PORT25=$(echo "$JSON_DATA" | jq -r '.Mail.Port25 // "false"' 2>/dev/null)
[ "$PORT25" == "true" ] && P25_TEXT="✅ 畅通" || P25_TEXT="❌ 封堵"
DNS_BLACK=$(echo "$JSON_DATA" | jq -r '.Mail.DNSBlacklist.Blacklisted // "0"' 2>/dev/null)
DNS_MARK=$(echo "$JSON_DATA" | jq -r '.Mail.DNSBlacklist.Marked // "0"' 2>/dev/null)
# 6. “送中” 逻辑判定
# [送中逻辑判定] 基于核心指标一票否决
WARNING_MSG=""
if [[ "$RAW_YT_REG" == *"[CN]"* ]] || [[ "$RAW_YT_STAT" == *"China"* ]]; then
WARNING_MSG="%0A🚨 **[高危] 该节点已被 Google 判定为中国大陆 (送中)**%0A"
if [[ "$RAW_YT_REG" == "CN" ]] || [[ "$RAW_YT_STAT" == *"中国"* ]]; then
# 采用 Bash 扩展转义,避免直接打印字面换行符
WARNING_MSG=$'\n🚨 **[高危] 该节点已被 Google 判定为中国大陆 (送中)**\n'
fi
# 7. 组装情报级 Markdown 战报
# ==========================================================
# 5. 组装情报级 Markdown 战报与回调构造
# ==========================================================
LOCAL_VER="${AGENT_VERSION:-未知}"
CURRENT_TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
# 强制使用中枢下发的真实 IP 拼接,以防探针星号掩码导致直达链接失效
LINK_IP=$(echo "$PUBLIC_IP" | tr -d '[]')
REPORT="🎯 *IP-Sentinel 深海声呐报告*
📍 节点:\`${NODE_ALIAS}\`
🌐 地址:\`${IP_ADDR}\`${WARNING_MSG}
@@ -111,7 +216,7 @@ REPORT="🎯 *IP-Sentinel 深海声呐报告*
*🛡️ 欺诈雷达 (0为最优)*
• **Scamalytics:** \`${SCAM_SCORE}/100\`
• **AbuseIPDB:** \`${ABUSE_SCORE}/100\`
• **IPQuality:** \`${IPQS_SCORE}/100\`
• **IPQS:** \`${IPQS_SCORE}/100\`
• **IP2Location:** \`${IP2L_SCORE}/100\`
• **IPAPI 风险率:** \`${FRAUD_RISK}\`
@@ -127,13 +232,42 @@ REPORT="🎯 *IP-Sentinel 深海声呐报告*
• **25 端口出站:** ${P25_TEXT}
• **DNS 污染库:** 严重 \`${DNS_BLACK}\` | 轻微 \`${DNS_MARK}\`
_👉 [🔍 详细信用图谱直达 (Scamalytics)](https://scamalytics.com/ip/${TARGET_IP})_
_👉 [🔍 详细信用图谱直达 (Scamalytics)](https://scamalytics.com/ip/${LINK_IP})_
\`[SYSTEM_REPORT]|QUALITY|${NODE_NAME}|${SCAM_SCORE}|${RAW_NF_STAT}\`"
⏱️ \`${CURRENT_TIME}\` | ⚙️ \`v${LOCAL_VER}\`"
# 8. 直送指挥部
curl -s -X POST "${TG_API_URL}" \
-d "chat_id=${CHAT_ID}" \
-d "parse_mode=Markdown" \
-d "disable_web_page_preview=true" \
-d "text=${REPORT}" >/dev/null
# [核心数据萃取] 剥离非数字残留,确保传给 Master 趋势数据库的纯净性
SAFE_SCAM_SCORE=$(echo "$SCAM_SCORE" | tr -cd '0-9')
[ -z "$SAFE_SCAM_SCORE" ] && SAFE_SCAM_SCORE="0"
# 提取 Google(基于YouTube) 和 ChatGPT 的原生状态
RAW_GOOG_STAT="${RAW_YT_REG:-$RAW_YT_STAT}"
[ -z "$RAW_GOOG_STAT" ] && RAW_GOOG_STAT="未知"
RAW_GPT_STAT=$(echo "$JSON_DATA" | jq -r '.Media.ChatGPT.Status // "未知"' 2>/dev/null)
# 废除可能导致中文字符截断乱码的强制限制,改用去隐形换行符的安全传递策略
S_GOOG=$(echo "$RAW_GOOG_STAT" | tr -d '\n\r ')
S_NF=$(echo "$RAW_NF_STAT" | tr -d '\n\r ')
S_GPT=$(echo "$RAW_GPT_STAT" | tr -d '\n\r ')
CB_DATA="svq|${NODE_NAME}|${SAFE_SCAM_SCORE}|${S_GOOG}|${S_NF}|${S_GPT}"
# 挂载内联键盘并直送指挥部
JSON_PAYLOAD=$(jq -n \
--arg cid "$CHAT_ID" \
--arg txt "$REPORT" \
--arg cb "$CB_DATA" \
--arg cb_manage "manage:${NODE_NAME}" \
'{
chat_id: $cid,
text: $txt,
parse_mode: "Markdown",
disable_web_page_preview: true,
reply_markup: {
inline_keyboard: [
[{text: "📥 将本次体检录入趋势库", callback_data: $cb}],
[{text: "⚙️ 调出该节点控制台", callback_data: $cb_manage}]
]
}
}')
curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD" >/dev/null

View File

@@ -1,112 +1,132 @@
#!/bin/bash
# ==========================================================
# 脚本名称: mod_trust.sh (IP 信用净化模块 - 动态锚点版)
# 脚本名称: mod_trust.sh
# 核心功能: 动态扫描本地 LBS 冷数据,提取权威白名单,执行流量净化
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
UA_FILE="${INSTALL_DIR}/data/user_agents.txt"
# 你的 GitHub 仓库 Raw 数据直链前缀
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"
# 1. 基础环境校验
# --- [基础环境校验] ---
[ ! -f "$CONFIG_FILE" ] && exit 1
source "$CONFIG_FILE"
REGION=${REGION_CODE:-"US"}
LOG_FILE="${INSTALL_DIR}/logs/sentinel.log"
# 2. 动态获取配置 (V3 拓扑自适应与兜底)
# 利用 find 穿透多级子目录,自动抓取安装时落地的那份专属 json 文件
# ==========================================================
# 1. 动态获取配置 (拓扑自适应与兜底机制)
# ==========================================================
# 利用 find 穿透多级子目录,自动抓取安装时落地的专属 json 文件
REGION_JSON_FILE=$(find "${INSTALL_DIR}/data/regions" -name "*.json" 2>/dev/null | head -n 1)
# 兼容旧节点兜底:如果本地真没找到 json回退拉取云端通用大区配置
# [容灾兜底] 如果本地 json 异常,回退拉取云端通用大区配置
if [ -z "$REGION_JSON_FILE" ] || [ ! -f "$REGION_JSON_FILE" ]; then
REGION_JSON_FILE="${INSTALL_DIR}/data/regions/${REGION}.json"
mkdir -p "${INSTALL_DIR}/data/regions"
curl -${IP_PREF:-4} -sL "${REPO_RAW_URL}/data/regions/${REGION}.json" -o "$REGION_JSON_FILE"
fi
# 使用 jq 将 json 中的网址数组安全地读入 Bash 数组
# 解析安全网址数组
if [ -f "$REGION_JSON_FILE" ]; then
mapfile -t TRUST_URLS < <(jq -r '.trust_module.white_urls[]' "$REGION_JSON_FILE" 2>/dev/null)
if command -v jq >/dev/null 2>&1; then
mapfile -t TRUST_URLS < <(jq -r '.trust_module.white_urls[]' "$REGION_JSON_FILE" 2>/dev/null)
else
log_msg "WARN " "系统未安装 jq白名单解析降级为兜底模式。"
TRUST_URLS=()
fi
fi
# 兜底:如果仓库挂了或者解析失败,提供国际通用白名单
# [极限容灾] 提供国际通用无害白名单防全盘崩溃
if [ ${#TRUST_URLS[@]} -eq 0 ]; then
TRUST_URLS=("https://en.wikipedia.org/wiki/Special:Random" "https://www.apple.com/" "https://www.microsoft.com/")
fi
# 3. 日志规范化 (v3.4.0 引入版本探针)
# --- [日志规范化组件] ---
log_msg() {
local TYPE=$1
local MSG=$2
local TIME=$(date "+%Y-%m-%d %H:%M:%S")
# [v3.4.0 核心] 提取当前配置中的版本锚点
local TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
local local_ver="${AGENT_VERSION:-未知}"
# 日志格式注入 [版本号] 追踪标识,保持对齐
echo "[$TIME] [v%-5s] [%-5s] [Trust ] [$REGION] $MSG" | sed "s/%-5s/$local_ver/;s/%-5s/$TYPE/" | tee -a "$LOG_FILE"
printf "[%s] [v%-5s] [%-5s] [Trust ] [%s] %s\n" \
"$TIME" "$local_ver" "$TYPE" "$REGION" "$MSG" | tee -a "$LOG_FILE"
}
# 4. 锁定单次会话指纹
# -----------------------------------------------------------
# [V3.1.5] 哈希锚定法 (Hash-Seeded Persona)
# 利用 IP 算力固定 3 个永久化专属指纹,破除僵尸网络同质化特征
# -----------------------------------------------------------
# ==========================================================
# 2. 锁定单次会话指纹 (Hash-Seeded Persona)
# ==========================================================
if [ -f "$UA_FILE" ]; then
mapfile -t UA_POOL < <(grep -v '^$' "$UA_FILE")
TOTAL_UA=${#UA_POOL[@]}
if [ "$TOTAL_UA" -gt 0 ]; then
# [v3.3.1修改] 优先使用固化的公网 IP 作为哈希种子,防 NAT 节点指纹同质化
# 优先使用固化的公网 IP 作为哈希种子,防 NAT 节点指纹同质化特征
SEED=$(echo -n "${PUBLIC_IP:-${BIND_IP:-127.0.0.1}}" | cksum | awk '{print $1}')
# 利用确定的种子,在全球 4000 的库中,计算出本机的 3 个绝对专属坐标
# 构建当前节点的固定设备组映射
IDX1=$(( SEED % TOTAL_UA ))
IDX2=$(( (SEED * 17) % TOTAL_UA ))
IDX3=$(( (SEED * 31) % TOTAL_UA ))
# 将专属坐标映射为专属设备库
MY_UA_POOL=("${UA_POOL[$IDX1]}" "${UA_POOL[$IDX2]}" "${UA_POOL[$IDX3]}")
# 本次会话从这 3 台专属设备中随机挑选 1 台 (模拟真实的家庭多设备环境)
# 模拟真实的家庭多设备环境进行会话隔离
CURRENT_UA=${MY_UA_POOL[$RANDOM % 3]}
else
# 兜底容错
CURRENT_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
fi
else
CURRENT_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
fi
# ==========================================
# 🚀 净化行动开始
# ==========================================
# ==========================================================
# 3. 执行流量净化行动
# ==========================================================
log_msg "START" "========== 启动区域 IP 信用净化会话 =========="
log_msg "INFO " "已载入 [${REGION}] 区域白名单,配置库条目: ${#TRUST_URLS[@]}"
log_msg "INFO " "已锁定本地伪装指纹: $(echo $CURRENT_UA | cut -d' ' -f1-2)..."
# -----------------------------------------------------------
# [V3.2.1 热修复] 网络锚定与协议自适应构建
# 强制 curl 绑定网卡,并自动匹配 IPv4/v6 协议,杜绝 curl 冲突报错
# [v4.1.6] Cookie 持久化身份库 (Trust 专属物理隔离)
# 消除无记忆爬虫特征,积累顶级 CDN 的访客信誉分
# -----------------------------------------------------------
CURL_BIND_OPT=""
DYNAMIC_IP_PREF="-${IP_PREF:-4}" # 默认提取用户配置
COOKIE_DIR="${INSTALL_DIR}/data/cookies"
mkdir -p "$COOKIE_DIR"
NODE_HASH=$(echo -n "${PUBLIC_IP:-127.0.0.1}" | cksum | awk '{print $1}')
COOKIE_FILE="${COOKIE_DIR}/trust_${NODE_HASH}.txt"
# [互斥锁] 防止并发净化导致 Cookie 文件读写冲突
LOCK_FILE="${COOKIE_FILE}.lock"
exec 200>"$LOCK_FILE"
flock -n 200 || {
log_msg "WARN " "检测到已有 Trust 会话运行,跳过本轮。"
exit 0
}
# 定期清理废弃 Cookie防爆栈
find "$COOKIE_DIR" -type f -name "trust_*.txt" -mtime +14 -delete 2>/dev/null || true
# ----------------------------------------------------------
# 网络锚定与协议自适应构建
# 强制 curl 绑定网卡并自动匹配底层网络协议栈
# ----------------------------------------------------------
# [v4.1.6 修复] 改用 Bash 数组传参,彻底消除 Shell Word Splitting 注入隐患
CURL_BIND_ARGS=()
DYNAMIC_IP_PREF="-${IP_PREF:-4}"
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
# [v3.6.3 容错层补丁] 探测物理网卡/虚拟 IP 存活状态
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
if ! ip addr show 2>/dev/null | grep -qw "$RAW_BIND_IP"; then
# [v4.1.6 修复] 使用 -Fq 替代 -qw防止 IPv6 冒号被误认为单词边界导致误杀
if ! ip addr show 2>/dev/null | grep -Fq "$RAW_BIND_IP"; then
log_msg "WARN " "检测到配置的出口 IP ($RAW_BIND_IP) 已丢失,自动降级为系统默认路由出网!"
CURL_BIND_OPT=""
CURL_BIND_ARGS=()
else
CURL_BIND_OPT="--interface $BIND_IP"
# 智能探测:带冒号为 V6带点号为 V4
CURL_BIND_ARGS=(--interface "$BIND_IP")
if [[ "$BIND_IP" == *":"* ]]; then
DYNAMIC_IP_PREF="-6"
log_msg "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
@@ -121,38 +141,61 @@ STEP_COUNT=$((RANDOM % 4 + 3))
SUCCESS_INJECT=0
for ((i=1; i<=STEP_COUNT; i++)); do
# 随机抽取本地区域权威网址
TARGET_URL=${TRUST_URLS[$RANDOM % ${#TRUST_URLS[@]}]}
TARGET_URL=${TRUST_URLS[$((RANDOM % ${#TRUST_URLS[@]}))]}
# [v3.0.1修复] 注入高权重流量时,强制从绑定的 IPv4 或 IPv6 隧道出网
# [V3.2.1 热修复] 注入 $CURL_BIND_OPT 与 $DYNAMIC_IP_PREF 协议自适应
HTTP_CODE=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -A "$CURRENT_UA" \
# [v4.1.6] 统一数组化执行、挂载持久化 Cookie (-b -c) 并精准捕获底层死因
HTTP_CODE=$(curl "${CURL_BIND_ARGS[@]}" "$DYNAMIC_IP_PREF" \
-b "$COOKIE_FILE" -c "$COOKIE_FILE" -A "$CURRENT_UA" \
-H "Accept: text/html,application/xhtml+xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
-H "Accept-Language: en-US,en;q=0.9" \
-H "Sec-Fetch-Dest: document" \
-H "Sec-Fetch-Mode: navigate" \
-H "Upgrade-Insecure-Requests: 1" \
--compressed \
-s -o /dev/null -w "%{http_code}" -m 15 "$TARGET_URL")
-s -L -o /dev/null -w "%{http_code}" -m 15 "$TARGET_URL")
CURL_EXIT=$?
# 扩大 HTTP 状态码容错区间:包含所有 20x (如亚马逊的 202) 和 30x 重定向
if [[ "$HTTP_CODE" =~ ^(20[0-9]|30[1-8])$ ]]; then
log_msg "EXEC " "动作[$i/$STEP_COUNT]完成 | 状态: $HTTP_CODE | 注入: $TARGET_URL"
((SUCCESS_INJECT++))
# [v4.1.6 修复] 精准错误码映射,防空值塌陷
if [ $CURL_EXIT -ne 0 ]; then
case $CURL_EXIT in
6) HTTP_CODE="ERR_DNS" ;;
7) HTTP_CODE="ERR_CONN" ;;
28) HTTP_CODE="ERR_TIMEOUT" ;;
35) HTTP_CODE="ERR_TLS" ;;
56) HTTP_CODE="ERR_RESET" ;;
*) HTTP_CODE="ERR_${CURL_EXIT}" ;;
esac
log_msg "WARN " "动作[$i/$STEP_COUNT]异常 | 底层错误: $HTTP_CODE | 阻拦: ${TARGET_URL:0:40}..."
else
log_msg "EXEC " "动作[$i/$STEP_COUNT]异常 | 状态: $HTTP_CODE | 阻拦: $TARGET_URL"
# 扩大 HTTP 状态码容错区间:包含各大骨干 CDN 常见的 20x 及 30x 状态转移
if [[ "$HTTP_CODE" =~ ^[23] ]]; then
log_msg "EXEC " "动作[$i/$STEP_COUNT]完成 | 状态: $HTTP_CODE | 注入: ${TARGET_URL:0:40}..."
((SUCCESS_INJECT++))
else
log_msg "WARN " "动作[$i/$STEP_COUNT]异常 | 状态: $HTTP_CODE | 阻拦: ${TARGET_URL:0:40}..."
fi
fi
# [v4.1.6] 泊松长尾生物钟拉伸,模拟人类真实阅读扫视习惯
if [ $i -lt $STEP_COUNT ]; then
SLEEP_TIME=$((RANDOM % 76 + 45))
log_msg "WAIT " "正在浏览本地高权重页面,模拟停留 $SLEEP_TIME 秒..."
sleep $SLEEP_TIME
SLEEP_DICE=$((RANDOM % 100))
if [ $SLEEP_DICE -lt 45 ]; then
SLEEP_TIME=$((8 + RANDOM % 13)) # 8 - 20s (45%)
elif [ $SLEEP_DICE -lt 80 ]; then
SLEEP_TIME=$((20 + RANDOM % 41)) # 20 - 60s (35%)
elif [ $SLEEP_DICE -lt 95 ]; then
SLEEP_TIME=$((60 + RANDOM % 121)) # 60 - 180s (15%)
else
SLEEP_TIME=$((180 + RANDOM % 300)) # 180 - 480s (5%)
fi
log_msg "WAIT " "正在浏览本地高权重页面,模拟停留 ${SLEEP_TIME}s..."
sleep "$SLEEP_TIME"
fi
done
# ==========================================
# 📊 结论判定与输出
# ==========================================
# ==========================================================
# 4. 结论判定与输出
# ==========================================================
if [ "$SUCCESS_INJECT" -ge $((STEP_COUNT / 2)) ]; then
log_msg "SCORE" "自检结论: ✅ 信用净化完成 (已成功注入 $SUCCESS_INJECT 条无害流量)"
else

View File

@@ -1,56 +1,55 @@
#!/bin/bash
# ==========================================================
# 脚本名称: runner.sh (IP-Sentinel 主控调度引擎 - 动态锚点版)
# 核心功能: 防并发延迟启动、功能开关(Feature Flag)自适应、多模块概率轮盘调度
# 脚本名称: runner.sh
# 核心功能: 主控调度枢纽,管理防并发锁与 Feature Flag 概率轮盘
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
# 1. 检查并加载本地冷数据配置
# --- [基础环境构建] ---
if [ ! -f "$CONFIG_FILE" ]; then
echo "配置文件丢失,请重新运行 install.sh"
exit 1
fi
source "$CONFIG_FILE"
# ================== [新增: 文件排他锁,防止并发重入引发内存雪崩] ==================
# ==========================================================
# [防线 1] 进程排他锁管控
# 严格防止高频并发重入引发的底层内存雪崩与死锁
# ==========================================================
exec 200>"/tmp/ip_sentinel_runner.lock"
if ! flock -n 200; then
echo "[$(date)] ⚠️ 上一轮巡逻任务尚未结束,本次触发自动取消。" >> "$LOG_FILE"
exit 0
fi
# ==================================================================================
# 2. 全局日志写入函数 (导出给子进程共享使用v3.4.0 引入版本探针)
# --- [系统级日志通道] ---
log() {
local module=$1
local level=$2
local msg=$3
# [v3.4.0 核心] 提取当前配置中的版本锚点
local local_ver="${AGENT_VERSION:-未知}"
# 保证日志目录存在
mkdir -p "${INSTALL_DIR}/logs"
# 日志格式注入 [版本号] 追踪标识
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 (如果系统支持)
if command -v logger >/dev/null 2>&1; then
logger -t ip-sentinel "$core_msg"
else
# 降级输出到 stdout让 Systemd 捕获
echo "$core_msg"
fi
}
export -f log
export CONFIG_FILE INSTALL_DIR
# 3. 防僵尸网络特征 (Cron Jitter) - 核心隐蔽逻辑
# 配合每 30 分钟的调度周期,将随机休眠控制在 0 到 180 秒内,彻底打散全球并发请求
# ==========================================================
# [防线 2] 行为学隐蔽 (Cron Jitter)
# 彻底消除僵尸网络同频定时唤醒特征,自然打散全球并发请求
# ==========================================================
if [ -t 1 ]; then
log "SYSTEM" "INFO " "💻 检测到人工终端干预,跳过静默休眠,立即执行任务!"
else
@@ -59,15 +58,17 @@ else
sleep $JITTER_TIME
fi
# 4. 唤醒并读取功能开关,执行智能调度 (Feature Flag)
# ==========================================================
# 智能轮盘赌调度系统 (基于 Feature Flag)
# ==========================================================
log "SYSTEM" "INFO" "休眠结束,开始计算本轮任务轮盘..."
TARGET_MOD=""
MOD_NAME=""
# 智能轮盘赌算法
# 概率任务分配模型
if [ "$ENABLE_GOOGLE" == "true" ] && [ "$ENABLE_TRUST" == "true" ]; then
# 双管齐下: 70% 概率跑 Google 稳固定位30% 概率跑 Trust 洗刷风控分
# 优先锚定地理画像,辅助洗刷风控分
ROLL=$((RANDOM % 100 + 1))
if [ $ROLL -le 70 ]; then
TARGET_MOD="mod_google.sh"
@@ -87,11 +88,12 @@ else
exit 0
fi
# 5. 拉起选定的业务模块
# ----------------------------------------------------------
# 安全执行与资源剥离
# ----------------------------------------------------------
if [ -n "$TARGET_MOD" ] && [ -x "${INSTALL_DIR}/core/${TARGET_MOD}" ]; then
log "SYSTEM" "INFO" "命中触发条件,加载并执行子模块: ${MOD_NAME}"
# 核心降耗逻辑:使用 nice -n 19 赋予进程最低 CPU 优先级,绝不抢占 VPS 正常业务的资源
# [安全修复] 注入 200>&-,强行关闭子进程对排他锁的继承权!防止子进程假死导致全局死锁
# [进程隔离与降耗] 赋予最低 CPU 优先级,并强制剥离排他锁的继承权,防止子进程假死拖垮全局
nice -n 19 bash "${INSTALL_DIR}/core/${TARGET_MOD}" 200>&-
else
log "SYSTEM" "ERROR" "配置了模块 ${MOD_NAME},但未找到对应的可执行脚本: ${TARGET_MOD}"

View File

@@ -1,78 +0,0 @@
#!/bin/bash
# ==========================================================
# 脚本名称: tg_daemon.sh (Telegram 互动监听守护进程 - 动态锚点版)
# 核心功能: 极低功耗长轮询监听、节点溯源、版本继承
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
OFFSET_FILE="/tmp/ip_sentinel_tg_offset.txt"
# 1. 环境自检
[ ! -f "$CONFIG_FILE" ] && exit 1
source "$CONFIG_FILE"
# 如果没有配置 TG 机器人,则安静退出守护进程
[ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ] && exit 0
# [核心: 动态版本锚点与防撞甲身份载入]
LOCAL_VER="${AGENT_VERSION:-未知}"
IP_HASH=$(echo "${PUBLIC_IP:-127.0.0.1}" | md5sum | cut -c 1-4 | tr 'a-z' 'A-Z')
NODE_NAME="$(hostname | cut -c 1-10)-${IP_HASH}"
# 2. 初始化消息偏移量 (Offset) 记录文件,防止重启后重复处理老消息
OFFSET=0
[ -f "$OFFSET_FILE" ] && OFFSET=$(cat "$OFFSET_FILE")
# 发送消息的快捷工具函数
send_msg() {
curl -s -X POST "https://api.telegram.org/bot${TG_TOKEN}/sendMessage" \
-d "chat_id=$CHAT_ID" -d "text=$1" -d "parse_mode=Markdown" > /dev/null
}
# 3. 核心守护循环 (无限长轮询监听)
# timeout=30 表示如果没有新消息,连接会挂起 30 秒才断开重连,极大地降低了系统资源消耗
while true; do
UPDATES=$(curl -s "https://api.telegram.org/bot${TG_TOKEN}/getUpdates?offset=${OFFSET}&timeout=30")
# 使用 jq 检查是否有新消息返回
COUNT=$(echo "$UPDATES" | jq -r '.result | length' 2>/dev/null)
if [[ "$COUNT" =~ ^[0-9]+$ ]] && [ "$COUNT" -gt 0 ]; then
for (( i=0; i<$COUNT; i++ )); do
UPDATE_ID=$(echo "$UPDATES" | jq -r ".result[$i].update_id")
MSG_CHAT_ID=$(echo "$UPDATES" | jq -r ".result[$i].message.chat.id")
MSG_TEXT=$(echo "$UPDATES" | jq -r ".result[$i].message.text")
# 【安全防御】严格权限验证:只响应你部署时填入的 Chat ID无视陌生人消息
if [ "$MSG_CHAT_ID" == "$CHAT_ID" ]; then
case "$MSG_TEXT" in
"/run")
send_msg "🚀 **[${NODE_NAME}]** 正在后台触发 IP 养护任务 (v${LOCAL_VER})..."
# 使用 nohup 另起后台独立进程运行,防止阻塞当前监听器的循环
nohup bash "${INSTALL_DIR}/core/mod_google.sh" >/dev/null 2>&1 &
;;
"/log")
LOG_DATA=$(tail -n 15 "${INSTALL_DIR}/logs/sentinel.log")
send_msg "📄 **[${NODE_NAME}] 实时日志 (v${LOCAL_VER}):**%0A\`\`\`log%0A${LOG_DATA}%0A\`\`\`"
;;
"/report")
# 触发生成一次战报
bash "${INSTALL_DIR}/core/tg_report.sh"
;;
"/help"|"/start")
HELP_MSG="🛡️ **IP-Sentinel 边缘控制台**%0A📍 节点: \`${NODE_NAME}\`%0A🔖 版本: \`v${LOCAL_VER}\`%0A%0A/run - 立刻执行一次养护%0A/log - 抓取最新运行日志%0A/report - 手动生成统计简报"
send_msg "$HELP_MSG"
;;
esac
fi
# 记录处理完毕的 message ID下次请求从新的 ID 开始获取
OFFSET=$((UPDATE_ID + 1))
echo "$OFFSET" > "$OFFSET_FILE"
done
fi
# 基础安全延时,防止极端网络情况下的死循环吃光 CPU
sleep 2
done

View File

@@ -1,15 +1,15 @@
#!/bin/bash
# ==========================================================
# 脚本名称: tg_report.sh (Telegram 每日战报模块 - 动态锚点版)
# 核心功能: 适配 Feature Flag 架构按需展示独立统计数据OTA 更新预警
# 脚本名称: tg_report.sh
# 核心功能: 收集并聚合终端特征、提取执行快照、侦测云端版本并生成简报
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
LOG_FILE="${INSTALL_DIR}/logs/sentinel.log"
# 1. 加载配置并自检
# --- [基础自检] ---
if [ ! -f "$CONFIG_FILE" ]; then exit 1; fi
source "$CONFIG_FILE"
@@ -18,20 +18,39 @@ if [ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ]; then
exit 0
fi
# 2. 节点元数据抓取 (v3.2.2 协议自适应与多级容灾版)
# [v3.5.2 核心: 引入双轨身份架构]
# ==========================================================
# [防线 1] 并发风暴熔断机制 (60s 冷却池)
# ==========================================================
LOCK_FILE="${INSTALL_DIR}/core/.report_lock"
if [ -f "$LOCK_FILE" ]; then
LAST_RUN=$(cat "$LOCK_FILE" 2>/dev/null)
NOW=$(date +%s)
# 严格校验最后执行时间的合法性,防御密集回调
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"
# ==========================================================
# 1. 节点元数据与双轨身份解析
# ==========================================================
if [ -z "$NODE_NAME" ]; then
IP_HASH=$(echo "${PUBLIC_IP:-127.0.0.1}" | md5sum | cut -c 1-4 | tr 'a-z' 'A-Z')
NODE_NAME="$(hostname | cut -c 1-10)-${IP_HASH}"
fi
NODE_ALIAS="${NODE_ALIAS:-$NODE_NAME}"
# --- [防线 1: 底层路由锁定与协议自适应] ---
# ----------------------------------------------------------
# [容灾探针 1] 底层路由锁定与多节点出口 IP 嗅探
# ----------------------------------------------------------
CURL_BIND_OPT=""
DYNAMIC_IP_PREF="-${IP_PREF:-4}"
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
# [v3.6.3 容错层补丁] 探测物理网卡/虚拟 IP 存活状态
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
if ! ip addr show 2>/dev/null | grep -qw "$RAW_BIND_IP"; then
CURL_BIND_OPT=""
@@ -45,37 +64,36 @@ if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
fi
fi
# 多节点容灾探测出口 IP (注入协议自适应)
# 结合协议自适应进行外部 IP 回显探测
CURRENT_IP=$( (curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -s -m 5 api.ip.sb/ip || curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
# [v3.3.1 修改] 强制兜底:如果外部 API 挂了,优先使用固化的对外公网面孔 (兼容 NAT 机的空 BIND_IP)
# 强制兜底逻辑:网络完全阻断时回退使用配置文件锚点
[ -z "$CURRENT_IP" ] && CURRENT_IP="${PUBLIC_IP:-$BIND_IP}"
# 为可能获取到的 IPv6 自动添加方括号护甲
# 为 IPv6 环境追加方括号安全护甲
[[ "$CURRENT_IP" == *":"* ]] && [[ "$CURRENT_IP" != *"["* ]] && CURRENT_IP="[${CURRENT_IP}]"
# --- [防线 2: 多级 ISP 容灾探针链路] ---
# ----------------------------------------------------------
# [容灾探针 2] 多级 ISP 情报探测链路
# ----------------------------------------------------------
ISP_INFO=""
# 探针 A: 纯文本 API (免 jq极速稳定)
# 优先级 A: 高吞吐极速纯文本接口
ISP_INFO=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -s -m 5 ipinfo.io/org 2>/dev/null)
# 探针 B: 备用纯文本 API
# 优先级 B: 备用纯文本接口
if [ -z "$ISP_INFO" ] || [[ "$ISP_INFO" == *"error"* ]]; then
ISP_INFO=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -s -m 5 ip-api.com/line/?fields=isp 2>/dev/null)
fi
# 探针 C: 原版的 JSON API (需要 jq 兜底)
# 优先级 C: 需构建环境依赖的 JSON 接口
if [ -z "$ISP_INFO" ] || [[ "$ISP_INFO" == *"error"* ]]; then
if command -v jq &> /dev/null; then
ISP_INFO=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -s -m 5 api.ip.sb/geoip | jq -r '.organization' 2>/dev/null)
fi
fi
# --- [防线 3: 数据清洗 (遵循底层共识原则)] ---
# 剔除 ipinfo 返回的开头 AS 号 (例如 "AS137535 JT TELECOM" -> "JT TELECOM")
# 数据清洗过滤与类型渲染
ISP_INFO=$(echo "$ISP_INFO" | sed -E 's/^AS[0-9]+ //')
# 最终兜底判断
[ -z "$ISP_INFO" ] || [ "$ISP_INFO" == "null" ] && ISP_INFO="未知 ISP"
if [[ "$ISP_INFO" == *"Cloudflare"* ]]; then
@@ -84,19 +102,27 @@ else
IP_TYPE="$ISP_INFO 🏠"
fi
# 动态国旗
case "$REGION_CODE" in
"JP") FLAG="🇯🇵" ;;
"US") FLAG="🇺🇸" ;;
"DE") FLAG="🇩🇪" ;;
"SG") FLAG="🇸🇬" ;;
"HK") FLAG="🇭🇰" ;;
"GB"|"UK") FLAG="🇬🇧" ;;
"AU") FLAG="🇦🇺" ;;
# [全视界旗帜引擎] 动态国旗渲染装配
BASE_CC="${REGION_CODE%%-*}"
case "$BASE_CC" in
US) FLAG="🇺🇸" ;; JP) FLAG="🇯🇵" ;; HK) FLAG="🇭🇰" ;; TW) FLAG="🇹🇼" ;; SG) FLAG="🇸🇬" ;;
UK|GB) FLAG="🇬🇧" ;; DE) FLAG="🇩🇪" ;; FR) FLAG="🇫🇷" ;; NL) FLAG="🇳🇱" ;; CA) FLAG="🇨🇦" ;;
AU) FLAG="🇦🇺" ;; KR) FLAG="🇰🇷" ;; IN) FLAG="🇮🇳" ;; BR) FLAG="🇧🇷" ;; RU) FLAG="🇷🇺" ;;
CH) FLAG="🇨🇭" ;; SE) FLAG="🇸🇪" ;; NO) FLAG="🇳🇴" ;; DK) FLAG="🇩🇰" ;; FI) FLAG="🇫🇮" ;;
IT) FLAG="🇮🇹" ;; ES) FLAG="🇪🇸" ;; PT) FLAG="🇵🇹" ;; IE) FLAG="🇮🇪" ;; PL) FLAG="🇵🇱" ;;
AT) FLAG="🇦🇹" ;; BE) FLAG="🇧🇪" ;; TR) FLAG="🇹🇷" ;; ZA) FLAG="🇿🇦" ;; AE) FLAG="🇦🇪" ;;
MY) FLAG="🇲🇾" ;; ID) FLAG="🇮🇩" ;; VN) FLAG="🇻🇳" ;; TH) FLAG="🇹🇭" ;; PH) FLAG="🇵🇭" ;;
NZ) FLAG="🇳🇿" ;; AR) FLAG="🇦🇷" ;; CL) FLAG="🇨🇱" ;; MX) FLAG="🇲🇽" ;; IL) FLAG="🇮🇱" ;;
SA) FLAG="🇸🇦" ;; EG) FLAG="🇪🇬" ;; NG) FLAG="🇳🇬" ;; KE) FLAG="🇰🇪" ;; RO) FLAG="🇷🇴" ;;
BG) FLAG="🇧🇬" ;; CZ) FLAG="🇨🇿" ;; HU) FLAG="🇭🇺" ;; GR) FLAG="🇬🇷" ;; UA) FLAG="🇺🇦" ;;
MO) FLAG="🇲🇴" ;; KH) FLAG="🇰🇭" ;; MM) FLAG="🇲🇲" ;; LA) FLAG="🇱🇦" ;;
MN) FLAG="🇲🇳" ;; NP) FLAG="🇳🇵" ;; BD) FLAG="🇧🇩" ;;
*) FLAG="🌐" ;;
esac
# 3. 截取过去 24 小时的日志 (每天48次轮询保留最新 1000 行足以覆盖单日战报)
# ==========================================================
# 2. 行为日志萃取与快照分析
# ==========================================================
LOG_CONTENT=$(tail -n 1000 "$LOG_FILE" 2>/dev/null)
if [ -z "$LOG_CONTENT" ]; then
@@ -108,24 +134,19 @@ if [ -z "$LOG_CONTENT" ]; then
🛠️ **建议**: 节点可能刚部署完毕,请在面板手动执行一次养护动作。
EOT
else
# ==========================================
# 4. 动态模块数据分析 (核心升级)
# ==========================================
# 提取最近一次运行的快照 (智能识别所属模块)
# 抓取末次执行模块的运行态势图
LAST_LOG_LINE=$(echo "$LOG_CONTENT" | grep "\[SCORE\]" | tail -n 1)
LAST_TIME=$(echo "$LAST_LOG_LINE" | awk '{print $1,$2}' | tr -d '[]')
LAST_MOD=$(echo "$LAST_LOG_LINE" | awk '{print $4}' | tr -d '[]')
LAST_SCORE=$(echo "$LAST_LOG_LINE" | awk -F'自检结论: ' '{print $2}')
# 开始组装战报头部
MSG="📊 **IP-Sentinel 每日简报 (${FLAG} ${REGION_NAME})**
----------------------------
📍 **节点名称**: \`${NODE_ALIAS}\`
📡 **出口 IP**: \`${CURRENT_IP}\`
🛡️ **IP 属性**: ${IP_TYPE}"
# --- [分析块 1: Google 纠偏模块] ---
# 统计 Google 纠偏阵列数据
if [ "$ENABLE_GOOGLE" == "true" ]; then
GOOGLE_LOGS=$(echo "$LOG_CONTENT" | grep "\[Google")
G_TOTAL=$(echo "$GOOGLE_LOGS" | grep "\[START\]" -c)
@@ -143,7 +164,7 @@ else
✅ 成功: ${G_SUCCESS} | ❌ 送中: ${G_FAILED} | ⚠️ 警告: ${G_WARN}"
fi
# --- [分析块 2: IP 信用净化模块] ---
# 统计 Trust 净化阵列数据
if [ "$ENABLE_TRUST" == "true" ]; then
TRUST_LOGS=$(echo "$LOG_CONTENT" | grep "\[Trust")
T_TOTAL=$(echo "$TRUST_LOGS" | grep "\[START\]" -c)
@@ -160,51 +181,68 @@ else
✅ 成功注入: ${T_SUCCESS} | ❌ 访问受阻: ${T_FAILED}"
fi
# 组装战报尾部 (最近快照)
# 追加末次快照
MSG="$MSG
🕒 **最近执行快照 [${LAST_MOD:-"System"}]:**
时间: ${LAST_TIME:-"暂无数据"}
🕒 **最近执行快照: \`${LAST_MOD:-"System"} \`**
时间: ${LAST_TIME:-"暂无数据"} (节点本地)
结论: ${LAST_SCORE:-"暂无数据"}"
fi
# ==========================================
# 5. [核心: OTA 云端版本探针与告警模块]
# ==========================================
# 从配置文件提取当前本地版本,若无则默认为未知
# ==========================================================
# 3. 云端版本探针与 OTA 调度模块
# ==========================================================
LOCAL_VER="${AGENT_VERSION:-未知}"
# [时间线对齐] 强制采用绝对 UTC 时间消除多节点的系统偏差
REPORT_UTC_TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
# 极轻量级探针: 抓取 GitHub 云端的 version.txt (超时 3 秒KV解析法)
REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
REMOTE_VER=$(curl -s -m 3 "${REPO_RAW_URL}/version.txt" | grep "^AGENT_VERSION=" | cut -d'=' -f2 | tr -d '[:space:]')
# 构建底部引擎状态块
MSG="$MSG
----------------------------
🛡️ **系统引擎状态**
当前运行版本: \`v${LOCAL_VER}\`"
⏱️ 战报生成: \`${REPORT_UTC_TIME}\`"
# 比对逻辑:如果成功抓到了远端版本,且和本地不一样
if [ -n "$REMOTE_VER" ] && [ "$REMOTE_VER" != "$LOCAL_VER" ]; then
MSG="$MSG
最新官方版本: \`v${REMOTE_VER}\` (✨有新版)
💡 *司令部提示:检测到新版装甲,请长官登录节点执行平滑热更新!*"
elif [ -n "$REMOTE_VER" ] && [ "$REMOTE_VER" == "$LOCAL_VER" ]; then
MSG="$MSG
最新官方版本: \`v${REMOTE_VER}\` (✅已是最新)
💡 *哨兵正在后台默默守护您的资产。*"
# 根据云端版本一致性自动渲染更新提示面板
if [ -n "$REMOTE_VER" ]; then
if [ "$REMOTE_VER" != "$LOCAL_VER" ]; then
MSG="$MSG
当前运行版本: \`v${LOCAL_VER}\`
✨ **发现新版本**: \`v${REMOTE_VER}\` (建议更新)
💡 *系统提示:检测到新版引擎,建议通过中枢控制台执行 OTA 热更新!*"
else
MSG="$MSG
当前运行版本: \`v${LOCAL_VER}\` (✅已是最新)
💡 *IP-Sentinel 持续为您守护节点。*
*若本项目对您有帮助,欢迎前往 GitHub 赐予 🌟*"
fi
else
# 抓取失败兜底
MSG="$MSG
💡 *哨兵正在后台默默守护您的资产。*"
当前运行版本: \`v${LOCAL_VER}\`
💡 *IP-Sentinel 持续为您守护节点。*
*若本项目对您有帮助,欢迎前往 GitHub 赐予 🌟*"
fi
# 5. 调用 API 推送 (接入安全网关)
# --- [下发 API 载荷] ---
JSON_PAYLOAD=$(jq -n \
--arg cid "$CHAT_ID" \
--arg txt "$MSG" \
--arg cb "manage:${NODE_NAME}" \
'{
chat_id: $cid,
text: $txt,
parse_mode: "Markdown",
disable_web_page_preview: true,
reply_markup: {
inline_keyboard: [[{"text": "⚙️ 调出该节点控制台", "callback_data": $cb}]]
}
}')
RESPONSE=$(curl -s -m 10 -X POST "${TG_API_URL}" \
-d "chat_id=${CHAT_ID}" \
-d "text=${MSG}" \
-d "parse_mode=Markdown")
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD")
if [[ "$RESPONSE" != *"\"ok\":true"* ]]; then
echo "❌ 战报发送失败API 响应: $RESPONSE" >> "${INSTALL_DIR}/logs/error.log"

View File

@@ -1,12 +1,13 @@
#!/bin/bash
# 脚本名称: uninstall.sh (IP-Sentinel 一键卸载脚本 - 动态锚点版)
# 核心功能: 无痕清理守护进程、定时任务、运行目录及临时缓存
# ==========================================================
# 脚本名称: uninstall.sh
# 核心功能: 无痕追踪溯源、全面抹杀幽灵进程、清空宿主脏数据残留与防火墙回缩
# ==========================================================
# ==========================================================
# 🛑 核心权限防线: 检查是否以 root 权限运行
# ==========================================================
# ----------------------------------------------------------
# [权限鉴权] 防止非管理员误触导致组件残留挂起
# ----------------------------------------------------------
if [ "$EUID" -ne 0 ]; then
echo -e "\033[31m❌ 权限被拒绝: 卸载 IP-Sentinel 需要最高系统权限。\033[0m"
echo -e "💡 请切换到 root 用户 (执行 su root 或 sudo -i) 后重新运行指令。"
@@ -14,22 +15,25 @@ if [ "$EUID" -ne 0 ]; then
fi
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
echo "========================================================"
echo " 🗑️ 准备卸载 IP-Sentinel (边缘节点 Edge Agent)"
# [核心: 动态读取并播报即将销毁的本地版本号]
CONFIG_FILE="${INSTALL_DIR}/config.conf"
if [ -f "$CONFIG_FILE" ]; then
CURRENT_VER=$(grep "^AGENT_VERSION=" "$CONFIG_FILE" | cut -d'"' -f2)
[ -n "$CURRENT_VER" ] && echo " 📍 目标版本: v${CURRENT_VER}"
fi
echo "========================================================"
# 1. 停止并删除 Systemd 服务 (适配新架构)
echo "[1/4] 正在停止并删除 Systemd 服务..."
# ----------------------------------------------------------
# [进程抹杀] 阻塞并卸除底层 Systemd 强绑定服务单元
# ----------------------------------------------------------
echo "[1/5] 正在停止并删除 Systemd 服务..."
if command -v systemctl >/dev/null 2>&1; then
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 \
ip-sentinel-updater.service ip-sentinel-updater.timer \
ip-sentinel-report.service ip-sentinel-report.timer \
@@ -47,8 +51,10 @@ else
echo "💡 未检测到 Systemd跳过此步骤..."
fi
# 2. 停止运行中的守护进程与主控模块 (兜底清理老版进程)
echo "[2/4] 正在终止后台守护进程与所有养护任务..."
# ----------------------------------------------------------
# [内存清洗] 全面追踪并镇压游离状态的挂起业务逻辑
# ----------------------------------------------------------
echo "[2/5] 正在终止后台守护进程与所有养护任务..."
pkill -9 -f "tg_daemon.sh" >/dev/null 2>&1
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1
pkill -9 -f "python3.*webhook.py" >/dev/null 2>&1
@@ -58,27 +64,83 @@ pkill -9 -f "updater.sh" >/dev/null 2>&1
pkill -9 -f "tg_report.sh" >/dev/null 2>&1
pkill -9 -f "mod_google.sh" >/dev/null 2>&1
pkill -9 -f "mod_trust.sh" >/dev/null 2>&1
pkill -9 -f "sentinel_scheduler.sh" >/dev/null 2>&1
# 3. 清除系统定时任务 (Cron)
echo "[3/4] 正在清理系统定时任务 (Cron)..."
if crontab -l >/dev/null 2>&1; then
crontab -l | grep -v "ip_sentinel" > /tmp/cron_backup
crontab /tmp/cron_backup
rm -f /tmp/cron_backup
# ----------------------------------------------------------
# [任务清洗] 基于内存管道流彻底擦除系统底层调度劫持
# ----------------------------------------------------------
echo "[3/5] 正在清理系统定时任务 (Cron)..."
# 通过管道原位清洗避免落地到 /tmp免疫提权或外部劫持探测
crontab -l 2>/dev/null | grep -v "ip_sentinel" | crontab - >/dev/null 2>&1 || true
# 扫除高受限环境 (如 Alpine) 中的额外触发隐患
for CRON_FILE in "/var/spool/cron/crontabs/root" "/etc/crontabs/root"; do
if [ -f "$CRON_FILE" ]; then
grep -v "ip_sentinel" "$CRON_FILE" > "${CRON_FILE}.tmp" 2>/dev/null || true
cat "${CRON_FILE}.tmp" > "$CRON_FILE" 2>/dev/null || true
rm -f "${CRON_FILE}.tmp" 2>/dev/null
fi
done
rm -f /etc/local.d/ip_sentinel.start 2>/dev/null
rm -f /etc/local.d/ip_sentinel_scheduler.start 2>/dev/null
if grep -q "sentinel_scheduler.sh" /etc/profile 2>/dev/null; then
sed -i '/sentinel_scheduler\.sh/d' /etc/profile 2>/dev/null || true
fi
# 4. 删除所有文件、日志与临时缓存
echo "[4/4] 正在抹除核心程序、配置文件与系统痕迹..."
# ----------------------------------------------------------
# [防线回缩] 读取遗留端口,撤除自动化防火墙挂载点
# ----------------------------------------------------------
echo "[4/5] 正在执行本地防火墙撤防操作..."
if [ -f "$CONFIG_FILE" ]; then
AGENT_PORT=$(grep "^AGENT_PORT=" "$CONFIG_FILE" | cut -d'"' -f2)
if [ -n "$AGENT_PORT" ]; then
if command -v ufw >/dev/null 2>&1 && ufw status | grep -qw active; then
ufw delete allow "$AGENT_PORT"/tcp >/dev/null 2>&1
echo -e " ✅ \033[32mUFW 防火墙双栈撤防成功 (剔除端口: $AGENT_PORT)。\033[0m"
elif command -v firewall-cmd >/dev/null 2>&1 && systemctl is-active firewalld | grep -qw active; then
firewall-cmd --zone=public --remove-port="$AGENT_PORT"/tcp --permanent >/dev/null 2>&1
firewall-cmd --reload >/dev/null 2>&1
echo -e " ✅ \033[32mFirewalld 持久化拦截规则回缩完毕。\033[0m"
else
local fw_removed=false
if command -v iptables >/dev/null 2>&1; then
# 循环清洗,防备由于中途故障引发的复数规则残留
while iptables -C INPUT -p tcp --dport "$AGENT_PORT" -j ACCEPT >/dev/null 2>&1; do
iptables -D INPUT -p tcp --dport "$AGENT_PORT" -j ACCEPT
fw_removed=true
done
fi
if command -v ip6tables >/dev/null 2>&1; then
while ip6tables -C INPUT -p tcp --dport "$AGENT_PORT" -j ACCEPT >/dev/null 2>&1; do
ip6tables -D INPUT -p tcp --dport "$AGENT_PORT" -j ACCEPT
fw_removed=true
done
fi
if [ "$fw_removed" = true ]; then
echo -e " ✅ \033[32m原生 iptables/ip6tables 双轨锚点清理完毕。\033[0m"
else
echo -e " 💡 \033[33m未检测到残留底层拦截规则防线保持默认流转。\033[0m"
fi
fi
else
echo " 💡 未在主核配置内探测到通讯端口配置,跳过清理..."
fi
else
echo " 💡 核心配置文件丢失,未能追溯部署端口状态,放弃网络防御清洗。"
fi
# ----------------------------------------------------------
# [物理销毁] 抹杀持久化特征,销毁系统沙盒痕迹
# ----------------------------------------------------------
echo "[5/5] 正在抹除核心程序、配置文件与系统痕迹..."
if [ -d "$INSTALL_DIR" ]; then
rm -rf "$INSTALL_DIR"
fi
# 拔除 /tmp 目录下的所有更新下载临时文件和 V1/V2 遗留的偏移量记录
rm -f /tmp/ip_sentinel_*.txt
rm -f /tmp/ip_sentinel_*.json
echo "========================================================"
echo "✅ 卸载彻底完成IP-Sentinel 已从您的系统中无痕移除。"
echo "💡 提示:如果安装时在防火墙放行了 Webhook 随机端口,请您按需手动关闭。"
echo "✅ 卸载彻底完成IP-Sentinel 引擎及对空信道已从您的系统中无痕移除。"
echo "💡 提示:如果此前云端控制面板 (如 AWS/阿里云等) 配有入站安全组例外,请手动阻断以确保靶机零敞露。"
echo "👋 感谢您的使用,期待未来再次为您守护资产!"
echo "========================================================"
echo "========================================================"

View File

@@ -1,42 +1,35 @@
#!/bin/bash
# ==========================================================
# 脚本名称: updater.sh (IP-Sentinel 养料注入与分频调度中枢 - 动态锚点版)
# 核心功能: 静默更新热数据/LBS、指纹库错峰调度、强制出站死锁、版本无缝继承
# 脚本名称: updater.sh
# 核心功能: 指纹防惊群错峰轮换、LBS 底层静默分发、深度探针签名防伪
# ==========================================================
INSTALL_DIR="/opt/ip_sentinel"
CONFIG_FILE="${INSTALL_DIR}/config.conf"
UA_TIME_FILE="${INSTALL_DIR}/core/.ua_last_update"
# GitHub 仓库 Raw 数据直链前缀
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"
# 1. 加载本地冷数据配置
# --- [底层数据链装载] ---
if [ ! -f "$CONFIG_FILE" ]; then
exit 1
fi
source "$CONFIG_FILE"
# 2. 全局日志写入函数 (v3.4.0 引入版本探针)
# --- [全局态势日志系统] ---
log() {
# [v3.4.0 核心] 提取当前配置中的版本锚点
local local_ver="${AGENT_VERSION:-未知}"
# 保证日志目录存在
mkdir -p "${INSTALL_DIR}/logs"
# 日志格式注入 [版本号] 追踪标识
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 (如果系统支持)
if command -v logger >/dev/null 2>&1; then
logger -t ip-sentinel "$core_msg"
else
# 降级输出到 stdout让 Systemd 捕获
echo "$core_msg"
fi
}
@@ -44,16 +37,12 @@ log() {
log "Updater" "INFO " "========== 触发后台静默 OTA 热数据更新 =========="
# ==========================================================
# 🛡️ 终极护城河:构建强锚定出站的 curl 请求引擎
# [网络路由锁定] 构建强锚定出站屏障,彻底阻断跨协议溢出逃逸
# ==========================================================
# 基础参数:跟随 install.sh 锁定的协议偏好 (4 或 6)
CURL_CMD="curl -${IP_PREF:-4} -sL"
# 【防坑核心】如果用户配置了死锁锚点,必须强制绑定网卡,杜绝流量溢出!
if [ -n "$BIND_IP" ]; then
# curl 的 --interface 参数不支持带方括号的 IPv6 地址,必须强行脱壳
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
# [v3.6.3 容错层补丁] 探测网卡存活状态,防止 IP 漂移导致永久断网
if ! ip addr show 2>/dev/null | grep -qw "$RAW_BIND_IP"; then
log "Updater" "WARN " "检测到绑定的出口 IP ($RAW_BIND_IP) 已丢失,自动退回默认路由!"
else
@@ -62,28 +51,24 @@ if [ -n "$BIND_IP" ]; then
fi
# ==========================================================
# 3. 容灾机制拉取 UA 指纹池 (V3.3.0 引入 30 天错峰防惊群逻辑)
# [指纹池滚动更新] 错峰调度防惊群风暴算法
# 强制设定 30 天超长冷静期以规避 Github 限流与特征同构
# ==========================================================
NOW=$(date +%s)
LAST_UPDATE=0
# 读取上一次更新的时间戳
if [ -f "$UA_TIME_FILE" ]; then
# tr -d 清除可能存在的换行或回车符,防止算术崩溃
LAST_UPDATE=$(cat "$UA_TIME_FILE" | tr -d '\r\n')
fi
# 校验数据合法性,防崩溃
if ! [[ "$LAST_UPDATE" =~ ^[0-9]+$ ]]; then
LAST_UPDATE=0
fi
DIFF=$((NOW - LAST_UPDATE))
# 距离上次拉取超过 30 天 (2592000 秒),才执行下载
if [ "$DIFF" -ge 2592000 ] || [ "$LAST_UPDATE" -eq 0 ]; then
TMP_UA="/tmp/ip_sentinel_ua.txt"
# 使用重装升级后的 CURL_CMD
$CURL_CMD "${REPO_RAW_URL}/data/user_agents.txt" -o "$TMP_UA"
if [ -s "$TMP_UA" ]; then
@@ -99,9 +84,9 @@ else
log "Updater" "INFO " "⏳ 设备指纹池处于 30 天静默期 (剩余约 ${DAYS_LEFT} 天),跳过拉取"
fi
# ==========================================================
# 4. 容灾机制拉取当地最新搜索词库 (每日高频拉取,保证活体新鲜度)
# ==========================================================
# ----------------------------------------------------------
# [态势感知热更] 动态注入本土高权热搜及战区 LBS 规则
# ----------------------------------------------------------
TMP_KW="/tmp/ip_sentinel_kw.txt"
$CURL_CMD "${REPO_RAW_URL}/data/keywords/kw_${REGION_CODE}.txt" -o "$TMP_KW"
@@ -113,9 +98,6 @@ else
rm -f "$TMP_KW"
fi
# ==========================================================
# 5. 自适应拉取本地 LBS 专属 JSON 规则库 (每日同步)
# ==========================================================
REGION_JSON_FILE=$(find "${INSTALL_DIR}/data/regions" -name "*.json" 2>/dev/null | head -n 1)
if [ -n "$REGION_JSON_FILE" ] && [ -f "$REGION_JSON_FILE" ]; then
@@ -134,18 +116,23 @@ if [ -n "$REGION_JSON_FILE" ] && [ -f "$REGION_JSON_FILE" ]; then
fi
# ==========================================================
# 5.5. 容灾更新深海声呐底层探针 (彻底消除第三方 RCE 依赖)
# [容灾校验] 外置供应链投毒防线与底层签名嗅探
# ==========================================================
TMP_PROBE="/tmp/ip_sentinel_probe.sh"
$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"
chmod +x "${INSTALL_DIR}/core/ip_probe.sh"
log "Updater" "INFO " "✅ 深海声呐底层探针 (ip_probe.sh) 源文件安全对齐"
else
log "Updater" "WARN " "❌ 探针源文件拉取受损或遭投毒劫持,已触发防砖机制,保留本地旧版本"
rm -f "$TMP_PROBE" 2>/dev/null
fi
# ==========================================================
# 6. 日志防满瘦身机制 (保留最近 2000 行)
# [空间瘦身] 长效健康清理与爆栈预防机制
# ==========================================================
if [ -f "$LOG_FILE" ]; then
tail -n 2000 "$LOG_FILE" > "${LOG_FILE}.tmp"

100
data/keywords/kw_AE.txt Normal file
View File

@@ -0,0 +1,100 @@
sunil kumar sadasivan uae draw
manorama
دائرة القضاء
കാല്പന്തുകളി
nifty 50
the odyssey
excessive heat
weather
weather today
bbc urdu
bahrain
جياني إنفانتينو
us iran
connor murphy
الطقس
കാലാവസ്ഥ
vaibhav sooryavanshi
georgina rodríguez
weather abu dhabi
folarin balogun
الولايات المتحدة ضد بلجيكا
usa vs belgium
messi age
ميسي
كريستيانو رونالدو
mikel merino
bernardo silva
how old is ronaldo
uae families travel safety dubai police
manorama news
malayalam news
anthony gordon
england vs
jarell quansah
julián quiñones
raúl jiménez
bbc sport
england v mexico
iphone 17 pro
فرنسا ضد باراغواي
paraguay vs france
france vs paraguay
مباراة المغرب القادمة
azzedine ounahi
achraf hakimi
brahim díaz
مباراة المغرب
ലയണല് മെസ്സി
temperature
دبي
taylor swift
كولومبيا ضد غانا
brazil vs norway
diney
argentina next match
colombia vs ghana
sidny lopes cabral
todays world cup matches
algerie suisse
luca zidane
मौसम
سويسرا ضد الجزائر
എയര് ഇന്ത്യ
switzerland vs algeria
portugal vs spain
world cup 2026 schedule
diogo jota
fifa world cup 2026™
games
الولايات المتحدة ضد البوسنة والهرسك
usa vs bosnia and herzegovina
ismaïla sarr
thibaut courtois
mory diaw
claude fable 5
belgique sénégal
lottery
العاب
10
ind vs eng
world cup top scorers
المكسيك ضد الإكوادور
world cup results
mexico vs ecuador
ousmane dembélé
france suède
etihad rail stations
world cup bracket
morocco fc
crysencio summerville
virgil van dijk
bart verbruggen
cody gakpo
مباريات اليوم
new zealand vs england
pays-bas maroc
madhyamam
criminal liability
météo
morocco vs netherlands

View File

@@ -1,200 +1,100 @@
coles
elon musk
ben roberts-smith
ig
danish malewar
assassin's creed black flag resynced
sarfaraz khan
kartik sharma
instagram stories not working
meningococcal b
sundaresh menon
thunder vs suns
cade cunningham
real salt lake vs inter miami
pope francis
camera
anzac
teams
kids news
bonds
hung cao
classroom
michael jackson biopic movie
india women vs south africa women
nato
bayern munich
barcelona vs celta vigo
bournemouth vs leeds
leverkusen vs bayern
psl
burnley vs man city
elche vs atlético madrid
lsg vs rr
pakistan super league
kyle sandilands alleged rant jackie o
carrie bickmore
adam levine
alexandra eala
tubi
charles melton
nuclear weapon
janet jackson
justin bieber australia tour
fleche wallonne 2026
ange postecoglou
john hattie
airbus a380
real madrid vs alavés
brighton vs chelsea
woolworth
nitish rana
lyrid meteor shower
世界地球日
youth gang
earth day
crystal palace vs west ham
d4vd
mi vs gt
perth weather
elijah hollands carlton football club
fair work commission fuel
vanguard
sydney sweeney
cailee spaeny
psg vs lyon
sporting vs benfica
celtics vs 76ers
bundesliga
pl
afc cup
mars rover
celtic fc
bayern vs vfb stuttgart
bom radar
sydney weather
melbourne weather
brisbane weather
adelaide weather
myGov login
news.com.au
rory mcilroy
conor nash
jarome luai
ryan cho hidden camera charges
narendra modi visit australia
luke wilson
wegovy pill australia
boyz to men australia tour
jillian segal
dodgers vs rockies
state of origin game 3
missing k2 airways boeing 737
queen mary of denmark
nab
shampoo
mortgage brokers
capital gains tax
connor murphy
strawberry fields
echo law qantas
singapore airlines
dreamdoll
fraud
economy of australia
christian pulisic
usmnt vs belgium national football team lineups
amadou onana
trossard
de bruyne
pam the bird
julia morris
tattslotto
jordan henderson
morgan rogers
first guardian master shield superannuation
jarell quansah
alireza faghani
julián quiñones
bellingham england
gilberto mora
knights vs dolphins
robert irwin
check my ticket
child care
daycare
childcare
kevin prince boateng
abc news
nrl ladder
afl scores
afl fixture
matildas
sam kerr
bunnings opening hours
coles catalogue
woolies specials
qantas
virgin australia
jetstar flights
commbank
asx 200
sydney morning herald
the age
ticketek
ticketmaster
opal card top up
myki top up
translink timetable
transperth journey planner
adelaide metro
adelaide 500
adelaide crows
port adelaide
penrith panthers
brisbane broncos
collingwood fc
sydney swans
west coast eagles
paraguay vs france
wimbledon results 2026
gold coast vs collingwood
fremantle dockers
canberra raiders
mcg events
optus stadium
the gabba
state of origin
australian open
melbourne cup
masterchef australia
mafs australia
petrol prices near me
australia post tracking
service nsw login
vicroads
queensland health
medicare
ato
jb hi-fi
kmart
amazon.com.au
vivid sydney
mona hobart
dark mofo
floriade canberra
rottnest island ferry
sydney airport arrivals
rba interest rate
nsw school holidays
qld school holidays
wa school holidays
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
binge
9now
7plus
abc iview
hoyts cinemas
event cinemas
big bash league
the ashes
socceroos
bathurst 1000
booking.com
airbnb
webjet
bali weather
smartraveller
lotto results
powerball results
dutton ranch
hawthorn vs melbourne
all blacks vs france
luis suarez
colombia vs ghana
lisandro martínez
qatar airways
supermarket
sébastien desabre
australia house prices
johan manzambi
bat rabies death
switzerland vs algeria
diogo jota
portugal
rafael leao
pokemon 30th anniversary pre order
jacinta nampijinpa price
dp world tour
ethan strange
sophie, duchess of edinburgh
betts shoes administration
usa vs bosnia and herzegovina
oz lotto
jaylen brown
romelu lukaku
australia july 1 financial changes
karl stefanovic radio show cancellation
lachie neale ross lyon meeting
moises henriques international switch
kalgoorlie coles
piero hincapié
mexico national football team vs ecuador national football team stats
mexico
mexico ecuador
mexico vs ecuador
anthony albanese ey
summerville
supreme court of the united states
issa diop
wout weghorst
cody gakpo
van hecke
ndis taskforce conviction statistics
truck crash hume highway
hakimi
new south wales police

100
data/keywords/kw_BD.txt Normal file
View File

@@ -0,0 +1,100 @@
t
fa
graham platner
চুক্তি
প্রথম আলো
result
bdnews24
mi new york vs san francisco unicorns standings
বাংলাদেশ রেলপথ
newspaper
bbc bangla
মাদ্রাসা শিক্ষা অধিদপ্তর
বৈঠক
fifa president infantino
imo
ফ্রান্স বনাম মরক্কো
weather
spain vs belgium
weather today
argentina vs switzerland head to head
beef
switzerland vs colombia world cup 2026
বেলজিয়াম
round of 8
hans vanaken
malik tillman
amadou onana
leandro trossard
portugal
christian pulisic
zim vs ban
argentina vs norway
সেনেগাল
আর্জেন্টিনা বনাম মিশর
portugal vs spain world cup 2026
পর্তুগাল বনাম স্পেন
mexico national football team
mexico england
gilberto mora
raúl jiménez
আয়কর
কিলিয়ান এমবাপে
ব্রাজিল বনাম নরওয়ে
fifa world cup today match
england vs mexico
brazil versus norway
fifa next match
নবম পে স্কেল
paraguay vs france
morocco fc
colombia next match
argentina vs cabo verde
কলম্বিয়া
luis díaz
antoine semenyo
ফিফা বিশ্বকাপ ২০২৬
argentina vs egypt
round of 16
gonzalo montiel
fifa world cup brackets
seattle orcas vs mi new york standings
প্রাথমিক বিদ্যালয়
argentina vs cabo verde world cup 2026
rubén vargas
ibrahim maza
gregor kobel
আকিজ গ্রুপ
সুইজারল্যান্ড বনাম আলজেরিয়া
australia vs egypt
portugal vs spain
dhaka stock exchange
switzerland vs algeria world cup 2026
portugal vs croatia world cup 2026
দৈনিক প্রথম আলো
জবাই
যুক্তরাষ্ট্র বনাম বসনিয়া
পর্তুগাল বনাম ক্রোয়েশিয়া
দৈনিক কালবেলা
বেলজিয়াম বনাম সেনেগাল
krépin diatta
পূর্বাভাস
england vs dr congo world cup 2026
oneplus n6
norway vs brazil football history
belgium vs senegal
2027 bmw x5
piero hincapié
roberto alvarado
guillermo ochoa
british american tobacco
আবহাওয়ার খবর
michael jackson biopic
সম্মিলিত ইসলামী ব্যাংক
neil el aynaoui
fifa world cup 2026 results
noussair mazraoui
wout weghorst
azzedine ounahi
ফাইনাল
মুস্তাফা মনোয়ার

100
data/keywords/kw_BG.txt Normal file
View File

@@ -0,0 +1,100 @@
нап
дир
dir
пик
outlook
нато
radio
9 юли
труд
pogoda
диагноза българия
камелия нейкова
wetter
медия
габриеле мини
switzerland vs colombia
james rodríguez
james rodriguez
швейцария колумбия
колумбия
lauren bennett
ивайло чочев
аржентина египет
геомагнитна буря
сащ белгия
usa vs belgium
portugal
nuno mendes
боташ
yamal
ейса гонсалес
ивайло мирчев
световно
полша
созопол
england mexico
мексико срещу англия
mexico england
world cup 2026
fifa
национална агенция за приходите
france vs paraguay
време
делян пеевски
тенис
франция парагвай
2026 fifa dünya kupası
бнт на живо
wimbledon
канада срещу мароко
икономика
политическа партия
главна дирекция „борба с организираната престъпност“
дъжд
погода
перник
colombia vs ghana
deroy duarte
vozinha
наталия асенова
швейцария алжир
симеон дянков
швейцария срещу алжир
hava durumu
швеция
времето варна
ралица паскалева
бедност
сащ срещу босна и херцеговина
usa vs bosnia and herzegovina
bnt 1
novak djokovic
слънчево изригване
белгия сенегал
belgium vs senegal
сенегал
mexico vs ecuador
мексико еквадор
лаура кьовеши
fifa world cup games
france
франция швеция
hm
франция срещу швеция
france vs sweden
вадим ермолаев
миг-29
танкер
иван демерджиев
метеорология
sportal
netherlands vs morocco
кмет
самсунг
земетресение турция
24
29 юни
десислава радева
dunavmost.com
българия

View File

@@ -1,140 +1,100 @@
gta 6
japon
padres vs rockies
guide de la révolution de l'iran
casa pia vs braga
denaturalization
ocean
alberta referendum
vfb stuttgart vs sc freiburg
gpt 5.5
noah cates
pwhl scores
hank idsinga
karoline leavitt
ottawa charge
million dollar secret
white sox vs diamondbacks
suns vs thunder
stars vs wild
jaafar jackson
airport
grand theft auto vi
pentagone
etats unis
monette farms news
jose soriano
jon cooper
barcelona vs celta vigo
764
david scott
rodrigo duterte
u18 world championship
zara tindall
graham platner
lsg vs rr
nikki glaser
global news edmonton
policier
nuclear weapon
motorcycle
msc francesca
poet stock
fifa tickets
7 jours
alexandra eala
earth
zara larsson
girona vs real betis
kevyn adams
ali khamenei
inter côme
leicester city vs hull
fenerbahçe
françois bonnardel
missile
real madrid vs alavés
vrabel and russini photos
will trent
ibm
lecce vs fiorentina
celeste rivas hernandez
abhishek bachchan
national guard of the united states
triathlon
vincent trocheck
benyamin netanyahou
kings vs avalanche
crème solaire
trabzonspor vs istanbul başakşehir
indigenous rights
meghan, duchess of sussex
gwyneth paltrow
toronto gas prices
président
mets vs cubs
matt fitzpatrick
sénateurs hurricanes
senators vs hurricanes
man utd
spurs
evan mobley
chelsea vs man united
atlético madrid vs real sociedad
roma vs atalanta
cf montreal
jakob poeltl
ukraine
contrôle routier québec
bachelorette 2026
lens toulouse
arber xhekaj
leylah fernandez
anthropic
paige wwe
inter cagliari
carrie ann inaba
syria
highway hotline sk
real betis vs braga
vincent bolloré
europa conference league
resident alien
battlefield 6
aston villa vs bologna
nottm forest vs porto
soccer
lamour est dans le pré
luis suárez
listeria
strc
bayern
arda güler
aleksandar pavlović
kooora
yalla kora
ina garten
jordan goodwin
jerami grant
jimmy snuggerud
clav
bts
zach galifianakis
billy crystal
club américa vs nashville
allison williams
CBC News
Canada.ca
Toronto Weather
NHL Scores
Amazon.ca
Air Canada
Service Canada
CRA login
Rogers
Bell Internet
Tim Hortons
Indigo
Canadian Tire
Walmart Canada
Toronto Raptors
saskatoon weather
weather saskatoon
flight instructor jumps out of plane
amber alert
charlize theron
dodgers
tiffany haddish
gakuran codes
paddy pimblett
avion
kps gill
ernie clement
margaret qualley
allison janney
keke palmer
trevor mcdonald
sky vs mercury
rockies vs dodgers
nba
colbert
dreamdoll
richmond bc charter boat sinking
lac megantic disaster
sea to sky highway accident
landen roupp
storm vs sparks
kevin gausman
house of the dragon season 3 episode 3
iron bird seed
usa vs belgium prediction
switzerland vs colombia
who is left in the world cup
fifa schedule
wonderwall
who will england play next
bellingham yellow card
demar derozan
weather calgary
mets vs braves
québec
lee greenwood
mark zuckerberg
enola holmes
nick jonas
boston bar fire
fire vs storm
northern lights
shohei ohtani
louis varland
july 4th
round of 16
nba summer league 2026
george springer baby
sean keys
emma stone
luis castillo
northern lights forecast
fifa president
real madrid
sick leave germany
fourth of july
egypt vs australia
gianni infantino
storm vs mercury
내일 날씨
kyle lowry
stephen colbert
toronto fireworks canada day
maple leafs nhl free agency
clint black
canada day fireworks victoria
tom hanks
mel gibson
الطقس غدًا
fireworks kelowna
big coast charter vessel
加拿大国庆日
día de canadá
mexico next game
love island usa season 8 episode 25
angels vs mariners
fargo
rush concert
fête du canada
weather network edmonton
weather radar
edmonton weather
norway vs ivory coast
nrg stadium
walton goggins
2026 world cup
world cup games tomorrow
matchs de coupe du monde
fifa world cup 2022
apple iphone 18 pro max
msi 2026
banff accident today
beck malenstyn
from season 5
canada day

View File

@@ -1,163 +1,100 @@
matthias ginter
ralf schmitz
maximilian eggestein
hull city
demirovic
elton john
jeff chabot
lindt schokolade
manzambi
angelo stiller
lamine yamal verletzung
peer steinbrück
h&m
lotto 6aus49
pistons magic
chemnitzer fc erzgebirge aue
asiago
23 nisan
sternschnuppen heute lyriden
aryna sabalenka
michael douglas
herman van veen
georgina fleur
tui
trainer bayern münchen
katie holmes
prinz frederic
bayern vs
flekken
бернли манчестер сити
ard
queen camilla
clankriminalität
politik
gladbach-news
sara gündogan
krankenversicherung
jan-lennard struff
bryan lasme
republikanische partei
thailand
robin gosens
maremma
tennis madrid
osterburg
برايتون ضد تشيلسي
sebastian hoeneß
ncis
menowin fröhlich
maren gilzer
cineplex
gina schumacher
alexander räuscher
riza kayaalp
heppenheim
ministerpräsident
robbie williams
brian littrell
saarbrücken hauptbahnhof
frauen-bundesliga
lemgo
kommissar rex
hemsbach
benjamin weber
sydney sweeney
martin schindler
robert kennedy
antoni kowalski
luna
paris-sg lyon
arte live
dominik kohr
dumbledores geheimnisse
kampf der realitystars
kerner
tennessee
billy idol
kfc uerdingen
bastian pastewka
gnabry
lok leipzig heute live ticker
true lies wahre lügen
челси манчестер юнайтед
nurburgring
fortnite server status
süperlig
ronaldinho
esther schweins let's dance
michael jackson film 2026
oliver pocher
die queen film
milano
straße von hormus
motsi mabuse
rayo vallecano
harry meghan
irland
betis sevilla
vermisste person
konferenz league
garda
judith hoersch
jörg pilawa
strasbourg
real madrid vs bayern
kicker
mbappe
flashscore
sport1
vini jr
bet365
kompany
jude bellingham
upamecano
gute zeiten, schlechte zeiten
regierungserklärung
erdogan revolver nato
fußball wm frankreich marokko
gesundheitssystem
katy karrenbauer
hannah dugan
rp online
torgau
könig charles iii
tilly norwood
evelyn palla
onana belgien
kai wegner
marlene lufen
du bist halle
wetter münchen
usa iran
bären
ertrinken
bayern 1
anita orbán
argentina vs egypt world cup 2026
raffelberger mineralbrunnen gmbh
norwegen england
inflation
fog warning
wetter bochum
wetter aachen
wetter bonn
onet
protest
jamie dornan
heizöl
champions league
uefa champions league
keytruda
péter magyar
psg
hechingen
şampiyonlar ligi
tschernobyl 1986
amazon video
paris saint-germain
dietrich grönemeyer
fränkische schweiz
scarlett johansson
jeff bezos
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
samsung aktie
marine le pen
a13
jo gerner
finanzen.net
nicola peltz
biomethan
wegovy
uefa
lipowitz tour de france 2026
1. fc nürnberg
aktie
ingrid alexandra
schweiz kolumbien prognose
berchtesgadener land
horoskop
washington, d.c.
schützenausmarsch hannover 2026
bruce w i l l i s
tour de france heute
dividendenrendite
موجة حر
bäcker
sonntagsfrage
joschka fischer
endometriose
großbrand stuttgart wangen
struff
afghanistan
tresoldi
raser
stavenhagen
gigi hadid
global combat air programme
ballistische rakete
hochzeit taylor swift
scuderia ferrari
challenge roth
erpressung
lanz mediathek
short squeeze
außenminister
temperatur
autobahn
crowdstrike aktie
sébastien desabre
krankenhaus ludwigslust brennt
mark harmon
bibi und tina freizeitpark
widow's bay
wm achtelfinale 2026
große backen
tjark ernst
sondersendung
fargo
veterinäramt
пособие
fable 5
erneuerbare energien in deutschland
piusbruderschaft
jürgen hingsen
bvb transfer
spritpreise tankrabatt
lebensbescheinigung
steam machine ebay
frank-walter steinmeier
dieselpreis
teheran
peter remmert
chiemsee
eugenia roccella
portugal kroatien
landeanflug
європейська комісія
verspätung

View File

@@ -1,140 +1,100 @@
clasificación de primera división
javier hidalgo
cayetano martínez de irujo
llanes
vfb stuttgart freiburg
roca rey
psv - zwolle
daredevil
a que estas esperando
real oviedo - villarreal
real salt lake - inter miami
pistons - magic
barcelona sc - mushuc runa
kick
raphinha
lluvia estrellas liridas
frenkie de jong
santos - coritiba
del cerro grande
phillip cocu
cospedal
david wilcock
barcelona - celta de vigo
barcelone celta vigo
macarena gómez
luis merlo
bournemouth vs leeds
racing de estrasburgo - niza
rafael jódar
burnley vs man city
alaska cantante
raúl gonzález blanco
marta sanchez
roberto bautista
cifras y letras
xbox game pass ultimate
horse powertrain
las hurdes
herbicida cancer colon
lluvia de barro
ripoll
manilva
steve jobs
berrettini
prizmic
laura moure
lens - toulouse
girona vs real betis
yuri berchiche
clasificacion liga
posiciones de la liga
resultados liga
lfp
umar sadiq
реал мадрид алавес
jan virgili
moreirense - estoril
downton abbey
ganaderias san fermin 2026
aravind srinivas
eitb
boe
unicaja
las provincias
rtve directo
ferran adrià
tve
la voz de galicia
el independiente
partido popular
semana
leonor de borbón
tiempo bilbao
diario de mallorca
presupuesto
codigo 10
sverre magnus de noruega
connor murphy
incendio grave
juan del val y nuria roca
koldo garcía izaguirre
jorge martín
mike james
carla leite
eclipse solar del 12 de agosto de 2026
crystal palace - west ham
luz valdenebro
porto - tondela
santos - fluminense
juventus
almería - málaga
punjab kings vs lucknow super giants standings
mönchengladbach mainz
victor eloy
paris-sg lyon
psg vs lyon
zamora - osasuna b
estrecho
nurburgring
la 1 directo
oyarzabal
enrique cerezo
fraude
tasa
la 1
tve directo
cuántas copas del rey tiene la real sociedad
eugenia martínez de irujo
ccoo
racing de santander
racing
baliza v16
st. pauli köln
iphone 18
st. pauli - colonia
nico paz
lionel messi
armengol
pau víctor
braga fc
fiorentina vs crystal palace
morante hoy
iago aspas
aston villa
real betis vs braga
ministerio de sanidad
az - shakhtar
arsenal
tiktok
harry kane
sudan
lunin
airef
tiempo de juego
fc bayern
militao
bellingham
supervivientes
jalen green
rockstar games
bam adebayo
china
suns - trail blazers
euromillones
ldu quito - mirassol
davion mitchell
universitario - coquimbo unido
El País
Marca
RTVE Noticias
La Liga
Real Madrid
Barcelona FC
Tiempo Madrid
Renfe
Iberia
Amazon España
El Corte Inglés
Hacienda
Mercadona
YouTube Música
Entradas Cine
alfonso muñoz cuenca
dan buettner
xbox
encierros san fermin 2026
rodri bernardo silva
meteorología
doku
carmen cervera
chupinazo san fermin 2026
pedro blanco
jordan henderson
lawfare
folarin balogun
resultados mundial
delcy rodríguez
mèxic - anglaterra
fifa world cup 2026™
brasil noruega
paz vega
robo
unión europea
ferrocarril
jordi évole
luis zahera
contrarreloj por equipos
vacaciones
tu cara me suena
julián alvarez
richard rios
caracol en vivo
gol caracol
caracol tv
colombia mundial
colombia fc
transfermarkt
fifa world cup brackets
la muerte de robin hood
silo
manzambi
ana botín
radio nacional de españa
diputación provincial de cádiz
switzerland vs algeria
suisse algérie
suiza argelia
copa mundial de la fifa 2026™
francina armengol
niño murciélago
estados unidos
estados unidos - bosnia y herzegovina
usa vs bosnia and herzegovina
jaylen brown
pepon nieto
onana
eduardo camavinga
sirivannavari
dimisión
incendio barcelona
porta
mundial ayer
iñaki urdangarin
mexique équateur
gilberto mora
julián andrés quiñones
mundial hoy
mexico fc
fernando grande-marlaska
sheila casas
tribunal supremo
hacienda
migración
marruecos vs canada
marca
papa león xiv
denzel dumfries
pegasus
emma raducanu

View File

@@ -1,157 +1,100 @@
m6
caitlyn jenner
star academy
bfm marseille provence
hunter schafer
unchosen netflix
john travolta
valence-romans brive
reem kherici
will smith
real salt lake inter miami
neymar
les traîtres
jacob elordi
pistons magic
invincible
santos coritiba
ios 18
la liga
royaume uni interdiction tabac
stephane tapie
tondelier
benjamin duhamel
loto 22 avril 2026
interdiction tabac royaume uni
lol qui rit sort
eva longoria
alain bauer
achraf hakimi
ibrahim mbaye
mma
roberto calvet
budget
coupe du monde de football 2006
plus belle la vie en avance
mateus fernandes
tour des alpes 2026
lorenzo finn
maine-et-loire
mathieu flamini
kamel daoud
vandalisme
sydney sweeney
julien odoul
france2
xavier dupont de ligonnès
elisabeth 2
antibes
girona betis
christine bravo
الريال ضد ألافيس
madonna age
margot haddad
ana riera
hinaupoko devèze
bruce toussaint
cheque energie
reid wiseman
loto 20 avril 2026
from serie
toulouse
racing 92 stade français
juventus - bologna
film une annee difficile
échouement
programme tv ce soir
porto tondela
matthieu pigasse
santos fluminense
gta 6
laetitia milot
loto 18 avril 2026
bercy
pierre lellouche
adele
adil rami
castres toulouse
angel
stéphane bern
anne claire coudray
pmu résultat
laury thilleman et paul mirabel
quinté du jour
euromillions 17 avril 2026
uson
guillaume meurice
pmu
grenoble oyonnax
bagarre
programme télé
tchernobyl
géraldine maillet
biot
racing
liga europa
tv ce soir
programme tv de ce soir
brad pitt
aston villa
michael olise
robert ménard
match ce soir
sporting
ester exposito
bellingham
iptv
militao
jeff goldblum
lunin
kiev
julien royal
viktor orbán
aqababe
nhl
suns trail blazers
bam adebayo
davion mitchell
l
santos recoleta football club
atletico madrid
tf1
uefa champions league
camille cerf
giorgi mamardashvili
streaming football
atlético madryt fc barcelona
miss france
rts
leonardo balerdi
yann barthes
alain delon
loto du 13 avril 2026
juan arbeláez
hbo
katy perry justin trudeau
tondela gil vicente
le rugbynistère
epstein
kino
horoscope du 13 avril 2026
golf masters augusta 2026
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
la depeche
prix carburant
mercato
thierry valtat grand reporter
cgt
japan expo 2026
nolwenn olivier
graham platner
air force one
feu bordeaux
engin explosif
radio
mondial la marseillaise à pétanque
union européenne
ilgiz tantashev
tesla model y
donald trump
lucas chevalier
chien
requins
encierro pampelune 2026
hellfest
bryan johnson
rtve directo
duc de sussex
poubelle
conducteur
livret a
navire
resultat loto 6 juillet 2026
donation
la provence
chine
portugal vs spain world cup 2026
princesse de galles
équipe de france
verdict
resultat bac
binance
accident a8
héritage
enseignant
résultat match coupe du monde
population active
thonon-les-bains
moissonneuse
finistère
l'amour est dans le pré
clément berthet
grotte
lons-le-saunier
fédération sénégalaise de football
astrid n oubliez pas les paroles
delphine batho
tableau 8eme de finale coupe du monde 2026
roxana guzman
andré ohanian
josé luis chilavert
kostiantynivka
bison futé
argentine cap vert pronostic
volkswagen
ali khamenei
autoroute a9
cancer
laurent blanc
circuit de silverstone
meteo toulouse
travis kelce
jeu vidéo
karine le marchand
one piece 1187
drone
banque centrale européenne
thomas sotto
aurélien enthoven
dany leprince
pronostic espagne autriche
pesticide
probleme reseau orange
mehdi kessaci
ici tout commence du 1 juillet 2026
england vs dr congo world cup 2026
bad bunny
meteo nancy
etna
elena colas
eng vs congo-kinshasa
assurance vie
rer b
côte d'ivoire vs norway world cup 2026
resultat brevet 2026
keiko fujimori
montpellier
congé de naissance
resultat cdm
transfert
resultat loto 29 juin 2026
resultat bts
marché boursier

View File

@@ -1,155 +1,100 @@
weather hong kong
天文台
hk observatory
observatory
csk vs mi
長沙灣
魔音女團
明天的天氣
球迷世界
天星銀行
game
林嘉華
套餐
賈曉晨
hk weather
綠色債券
barcelona vs celta vigo
weather
7-eleven
天气
班來 對 曼城
埃爾切 對 馬德里競技
rosenior
jaafar jackson
艾納斯
liam rosenior
巴黎聖日耳曼 對 南特
chatgpt image 2
啟德醫院
李泳漢老婆
破產
weather tomorrow
繼承人
英皇群星演唱會
布浩榮
新聞
貨幣貶值
居 屋 2025
3988
李泳豪老婆
皇家馬德里 對 艾拉維斯
李泳漢
鄭欣宜
srh vs dc
鍾嘉欣
張柏芝
江美儀
全港戲院日 2026
江旻憓
陶傑
水晶宮 對 西漢姆聯
吉達艾阿里
山口智子
百佳超級市場
利息
戴祖儀
陳若思
麥當勞
首岸
中国商飞c919
pl
bundesliga
hailey bieber
德甲
cherki
now
曼城
now tv
al nassr
洪金寶
曼聯
車路士
切爾西 對 曼聯
英超
何沛珈
熱刺
tottenham vs brighton
熱刺 對 布萊頓
epl
ai
芊御價單
華 富
金子涵
司機
补贴
華富邨
零售
藍莓
商湯科技
周國豐
啟點
歐聯
神戶勝利船
潘宏彬
姚正菁
木乃伊
ios 26
李克寧木乃伊
田啟文
曼寧加
arsenal
ucl
歐洲聯賽冠軍盃
arsenal vs sporting
bayern vs real madrid
real madrid
皇馬
拜仁慕尼黑 對 皇家馬德里
claude
補貼
nba 直播
航空公司
向華強
李嘉欣
typhoon
nba
nba線上看
nba直播
全民國家安全教育日
運輸署
liverpool vs psg
利物浦
barcelona
歐冠
馬德里競技 對 巴塞隆納
利物浦 對 巴黎聖日耳曼
hkjc
馬會
航空
2035
man united vs leeds
曼聯 對 里茲聯
prediction market
預測市場
polymarket
巴基斯坦
sndk
楊何蓓茵
樂珈嘉
姜濤
日經平均指數
飲茶
上市公司
daniel caesar
中年好聲音4
香港天文台
煤氣
livenation
政府
香港天文台天氣預報
MTR 港鐵路線圖
OpenRice 附近美食
LIHKG 討論區
恆生指數今日行情
SCMP breaking news
HKEX 港交所股價
國泰航空航班狀態
香港迪士尼樂園門票
百佳超級市場網購
白石角站
star
吳亦偉
香港01
湯洛雯
排球
國泰航空
飛彈
朱維德
犯罪
香港的士
羅 雪 妍
樂 易 玲
酒店
溺水
九龍華仁中學
洪水
比寧咸
香港 暴雨 警告 信號
folarin balogun
香港天气
usa vs belgium
華領醫藥
weather
天气
食用油
ib
機場
黃有龍
jordan henderson
mexico vs england world cup 2026
jarell quansah
england mexico
墨西哥 對 英格蘭
observatory
陳松伶
薛守智醫生
paraguay vs france
巴拉圭 對 法國
whatsapp
france vs paraguay
巴西對挪威
巴拉圭
加拿大對摩洛哥
canada vs morocco
巴士
16 強 賽程 表
taylor swift
屯 門 官 立 中學
尹兆堅
墨西哥
sidny lopes cabral
colombia vs ghana
世界杯赛程
安多尼·伊勞拉
瑞士足球
switzerland vs algeria
皇崗口岸
百佳超市
diogo jota
世界杯賽程
portugal fc
葡萄牙對克羅地亞 直播
馬鞍山信義學校
曾志偉
梁珊
日元
財務 自由
日元兌港元
903
維德角國家足球隊
恆生指數
美國
郭羨妮
一號戒備信號
黃錦輝
董建華
英格蘭對剛果民主共和國
宣萱
巨無霸餐買一送一
kawhi leonard
梁芷珮
world cup 2026 schedule
氣旋
失業
角球
hakimi
netherlands
cody gakpo
荷蘭 對 摩洛哥
netherlands vs morocco
林凱恩
疥瘡
低氣壓

100
data/keywords/kw_ID.txt Normal file
View File

@@ -0,0 +1,100 @@
israel
instagram
detik
whatsapp
netflix
schweiz
jecx
74 kg emas berapa rupiah
gempa hari ini
pusat gempa hari ini
boeing 737
pemadaman bergilir
what
france vs morocco world cup 2026
zlatan ibrahimovic
apakah andra st kecelakaan
france vs morocco
ketua umum
aparatur sipil negara
marco materazzi
subsidi
pengumuman undip
onana
usa belgia
hans vanaken
pulisic
federasi sepak bola prancis
jérémy doku
malik tillman
sergiño dest
raja juli antoni
prediksi portugal vs spanyol
morgan rogers
alireza faghani
santiago giménez
raúl jiménez
spmb banten
azteca stadium
jesús gallardo
bukayo saka
ledakan
inggris vs meksiko
berita
suo
pildun
brazil vs norwegia
hasil piala dunia 2026 hari ini
eintracht frankfurt
francis
brave
maroko vs kanada
prediksi kanada vs maroko
jadwal 16 besar piala dunia
kolombia ghana
richard ríos
travis kelce
gustavo puerta
jhon lucumí
david ospina
marvin senaya
fifa 2026
kantor perwakilan bank indonesia tegal
polisi
manzambi
rubén vargas
aïssa mandi
ramiz zerrouki
gregor kobel
ibrahim maza
bmkg
belarus
prediksi portugal vs kroasia
lodewyk pusung
tim ream
timothy weah
nikola vasilj
tarik muharemović
mattia liberali
matt freese
sarah gibson
prediksi belgia vs senegal
hincapie
harga bbm pertamina dex
kendry páez
edson álvarez
england vs dr congo world cup 2026
hernán galíndez
pedro vite
spanyol vs austria
nadiem makarim
menteri
hut bhayangkara 2026
marocco
summerville
wout weghorst
belanda fc
cody gakpo
maroko vs belanda
ujian mandiri
grand theft auto vi

100
data/keywords/kw_IN.txt Normal file
View File

@@ -0,0 +1,100 @@
இன்ஸ்பெக்டர்
voter id
supreme court of india
udise+
ಕರ್ನಾಟಕ
manoramaonline
wp
play store
lucho
crs
chief minister vijay legal challenge
kusumgar ipo
knack packaging share price
vedanta power share price
jio finance share price
shpageeza cricket league
cupid share price
vedanta oil and gas share price
mcx share price
apollo micro systems share price
నాగార్జున
nothing 4b
shivashree ritu singh news
trent share price
titan share price
कर्क
હવામાન
sir odisha
सोना
क्रिस्टियानो रोनाल्डो
san francisco unicorns vs mi new york standings
जनता पार्टी
बेंजामिन नेतन्याहू
परिणाम
இந்திய ரிசர்வ் வங்கி
abp maza live
अग्निपथ योजना
अवकाश
रवि बिश्नोई
தொல். திருமாவளவன்
मानसून
राशियाँ
தமிழக வெற்றிக் கழகம்
ഡോണള്ഡ് ട്രംപ്
sri lanka vs west indies
श्रीलंका बनाम वेस्टइंडीज
washington freedom vs san francisco unicorns
royals vs phillies
washington freedom vs san francisco unicorns standings
త్రిష కృష్ణన్
भारत के विदेशी मुद्रा भंडार
alpha movie 2026
ന്യൂസ്
ಆಲಿಯಾ ಭಟ್
அனைத்திந்திய அண்ணா திராவிட முன்னேற்றக் கழகம்
बारिश
जेम्स कोल्स
epfo member portal
annapurna
luis suárez
seattle orcas vs mi new york standings
12th result 2026
10th result 2026
ಅಮೃತಧಾರೆ
ca foundation result may 2026
रूस
uan portal
epfo
vedanta iron and steel share price
ceo telangana
ಸಂಸತ್ತು
अशनूर कौर
राजनाथ सिंह
कर्मचारी
sir 2002 voter list
los angeles knight riders vs washington freedom standings
गौतम अदाणी
जोस बटलर
ग्रामीण विकास
ldc admit card
reliance power share
नागरिकता
prasad corp partnership news
advit jewels share price
rites share price
knack packaging ipo
விலை
amo sharks v band-e-amir dragons
ಸುದೀಪ್
കേരള സര്ക്കാര്
ap eamcet results 2026
prasad corp monsoon colour news
ind vs eng t20
sir form
rajnath singh resignation congress demand
today gold rate in chennai
awarapan 2 release date
reckless driving
awarapan 2
साप्ताहिक राशिफल

View File

@@ -1,154 +1,100 @@
石油
ios 26.4 2
ポケモンカード
シュトゥットガルト 対 フライブルク
ドラクエ スマグロ 攻略
ipl
kick
アコム
鈴木愛理
sox指数
村上世彰
桐山 照史
マラッカ海峡
ソニック
sbi新生銀行 株価
マイクラ
川口 春奈
サンダー 対 サンズ
インフルエンサー
サンケイビル
岡村隆史
上田竜也
メタプラネット
バルセロナ 対 セルタ
三橋くん
エルニーニョ
バーンリー 対 マンc
ボーンマス 対 リーズ u
elche vs atlético madrid
レバークーゼン 対 バイエルン
dior
ソシエダ 対 ヘタフェ
サイメモリ
b リーグ 順位
日ハム
ナダル
失点
岩瀬洋志
ファイターズ 試合
江村美咲
宝島社
井ノ原 快彦
ファイターズ
西郷隆盛
ボーダー
チェルシー
関税
ブライトン
佳子内親王
rマドリード 対 アラベス
鳥貴族
ブライトン 対 チェルシー
アシエンダ乗馬学
ngày trái đất
加藤小夏
町田ゼルビア
モンスターハンターシリーズ
クリスタル・パレス 対 ウェストハム
吉田正尚
旭琉會
神戸
てんちむ
浜辺美波
デーブ ロバーツ
皇治
小雪
にじさんじデビュー
ちゃんよた
坂本 花織
松山 千春
リーグアン
伊勢谷友介
bayern vs vfb stuttgart
chelsea vs man united
唐田えりか
102回目のプロポーズ
デゼルビ
アトレティコ 対 ソシエダ
チェルシー 対 マンu
スパーズ
清春
ディエゴ・ゴメス
ps5
ハイウェイ の 堕 天使 興行 収入
カブス 対 メッツ
dazn
サッスオーロ 対 コモ
杉咲花
町田 対 アル・イテハド
家計
週末旅の極意
北斗の拳
qvc
小芝風花
中井亜美
afc u20女子アジアカップ
ネオジオ
uefaヨーロッパリーグ
加藤史帆
志田未来
伊藤英明
島田麻央
al-nassr vs al-ettifaq
arsenal
レアル・マドリード
バイエルン
abema
real madrid
lucknow super giants vs royal challengers bengaluru standings
bayern vs real madrid
給付
wowow
小泉進次郎
政権
ミキティ
今日のドジャースの結果
新名神高速道路
わたせせいぞう
ピーチ航空
山本由伸
アレックス・ベシア
リバプール
champions league
アトレティコ 対 バルセロナ
オープンワールド
atlético madrid vs barcelona
松田好花
リコール
man united vs leeds
白鵬翔
日本アカデミー賞 最優秀助演男優賞
マンu 対 リーズ u
サンディスク 株価
らじるらじる
マクドナルド
ロシア
広島市
ゲイブル・スティーブソン
gta6
ドラクエウォーク
a24
カルビー
過失
中村 敬 斗 サマンサ
タイピング
ai
a
人権
ゴゴスマ 石井
石原環境大臣
ジョーダン・ロマノ
移籍
玉川徹
古舘伊知郎
ドジャース 対 ロッキーズ 試合 選手データ
エバン・フィリップス
神谷宗幣
鈴木 彩 艶
唐沢寿明
配当
カルチャーショック
大関
中国人民解放軍海軍
愛甲ひかり
ドラマ
hybe japan
summer sonic
全東信 破産
ウェールズ 公 妃 キャサリン
アジアバレーボール連盟
伊勢 佳世 鈴木 奈穂子
日本国債
中国 弾道 ミサイル 日本
薬師寺保栄
高市早苗
塩 貝 発言
小瀧望
長澤愛羅
上沼恵美子
給付金
日本レコード大賞
鹿島アントラーズ
福岡県議会
ドジャース 大谷
皇室 典範 改正 案
オリックス 対 西武
桐谷健太
シバザクラ
大谷翔平
橋本 愛 フジ テレビ 報道
中島 翔哉
ダノンヒストリー
ミゲル・ロハス
爆発
宮脇 咲良
ポケセン
副知事
ダイバート
かけっこ アイドル
津波予報
電池
盛岡市
フィギュア
暗号資産
クマ
本田 圭佑 監督
日本維新の会
新 日本 繊維
高見沢 俊彦
不登校
後期高齢者医療制度
バーミヤン
宮澤エマ
チケプラ
横綱
宮里美香
東京 天気 明日
新宿 おすすめ 居酒屋
最新のニュース 速報
ゴールド 相場 チャート
近くの静かなカフェ
円安 影響 生活
金価格
7月5日 地震
リコリス・リコイル
埼玉新聞
dayday.
電気自動車
鈴木 彩 艶 移籍
入場券
ちい かわ ココイチ
ワールド・ハイビジョン・チャンネル
グアム
愛子 内親王
ガス人間
那須塩原市
アドマイヤテラ
エース小吉
毎日放送
大阪都構想
目黒線
陸上自衛隊
長 友佑 都
アフラック 情報漏洩
ハロー キティ スリー コインズ
新車
伊藤浩子編み物
ray-ban meta
今永昇太
バートン 主審
パクヒョンギョン

100
data/keywords/kw_KH.txt Normal file
View File

@@ -0,0 +1,100 @@
fb
andrey santos
fifa world cup argentina
connor murphy
kylian mbappé
france vs morocco
thời tiết
switzerland vs colombia
lionel messi
fifa world cup 2026™
argentina vs egypt
usa vs belgium
fifa
世界杯直播
portugal vs spanyol
spain vs portugal
forex factory
portugal vs spain
mexico vs england
jadwal piala dunia 2026
世界杯
brazil vs norway
f1
xoso
france vs paraguay
morocco vs canada
colombia vs ghana
argentina vs cape verde
australia vs egypt
switzerland vs algeria
livescore
portugal national football team
portugal
spain vs
spain vs austria
portugal vs croatia
usa vs bosnia and herzegovina
belgium vs senegal
morocco national football team
england vs dr congo
ตรวจหวย
weather
mexico
football world cup
fifa world cup brackets
world cup 2026 schedule
mexico vs ecuador
fifa world cup games
france vs sweden
côte d'ivoire vs norway
weather tomorrow
belanda vs maroko
netherlands vs morocco
germany vs paraguay
fifa world cup 2026
japan vs brazil
algeria national football team
south africa national soccer team
brazil vs japan
bagan piala dunia fifa 2026
fifa world cup 2026 bracket
algeria national football team vs austria national football team standings
argentina
jordan vs argentina
portugal vs colombia
dr congo vs uzbekistan
colombia vs portugal
england vs panama
croatia vs ghana
uruguay national football team vs spain national football team standings
egypt vs iran
new zealand vs belgium
1
ការប្រកួតបាល់ទាត់ពិភពលោក fifa ឆ្នាំ 2026
cabo verde vs saudi arabia
spain vs uruguay
uruguay vs spain
siri
piala dunia
ecuador national football team
paraguay vs australia
türkiye vs usa
tunisia vs netherlands
japan vs sweden
fifa world cup standings
mexico national football team
google
czechia vs mexico
south africa vs south korea
brazil vs
morocco vs haiti
brazil vs scotland
klasemen piala dunia fifa 2026
fifa world cup 2026 standings
dr congo national football team
iphone
colombia vs dr congo
panama vs croatia
england vs ghana
portugal world cup

View File

@@ -1,100 +1,100 @@
왕다루
시그널
모하메드 살라
공화당
윤하정
청남대
더보이즈
노민우
서비스나우
김민지
박해미
국가유산청
삼성전자 주가
두산에너빌리티 주가
김성수
한국사
삼성전기 주가
국립중앙박물관
대우건설 주가
지방 선거
서정대학교
캔바
한국항공우주산업
디트로이트 대 올랜도
리그 1
elche vs atlético madrid
알나스르
al-nassr vs al ahli
10
로세니어
psg 대 낭트
테슬라 실적발표
루카스 모우라
9950x3d2
삼천당 제약 간담회
김재윤
k리그1 순위
유영찬
이호연
sxmb
문재인
생산직
강훈식
cnn
리그오브레전드
박환희
kia 타이거즈
단체교섭
손예진
상속
대한광통신
전성배
전북도민일보
게임
수도권 광역급행철도 c노선
재벌x형사 2
엔도 와타루
대한축구협회
뇌물
캐시워크 정답
개혁신당
브래드 피트
정우주
초복
문화일보
엔비디아
폭염
수소
서킷브레이커
매매
팔미도
icml
전공의
기부
산사태
논쟁
광주 군공항
박지현
카토
와우넷
지구의 날
컴프야
차지연
크리스털 팰리스 대 웨스트 햄
비상계엄
연기금
배틀그라운드
제이홉
두산로보틱스
부부
미노이 우원재
danish malewar
mi vs gt
양치 승
프리미어리그
pl
bundesliga
맨체스터 시티 fc
fotmob
윤아
김영인
манчестер сити арсенал
케이뱅크
날씨
환율
손흥민
토트넘 경기 일정
넷플릭스
국민은행
네이버웹툰
로또 당첨번호
쿠팡
KBO 리그
프로야구 순위
아이폰 15
챗gpt
인스타그램
유튜브 밴스드
이강인
김민재
LCK 일정
T1
페이커
무빙
카카오톡 PC버전
당근마켓
배달의민족
올리브영
메이플스토리
존 존스
박유천
임창정
돌싱글즈
폴란드
мексика англия
곰팡이
두산 대 키움
전소미
소진
영화
벌금
민생회복 소비쿠폰
이정효
박소영
백종원
이주승
오타니 쇼헤이
넥슨
톱스타뉴스
죽음
르브론 제임스
장원영
나솔
장동혁 가족상
박지성
fourth of july
류근
배달
박서진
도로
포스코홀딩스
알제리
홈 플러스 회생 폐지
경찰
송해나
우성빈
고우석
비행기
황정민
은행나무
이만기
부츠카리
이천시
왕옌청
반도체
심정지
지명 타자
마이클 버리
사우디아라비아
박미선
이마트
바둑
최형우
감동란
국민 연금 리 밸런싱
윤석열
파울루 벤투
아침
하재훈
육아휴직
현대자동차그룹
고두심
지역화폐

100
data/keywords/kw_LA.txt Normal file
View File

@@ -0,0 +1,100 @@
bitcoin
台风
alaskaair
rory mcilroy
showdown
dorothea puente
new york times
ca lottery
mookie betts
is mexico and england playing again
kospi
loans
kuwait
kyle karros
jordan romano
auli'i cravalho
evan phillips
mason miller
alex freeland
quinten post
openai
jaswant singh khalra
brennan bernardino
dodgers
dodgers game today
rockies
dreamdoll
new jersey fireboat whale collision
dodger game
real estate market
open world
jeremy renner
nolan xavier wells
ap
copa mundial de fútbol
seattle seahawks
cher
sebastian rulli
rittman ohio
will smith
coney island shooting
denzel washington
flood warning
newport beach news
waikiki fireworks
provo fire
seattle fireworks
westgate shooting
chelan hills fire
jaidyn alexis and bravo
tanner scott
kelsey rowing
shohei ohtani
vaccines
happy 4th of july 2026
flu shots
immunizations
vaccinations
sk hynix stock
mission impossible
gervase dodgers
madonna
donald trump park signage lawsuit
norovirus
dakota johnson
tommy edman
algeria fc
mariners standings
jonathan kuminga
alex scott
andres escobar
rob lowe
rocket launch today
dbacks
marvin bagley
tom hanks
diamondbacks
lisa kudrow
what is july 1st
rio ferdinand
bovada
wyatt mills
colombia vs ghana
how many more games in the world cup
partidos del mundial 2026
fargo
belgium vs senegal
dave roberts
kirk franklin philadelphia
sandro mamukelashvili
walton goggins
ivory coast vs norway
cole young
world cup schedule tomorrow
cubs standings
world cup games tomorrow
northern lights forecast
morocco vs canada
crude
lizzo 2026 bet awards appearance

100
data/keywords/kw_MM.txt Normal file
View File

@@ -0,0 +1,100 @@
andrey santos
denmark u19
สภาพอากาศ
pubg
france vs morocco
天气
fb
redmi note 17 pro
connor murphy
1
ig
switzerland vs colombia
world cup matches
argentina
fotmob
egypt national football team
football live
fifa world cup 2026™
世界杯直播
usa vs belgium
portugal vs spain live
spain vs portugal
jarell quansah
portugal vs spain
mexico vs england
世界杯
brazil vs norway
သတင်း
paraguay vs france
2026 年 fifa 世界杯
canada vs morocco
x
မြန်မာ
telegram
instagram
play store
colombia vs ghana
earthquake
croatia national football team
soccer tv
argentina vs cabo verde
australia vs egypt
အမျိုးသားညီညွတ်ရေး အစိုးရ
switzerland vs algeria
fifa world cup games
portugal
fifa world cup brackets
portugal vs croatia
world cup 2026
spain vs austria
dr congo national football team
usa vs bosnia and herzegovina
belgium vs senegal
england vs dr congo
guo wengui
ตรวจหวย
หวย
mexico vs ecuador world cup 2026
mexico vs ecuador
france vs sweden
côte d'ivoire vs norway
queen suthida
netherlands vs morocco
germany vs paraguay
japan vs brazil
suthida
international criminal court
brazil vs japan
south africa vs canada
fifa world cup 2026 bracket
np news
ကရင်အမျိုးသား လွတ်မြောက်ရေး တပ်မတော်
algeria national football team vs austria national football team standings
argentina national football team
fifa world cup standings
cristiano ronaldo
jordan vs argentina
dr congo vs uzbekistan
colombia vs portugal
education
egypt vs iran
new zealand vs belgium
uruguay national football team vs spain national football team standings
didier deschamps
cabo verde vs saudi arabia
uruguay vs spain
senegal national football team vs iraq national football team standings
norway vs france
iphone
japan national football team
morocco national football team
football fifa world cup
türkiye vs usa
tunisia national football team vs netherlands national football team standings
paraguay vs australia
japan national football team vs sweden men's national football team standings
ဘီဘီစီ
curaçao vs côte d'ivoire
livescore
ecuador vs germany

100
data/keywords/kw_MN.txt Normal file
View File

@@ -0,0 +1,100 @@
bitcoin
台风
alaskaair
rory mcilroy
showdown
dorothea puente
new york times
ca lottery
mookie betts
is mexico and england playing again
kospi
loans
kuwait
kyle karros
jordan romano
auli'i cravalho
evan phillips
mason miller
alex freeland
quinten post
openai
jaswant singh khalra
brennan bernardino
dodgers
dodgers game today
rockies
dreamdoll
new jersey fireboat whale collision
dodger game
real estate market
open world
jeremy renner
nolan xavier wells
ap
copa mundial de fútbol
seattle seahawks
cher
sebastian rulli
rittman ohio
will smith
coney island shooting
denzel washington
flood warning
newport beach news
waikiki fireworks
provo fire
seattle fireworks
westgate shooting
chelan hills fire
jaidyn alexis and bravo
tanner scott
kelsey rowing
shohei ohtani
vaccines
happy 4th of july 2026
flu shots
immunizations
vaccinations
sk hynix stock
mission impossible
madonna
paul gervase
donald trump park signage lawsuit
norovirus
dakota johnson
tommy edman
algeria fc
mariners standings
jonathan kuminga
alex scott
andres escobar
rob lowe
rocket launch today
dbacks
marvin bagley
tom hanks
diamondbacks
lisa kudrow
what is july 1st
rio ferdinand
bovada
wyatt mills
colombia vs ghana
how many more games in the world cup
partidos del mundial 2026
fargo
belgium vs senegal
dave roberts
kirk franklin philadelphia
sandro mamukelashvili
walton goggins
ivory coast vs norway
cole young
world cup schedule tomorrow
cubs standings
world cup games tomorrow
northern lights forecast
morocco vs canada
crude
lizzo 2026 bet awards appearance

100
data/keywords/kw_MO.txt Normal file
View File

@@ -0,0 +1,100 @@
ai
芊御價單
華 富
金子涵
司機
白石角站
star
吳亦偉
香港01
湯洛雯
排球
國泰航空
飛彈
朱維德
犯罪
香港的士
羅 雪 妍
樂 易 玲
酒店
溺水
九龍華仁中學
洪水
比寧咸
香港 暴雨 警告 信號
folarin balogun
香港天气
usa vs belgium
華領醫藥
weather
天气
食用油
ib
機場
黃有龍
jordan henderson
mexico vs england world cup 2026
jarell quansah
england mexico
墨西哥 對 英格蘭
observatory
陳松伶
薛守智醫生
paraguay vs france
巴拉圭 對 法國
whatsapp
france vs paraguay
巴西對挪威
巴拉圭
加拿大對摩洛哥
canada vs morocco
巴士
16 強 賽程 表
taylor swift
屯 門 官 立 中學
尹兆堅
墨西哥
sidny lopes cabral
colombia vs ghana
世界杯赛程
安多尼·伊勞拉
瑞士足球
switzerland vs algeria
皇崗口岸
百佳超市
diogo jota
世界杯賽程
portugal fc
葡萄牙對克羅地亞 直播
馬鞍山信義學校
曾志偉
梁珊
日元
財務 自由
日元兌港元
903
維德角國家足球隊
恆生指數
美國
郭羨妮
一號戒備信號
黃錦輝
董建華
英格蘭對剛果民主共和國
宣萱
巨無霸餐買一送一
kawhi leonard
梁芷珮
world cup 2026 schedule
氣旋
失業
角球
hakimi
netherlands
cody gakpo
荷蘭 對 摩洛哥
netherlands vs morocco
林凱恩
疥瘡
低氣壓

View File

@@ -1,34 +1,100 @@
rayo vallecano vs espanyol
dji lito x1
levante vs sevilla
danish malewar
mukesh choudhary
lyrid meteor showers
jamie overton
piala uber
madrid open
dewald brevis
counter strike
pistons vs magic
real salt lake vs inter miami
chart gpt
asiago
liza hanim
good morning
pandikar amin mulia
勒沃库森 - 拜仁
santos vs coritiba
Malaysia
Kuala Lumpur
Bursa Malaysia
Ringgit
Maybank
CIMB
Shopee MY
Lazada Malaysia
KWSP i-Akaun
LHDN MyTax
Anwar Ibrahim
Johor Bahru
Penang
Nasi Lemak
bella astillah
airplane crash
azmin ali
moana
ig
games
tt
1
cch holdings data centre agreement
radio online
iran
connor murphy
kool fm
persatuan bola sepak diraja belgium
france vs morocco prediction
liverpool f.c.
pengadil
gregor kobel
pasukan bola sepak kebangsaan argentina
a
orang rohingya
argentina vs egypt prediction
lukaku
pulisic
tim ream
sergiño dest
malik tillman
kevin de bruyne
leandro trossard
belgium vs
liew chin tong epf savings
utusan malaysia
usa vs belgium prediction
portugal vs spain prediction
alireza faghani
edson álvarez
john stones
césar montes
julián quiñones
érik lira
maruah
malaysia
pasukan bola sepak kebangsaan mexico
netflix
mayat
china
whatsapp
mexico vs england
fifa world cup brackets
anom suraya
argentina national football team games
梅西
colombia vs ghana
sidny lopes cabral
pasukan bola sepak kebangsaan cape verde
alexis mac allister
cabo verde country
ryan mendes
australia vs egypt
apple iphone 18 pro max
granit xhaka
riyad mahrez
瑞士 - 阿尔及利亚
ibrahim maza
perubahan iklim
portugal vs spain
naruto
portugal vs croatia prediction
livenation
spain vs austria prediction
福拉林·巴洛贡
united states vs bosnia and herzegovina world cup 2026
scratch
美国 - 波黑
canada vs bosnia and herzegovina
thibaut courtois
uefa
timbalan menteri
england vs dr congo prediction
belgium vs senegal prediction
raúl rangel
gilberto mora
墨西哥 对阵 厄瓜多尔
meksiko vs ekuador
budi diesel
world cup 2026 schedule
pencen
whatsapp usernames
syed saddiq case
bart verbruggen
fifa ranking 2026
holland
harga emas hari ini
pelakon
morocco fc
hakimi morocco
msi 2026
japan vs brazil
wong kah woh
nubhan

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

@@ -0,0 +1,100 @@
uche ogbodo
nans nelfund tuition refund
weather
punch news
open heaven 8 july 2026
today prediction
iran war
cardi b
erling haaland
parasite outbreak explosive diarrhea
xxl
argentina vs switzerland
vermont green fc vs connecticut rush
gregor kobel
james rodríguez
djokovic
lagos government detains 396 beggars
f
barnet fc
colombia vs switzerland
leandro trossard
switzerland vs colombia
malik tillman
twitch
deportes concepcion vs deportes temuco
how many goals does messi have
when is argentina next match
quarter final fixtures
messi age
how many goals does ronaldo have
bukayo saka
morgan rogers
raúl jiménez
jarell quansah
julián quiñones
england national football team
gilberto mora
christian kofane
is brazil out of the world cup
fifa world cup 2026™
france
paraguay vs france
england vs mexico
sporty
bbc
live score
liverpool
hakimi
azzedine ounahi
yesterday match result
jordan ayew
argentina next match
round of 16 fixtures
diego simeone
cabo verde country
sofascore
colombia vs ghana
sidny lopes cabral
sports
what
world cup 2026 fixtures
bbc hausa com
spain vs portugal
australia vs egypt prediction
cristiano ronaldo
2027 bmw x5 vs mercedes gle
south africa nigerian repatriation
portugal vs croatia prediction
spain vs austria prediction
usa vs bosnia and herzegovina
fifa world cup goal scorers
trossard
22bet
senegal match
bola ahmed tinubu
mory diaw
belgium vs senegal
bet9ja
belgium vs senegal prediction
england vs dr congo
mexico vs ecuador
mbappe age
alexander isak
france match
victor lindelöf
economic and financial crimes commission
weather today
world cup results
ivory coast vs norway prediction
quinten timber
morocco fc
cody gakpo
whatsapp usernames
julio enciso
germany vs
news
bet awards 2026
netherlands vs morocco
cavalry fc vs fc supra du quebec
apple iphone 18 pro max

View File

@@ -1,136 +1,100 @@
maarten van rossem
jake paul
financiën
zonnepaneel
xrp
cyprus
verdachte
112 eerbeek
golden earring
sergiño dest
david wilcock
asiago
shownieuws
nijmegen
keira knightley
112 meldingen amsterdam
dierenmishandeling
112 amsterdam
freek rikkerink
poetin
atalanta - lazio
mr nobody against putin
club brugge - mechelen
frank hosmar
barcelona - celta
kees flodder
burnley - manchester city
lodewijk asscher
vallende sterren
guus meeuwis
hoofddorp
kaja kallas
persconferentie
online radio
demi schuurs
wijk aan zee
hongaarse omroep staakt uitzendingen
ontslag
nijmeegse vierdaagse
superjacht
internationaal monetair fonds
vakantie
8 juli
omroep zeeland
koers bitcoin
hélène hendriks
ryanair
politiek
stroomstoring amersfoort
solvinity digid
wout weghorst
jamie kames
bitvavo
box 3
ronde van de alpen
matthias uhl
taken film
robot
girona - real betis
real madryt deportivo alaves
tbilisi
southampton - bristol city
vittoria guazzini
oppo find x9 ultra
real madrid - alavés
الريال ضد ألافيس
lecce - fiorentina
pogoda jutro
vierhouten
weather tomorrow
over mijn lijk 2026 overleden
crystal palace - west ham
f-16 fighting falcon
klagenfurt
italië
ruud gullit
perfil falso
psg - lyon
juventus - bologna
troy parrott
az - nec opstellingen
caroline tensen
asielbeleid
philippe sandler
keerbergen
peer koopmeiners
nederlands elftal
pogoń szczecin lech poznań
stand premier league
bulgarije
chelsea - man utd
atlético madrid - real sociedad
xavi simons
ayase ueda
roma - atalanta
rtv noord
paraguay
sergio herman
fed
keuken kampioen
legia warszawa zagłębie lubin
ripple
voorzitter fed
bahamas
overtreding
almere city
real betis
sean connery
l1 nieuws
ronaldinho
demi de boer
bondgenoten
frank masmeijer
real betis - braga
ethereum
aston villa - bologna
manuel neuer
neuer
olise
mbappe
sporting
live tv
bayern munchen
arda güler
ziggo
arda guler
netflix
frenkie de jong
kanye west
vandaag inside
at5
veroordeling
verenigde staten
alec baldwin
anna paulowna
şampiyonlar ligi
NOS Nieuws
Buienradar
Rijksoverheid
Albert Heijn
Funda
Marktplaats
KLM
Ziggo
ING Bank
Eredivisie
Amsterdam Weer
Bol.com
Treinkaartjes NS
PostNL
Pathé
peter faber
gianni infantino
saibari blessure
u2
verdachte
klaus schwab
heat wave
erfbelasting
trump
lukaku
onana
pulisic
kevin de bruyne
twitch
voorspelling
a20 afgesloten
mona keijzer
married at first sight televisieprogramma
abdellah ouazane
kylie minogue
ahmetcan kaplan
perpignan
frank en rogier
weersverwachting
boete
frans timmermans
crypto insiders
favorieten etappe 2 tour de france 2026
pensioen
woudenberg
brazilie noorwegen
videoland
politie
pierre gasly
koninklijke familie
brand sneek
schaatser
iptv
jutta leerdam
stikstof
reinier van zutphen
capgemini
travis kelce
colombia
bram krikke mens health
kro ncrv binnenstebuiten
patrick bruel
verslaving
sem verbeek
madonna
disney+
hittegolf
jake paul
woningmarkt koelt af
tim hofman
luchtaanval
toeslagenaffaire
trein
steven brunswijk
goede tijden slechte tijden rex martin
moedermelk pfas
bosbranden frankrijk
tour de france 2026
sébastien desabre
b&b vol liefde
sandy schreur
couhaib driouech
io interactive
rassemblement national
werkvloer
rotsboog malta ingestort
metro
bmw ix5 neue klasse
algemeen dagblad
benzine duitsland
kraken
zoon
kissing elephants arch
frankrijk zweden
rijnmond nieuws
electric forest festival
olanda marocco
oorlog oekraïne
zaamslag

100
data/keywords/kw_NP.txt Normal file
View File

@@ -0,0 +1,100 @@
ratopati
yesterday world cup match
मौसम
norway vs england
फिफा
setopati
morocco vs france
onlinekhabar
shapoor zadran
connor murphy
luis suárez
james rodríguez
switzerland vs colombia
france vs morocco
world cup 2026 schedule
enzo fernández
haissem hassan
cristian romero
mostafa shobeir
folarin balogun
usa vs belgium
ronaldo
bernardo silva
bruno fernandes
nuno mendes
sportytv
spain vs portugal
diogo costa
unai simón
raúl jiménez
jarell quansah
julián quiñones
eng vs mexico
fifa world cup brackets
portugal vs spain
mexico vs england
neymar jr
world cup top scorer 2026
neymar
instagram
paraguay vs france
achraf hakimi
morocco vs canada
ismael saibari
jacob bethell
tom banton
phil salt
whatsapp usernames
emiliano martínez
deroy duarte
colombia vs ghana
lisandro martínez
vozinha
argentina vs cabo verde
lahiru udara
alpha movie alia bhatt
switzerland vs algeria
jota
lamine yamal
álex baena
mikel oyarzabal
spain vs
england vs south africa
croatia national football team
spain vs austria
skip
portugal vs croatia
usa vs bosnia and herzegovina
tiktok
belgium vs senegal
vinícius júnior
anthony gordon
shreyas iyer
jordan pickford
gilberto mora
brazil vs norway
world cup matches
mexico vs ecuador
mexico vs ecuador prediction
cabo verde national football team
france
guo wengui
petrol price in nepal today
fifa ranking 2026
cody gakpo
new zealand vs england
netherlands vs morocco
brazil next match
fifa world cup 2026™
germany vs paraguay
danilo
weather forecast
weather today
weather
south africa vs canada
brazil vs japan
granit xhaka
renuka singh
weather tomorrow
sanju samson

100
data/keywords/kw_PH.txt Normal file
View File

@@ -0,0 +1,100 @@
bryan johnson autoimmune disease
f
t
openai
m
martina navratilova
nba trade rumors lakers
fb
gian mamuyac
dodgers vs rockies
connor murphy
pag-ibig home loan cap
rain
mercury vs sky
khris middleton
liberty vs wings
novak djokovic
fifa world cup brackets
news
philippine area of responsibility
sparks vs storm
lynx vs sun
emergency evacuation
mystics vs valkyries
mikel merino
usa vs belgium
portugal
fifa
top
gcash
plunder
marcoleta
mariana islands
aces vs fever
portugal vs spain
mexico vs england
world cup schedule
fifa world cup 2026™
pagasa bavi tracking and updates
dodgers vs padres
storm vs fire
paraguay vs france
pinay
telegram
i
dream vs valkyries
canada vs morocco
fiba basketball world cup
bronny james
summer league nba
aces vs sky
usa vs dominican republic basketball
adam sandler
lisandro martínez
argentina world cup
gilas vs new zealand schedule
nba trades lakers
catholic church
mario kart world update
switzerland vs algeria
mercury vs storm
rabies bats
diogo jota
fifa world cup
inc rally road closures manila
super typhoon philippines
bat rabies death
ios update
skarlent rodriguez
emi aramaki
melvin matibag
storm
athletics vs dodgers
usa vs bosnia and herzegovina
bir box sara duterte impeachment
balik ginhawa expanded program
pagasa henry weather bulletin
love and deepspace valko cancelled
luke kennard
elliot page
mexico vs ecuador
sabrina ionescu
jackie young
ios 26.5 2 update
bpi instapay pesonet
minimum wage manila
minimum wage metro manila
teacher nabbed
nabbed
june 30 2026 class suspensions
tax
fuel price june 30 2026
netherlands vs morocco
philippine fuel price june 30
house prosecution team new lawyers
weather forecast
low-pressure area
full moon strawberry moon
winter storm warning
valkyries vs liberty

100
data/keywords/kw_SA.txt Normal file
View File

@@ -0,0 +1,100 @@
اخبار
واتساب
whatsapp
طقس العرب
إيمان وحيد سيف
iran war
عبد الصمد الزلزولي
جيسوس
apple iphone 18 pro max
بلوشستان
columbia
ويمبلدون
wimbledon
هدف الارجنتين الثالث
k2 airways
luis suárez
جيزان
icc
إنفانتينو
james rodríguez
وزارة الدفاع تقديم
البرازيل ضد مصر
malik tillman
فولارين بالوغون
folarin balogun
openai
راكان كعبي
الولايات المتحدة ضد بلجيكا
إرهاب
ريال مدريد
zim vs ban
تجنيد
raúl jiménez
mexico national football team vs england national football team lineups
jarell quansah
جاريل كوانساه
هاري كين
neymar jr
meksiko vs inggris
gilberto mora
cloud ai
americano
فرنسا والمغرب
ثعبان
عقد
sri lanka vs west indies
نادي الهلال
crunchyroll
conan
france vs paraguay
hava durumu
world cup 2026 schedule
كولومبيا ضد غانا
fifa world cup 2026™
colombia vs ghana
taylor swift
فوزينها
deroy duarte
argentine cap-vert
emiliano martínez
whatsapp usernames
رياض محرز
suisse algérie
الجزائر والنمسا
76
portugal vs spain
switzerland vs algeria
إل نينيو
اسبانيا والبرتغال
شات جي بي
وزارة الموارد البشرية والتنمية الاجتماعية
الفنانه هبة مجدي
عباس عراقجي
usa vs bosnia and herzegovina
الولايات المتحدة ضد البوسنة والهرسك
البرتغال وكرواتيا
مكة
كورتوا
مروحية
سعر الغاز اليوم
mexico national football team
المكسيك ضد الإكوادور
mexico vs ecuador
نواف بن محمد
ثيو هيرنانديز
هداف كأس العالم 2026
هدافين كاس العالم 2026
ريان شرقي
جدول مباريات كأس العالم 2026
كاس العالم ٢٠٢٦
مباراة المغرب القادمة
مباريات كاس العالم
أشرف حكيمي
بونو
بث مباشر
belanda vs maroko
achraf hakimi
brahim díaz
سعر الدولار اليوم
مسلسل house of the dragon الموسم الثالث

View File

@@ -1,159 +1,100 @@
darren wang
mukesh choudhary
danish malewar
tamil nadu election results
allah ghazanfar
peregrine falcon
airasia flight
arrest
hao mart singapore
kartik sharma
real salt lake vs inter miami
pistons vs magic
krisflyer
michael jackson biopic
新加坡
atalanta vs lazio
伯恩利 - 曼城
porto vs sporting
cdl directors resign millennium copthorne
tsla
leverkusen vs bayern
burnley vs man city
elche vs atlético madrid
psg vs nantes
michael jackson
al-nassr vs al ahli
mohsin khan
changi
rr vs lsg
primary school
alexandra eala
tan su shan
sundaresh menon
moulin rouge musical singapore
south korea
step
gamba osaka vs avispa fukuoka
honor 600 pro
china shipyards oil tanker orders
coe
lebron james
real madrid vs alavés
brighton vs chelsea
nitish rana
earth day
michael movie
kevin warsh
srh vs dc
chinese aircraft carrier liaoning
andie chen
jesseca liu wins best actress
crystal palace vs west ham
grok
gemini
claude ai
gpt
ai
is chatgpt down
strait of hormuz news
mi vs gt
psg vs lyon
sporting vs benfica
bayern munich
pl
bangkok weather
starhub
廖子妤
曼城 - 阿森纳
bayern vs vfb stuttgart
英超
chelsea vs man united
perfect crown
ayush mhatre
sarfaraz khan
napoli vs lazio
tottenham vs brighton
abhishek sharma
tinie tempah
wrexham vs stoke city
sassuolo vs como
the straits times
india women vs south africa women
beef season 2
loyang valley
world cup 2026
afc champions league
hormuz
malacca strait
kkr vs gt
aston villa vs bologna
mumbai indians vs punjab kings standings
al sadd vs vissel kobe
amd share price
opus 4.7
pete hegseth
naman dhir
yen singapore dollar
mayank rawat
dji pocket 4
real madrid
al-nassr vs al-ettifaq
bayern vs real madrid
arsenal vs sporting
lucknow super giants vs royal challengers bengaluru standings
is claude down
claude
allbirds
red sea
rcb vs lsg
retirement
asia flights delays cancellations
suns vs trail blazers
johnny somali
bam adebayo
zhang linghe pursuit of jade
roman gofman
cruz azul vs lafc
ocbc
santos vs recoleta
atlético madrid vs barcelona
ipl schedule
liverpool vs psg
iran blockade strait of hormuz
kartik tyagi
carlos alcaraz
propertylimbrothers
byeon woo-seok
mahathir mohamad
csk vs kkr
man united vs leeds
cbse class 10 result 2026 date
euphoria season 3
srh vs rr
tamil new year 2026
low de wei
pope
flexar
microsoft outlook
new rolex 2026
medical classification
blasphemy law
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
airline
补贴
straits times index bank stocks
donald trump
caning
woodlands checkpoint
yusof haslam
dow jones
connor murphy
apple iphone 18 pro max
joshua wong
singapore weather
lips
ronaldo world cup exit
norway vs england
fifa
domestic worker
fifa world cup 2026™
world cup results
luis suárez
driving
jackie chan pei chun
switzerland vs colombia prediction
hans vanaken
alan wei zhaolun
malik tillman
kevin de bruyne
amadou onana
circle line
美国 - 比利时
jordan henderson
usa vs belgium prediction
morgan rogers
team strong silvers member passed
mexico national football team vs england national football team lineups
julián quiñones
raúl jiménez
jarell quansah
墨西哥 - 英格兰
molly tea
逮捕
passport
iphone 17 pro
sri lanka vs west indies
mexico vs england prediction
brazil vs norway
fifa world cup brackets
paraguay vs france
ismael saibari
saibari
canada vs morocco prediction
electric vehicle
sidny lopes cabral
lisandro martínez
taylor swift
deroy duarte
scoot
greater sentosa master plan
colombia vs ghana prediction
australia vs egypt prediction
eminent frog porridge
luca zidane
parental leave
switzerland vs algeria
portugal vs spain
tree
世界杯直播
golden village
spain vs austria prediction
news
rabies
usa vs bosnia and herzegovina
sia air india investment
melvin lim propertylimbrothers role
actor xu peng career change
walker kessler
ismaïla sarr
england vs dr congo prediction
piero hincapié
tampines
golden village plaza singapura closure
gilberto mora
smrt trains police report
booklet
casablanca
mexico vs ecuador
games
hdb u-save july rebate 2026
backpack
ivory coast vs norway prediction
france vs sweden prediction
quinten timber
fotmob
guo wengui
cody gakpo
荷兰 - 摩洛哥
blue chip
mothership
stephen eustáquio
manchester united f.c.

100
data/keywords/kw_TH.txt Normal file
View File

@@ -0,0 +1,100 @@
kapook
ข่าววันนี้
fb
erling haaland
เกรียง กัลป์ตินันท์
teams
แมนยู
ติ๊กต๊อก
game
เมียหลวงที่นอนสีชมพู
vnl
อัครกิตติ์ วรโรจน์เจริญเดช
กสศ
ฟุตบอล โลก รอบ 8 ทีม สุดท้าย
กอรมนคือ
england vs india
fifa world cup brackets
สวัสดิการ
วอลเลย์บอล หญิง u18
switzerland vs colombia
ลาว
portugal vs spain
สหรัฐอเมริกา พบ เบลเยียม
usa vs belgium
กรมอุตุนิยมวิทยา
คริสเตียโน โรนัลโด
fifa
portugal
世界杯
ทุเรียน
ดอกเบี้ย
jarell quansah
england mexico
เม็กซิโก พบ อังกฤษ
mexico vs england
ตารางบอลโลก
livescore
fifa world cup 2026™
ดูบอลสด วันนี้
ปารากวัย พบ ฝรั่งเศส
paraguay vs france
ดูบอลโลก
ดูบอลสด
morocco
โมร็อกโก
แคนาดา พบ โมร็อกโก
incendies
ดูหนัง
ind vs eng
มรดก
กยศ
โคลอมเบียบอล
ลิโอเนล เมสซิ
vozinha
cape verde
ดูบอล
จักรภพ เพ็ญแข
สวิตเซอร์แลนด์ พบ แอลจีเรีย
scratch
portugal fc
โปรตุเกสบอลโลก
world cup
ลิงค์ดูบอลสด
soccer tv
กัมพูชา
สหรัฐอเมริกา
usa vs bosnia and herzegovina
คารีสา สปริงเก็ตต์
สหรัฐอเมริกา พบ บอสเนียและเฮอร์เซโกวีนา
ตระกูลภิรมย์ภักดี
belgium vs senegal
เบลเยียม พบ เซเนกัล
สถิติสำหรับ ฟุตบอลโลก
หวยออมสินออกกี่โมง
เดือน
mexico vs ecuador
วันหยุดธนาคาร 2569
เม็กซิโก พบ เอกวาดอร์
ว่างงาน
ไทยช่วยไทยพลัส
สีมงคลวันนี้
ผลบอลเมื่อคืน
ผลบอลโลกล่าสุด 2026
น้ำ
code cookie run classic
ภาษี
netherlands
เนเธอร์แลนด์
netherlands vs morocco
สภาพอากาศ
deutschland paraguay
ฝน
ประกันสังคม
กรกฎาคม
ลำไย ไหทองคำ
สถิติ หวย ออก วัน พุธ
แคนาดาบอล
south africa vs canada
f1 live
fifa world cup 2026 bracket

100
data/keywords/kw_TR.txt Normal file
View File

@@ -0,0 +1,100 @@
ekonomi
ebys
vakıfbank
ensonhaber
bloomberg
merkez bankası
hitap
memurlar net
teb
ekşi
togg
sermaye artırımı
galatasaray
ispanya hükûmeti
çeyrek final maçları
altın
trt spor yıldız
türkiye polonya voleybol maçı
trt spor yıldız canlı
iflas
iniş
ronaldo futbolu bıraktı mı
habertürk canlı
cnn canlı
merdan yanardağ
yatırımcı
çirkin
wm 2026
ak parti
giresun hava durumu
birgün
füze
lgs sonuçları
ingrid alexandra
fib haber
osmanlı imparatorluğu
dünya kupası çeyrek final maçları
milletvekili
gözaltı
ankara nato zirvesi hangi yollar kapalı
şampiyon
almanya için alternatif
akademisyen
france vs paraguay
paraguay frankreich
haber61
düzce
rahmi koç
n'golo kanté
konser
iyi parti
paul onuachu
esenler erokspor
tesla
gıda
hava durumu
weather
погода
آبوهوا
jhon arias
enflasyon ne zaman açıklanacak
stanley
yasin ramazan başaran
yeni parti
kolesterol
mgm
toz pembe
bilsem mülakat sonuçları 2026
sendika
donanımhaber
nato zirvesi ne zaman
kamuran inselel kimdir
temmuz ayı kira artiş oranı 2026
lee jae myung
yeşil burun adaları cumhurbaşkanı
güneş
sermaye piyasası kurulu
giriş/çıkış sistemi
yunanistan
fiat egea
halka arz
asgari ücret 2026
şırnak üniversitesi
1 temmuz denizcilik ve kabotaj bayramı
malatya haber
mevzuat
otoyol ücretleri
savcı
a101 aktüel
dolandırıcılık
anayasa mahkemesi
ata köprüsü
ali çağatay
liselere geçiş sistemi
brynton lemar
gümüş
önerge
ahmet nazif zorlu
virgil van dijk
vladimir putin

View File

@@ -1,114 +1,100 @@
宋祖兒
porter
謝京穎
德州儀器
台新綜合證券
希臘
費城半導體
mrvl
狄鶯
三星罷工
00981a
馬斯克
辛耘
宏碁股價
0056
2330
雷霆 對 太陽
0050股價
006208
景碩
女警陳芊雯
廢死聯盟
西甲
地震
地震速報
台灣積體電路製造
高頻寬 記憶 體
戴奧辛
3665
宋晟睿
黃 甘霖
劉家翔
王耿豪
王勝偉
009816
thời tiết ngày mai
明天的天氣
總部
美光科技
cpbl
中華職棒
中職
黃甘霖
軍 公教
6147
earth day
陳哲遠
台鐵
斯普拉遁 塗擊隊
麥可傑克森
神將彩券行
米可白
洪敬堯
華邦電子
柔美的細胞小將 3
底特律老虎
三 商 美邦
川 普
英雄聯盟
聯電adr
rklb
amd stock
宋仲基
兵工廠
德甲
塞爾提克 對 76人
justin bieber 演唱會
拜仁慕尼黑
何潤東
廖子妤
英超
許凱
tottenham vs brighton
長野縣
交通安全
朋友收集夢想生活
麥克傑克森
王濛
騎士 對 暴龍
熱刺 對 布萊頓
iem rio 2026
garret anderson
墓乃伊
曹格
claude design
柯文哲
金剛
荷 姆 茲 海峽
東北 季風
斯圖加特公開賽
歐聯
菡生婦幼診所
台鐵訂票
飛機
東光路
货币
amd
航空母艦
axti
Yahoo奇摩
天氣
蝦皮購物
PChome
Momo購物網
Mobile01
Dcard
巴哈姆特
中時電子報
聯合新聞網
台灣高鐵
台鐵時刻表
中華電信
統一發票
勞動部
8039
2408
3711
3006
7769
vibe coding
teams
顧立雄
王維中
林詩翔
蹦闆
敦化北路
台新信用卡
法國摩洛哥
​克里斯·米德爾頓
凱文·魯尼
朱琦郁
運彩公會
寬宏
2449
賭博
寬限期
籃籃
6257
美 伊
國巨 跌停
大谷 翔平
林宥嘉
台積電法說會
fiba 世界盃資格賽
8033
3042
1714
fiba
2352
2481
完全比賽
金門 縣
8046
storm
科技執法
2奈米製程
金 州 勇士
台鎔科技
法院
paraguay vs france
網飛
巴拉圭 對 法國
賴 品 妤
台 達 電
泰勒絲結婚
寵物展 2026
道奇
coco
海 鯤 號 潛 艦
cblol
吉伊卡哇特展
lyon
謝富旭
2383
軍公教
台積電 分紅
令和的斑小姐
兆易創新
李多慧
退休金
1326
top
2317
沈富雄
李來希
今井達也
快速增強
iphone 18
艾 薇
高市早苗
2884
燕山湯圓
6669
uber 機車 載 客
2344
吳乃仁
中国信托商业银行
李長庚
8021
6285
李在明
警察
彩票
國防大學
00685l 分割時間
泡麵
喬納森 庫 明 加
2026國際足總世界盃賽程
繼承
2472
8150
林俊憲
直升機

View File

@@ -1,161 +1,100 @@
tbilisi
connor storrie
georgia
stephen bunting
great british menu 2026
ravi eastenders
salford city fc
national grid
mass effect
salford city vs bromley
real salt lake vs inter miami
provinces of the pantheon
mls
russell brand
john phelan
hung cao
pistons vs magic
jerry bruckheimer
st. george's day
asiago
framework laptop 13 pro
boro
interactive investor
mint
believe me itv
amanda bynes
strasbourg vs nice
chase bank
jak jones
chase
rodri
christopher trybus
lsg vs rr
scottie scheffler
kate upton
tommy fleetwood
skynews
virgin
lewis hamilton silverstone f1 win
sukhoi su-35
kent police
robert jenrick
rory mcilroy
us strikes iran
sydney sweeney
glen powell
france vs morocco world cup 2026
jaswant singh khalra
dallas cowboys
armie hammer
cucho hernandez
álvaro arbeloa
ford
weather bristol
connections hint today
the odyssey movie
cnn
duffy
world cup scores today
man utd transfer news
dreamdoll
world cup results
world cup results today
sky itv
emile heskey
vladimir putin
iphone 17 pro
bbc newd
heat wave
entry/exit system
sebastián rulli
news
who is left in the world cup
daycare
childcare
pub
odira beats hodgkinson 800m oregon
alex albon
restaurant
ruthie henshall
sri lanka vs west indies
golf
silverstone weather
rugby today
harry
trent alexander-arnold
ruthie henshall prince edward
pension
hebden bridge
sandra bullock practical magic
rolls-royce share price drop
invincible season 5
josé mourinho
chris wakelin
jimmy bullard adam thomas
aer lingus flight cancellations
sam west
oxford united
liam delap
wba
реал мадрид алавес
coppa italia
girona vs real betis
marcus rashford
الريال ضد ألافيس
supreme leader of iran
oscar isaac
xrp ledger
pablo
is tane leaving home and away
julie andrews
danny boyle
nina eastenders
john stones
amazon vega os fire tv
porto vs tondela
santos vs fluminense
martin brundle lost f1 seat
keegan bradley
david attenborough
antoni kowalski
kezia dugdale
car
beef netflix
juventus vs bologna
losc vs nice
david szalay
the killer
joe cole
lille fc
simon cowell
pl
frank lampard everton
nottingham forest fixtures
everton manager
dragons vs bulls
suede
lahore
wrestlemania 2026
giants vs rhinos
glenrothan
york knights vs leopards
tim sherwood
redditch
ccfc
europa conference league
bromley fc
paul merton
chris wood
istanbul
turkey
lucy watson
thiago silva
bednarek
jan bednarek
vincent kompany
mbappe
luis suarez sporting
madrid fc
andriy lunin
what did bec say to rachel mafs
yalla kora
geovany quenda
sporting cp
pavlovic
talktalk
arne slot drops mohamed salah
suns vs trail blazers
italian
used cars
mlb
roman
johnny somali
windows update
davion mitchell
hbo max
bolton wanderers
barca vs atletico
kemi badenoch
warren zaïre-emery
barca
samuel west
barcelona fc
lamine yamal
hbomax
noah okafor
casemiro
talksport
lazio
leeds united fixtures
bruno fernandes
afc champions league
meteor
carlos queiroz
travel warning
tori amos
cloud
reading
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
test
luis suárez
luis diaz
james rodriguez
world cup round of 16
england mexico 1am kickoff
aryna sabalenka wimbledon dog policy
jesy nelson
olivia wilde
luca zidane
switzerland vs algeria
nhs walking exercise rewards
algeria fc
world cup bracket
wc fixtures
metropolitan police
dp world tour
fifa world cup fantasy
fifa fantasy world cup 2026
weather coventry
spain vs austria
travis kelce
world cup fantasy
caniculă
lotto results national lottery results
who are england playing today
scooter
ian poulter
eng vs congo - kinshasa
nancy guthrie
cholesterol
james holder
canada day
cuba
red arrows new jets
baroness amos
helen skelton
defence investment plan
oilprice.com
tg jones restructuring plan
weather liverpool
bbc football fixtures
bild
cara delevingne
asylum seekers

View File

@@ -1,165 +1,100 @@
brandon marsh
psv vs pec zwolle
daniel merida aguilar
william byron
eve plumb
mall of louisiana
real oviedo vs villarreal
real oviedo - villarreal
call of duty: black ops 7
tarik skubal
cubs game today
mike repole
okc thunder
atlanta braves
mlb scores today
braves standings
kevin mckidd
dan vladar
mls standings
dodgers - giants
jon ossoff
ozzy survivor
braves score
washington nationals
alex bregman
peter lambert
darrell sheets
ludwig kaiser
edina shooting
atalanta - lazio
barcelona vs celta vigo
rafael jodar
rivian r2
pick 4
aoc
cleveland browns
nintendo switch gamecube games
lsg vs rr
spirit
atlanta fire
deshaun watson
good morning america
pittsburgh
strands answers
scientist
mark cuban pharmacy
inter milan
lens vs toulouse
david james
andy weir
noah kahan tiny desk concert
jennifer garner 54th birthday photos
troy baker
real madrid - alavés
girona - real betis
girona vs real betis
arc raiders
schd etf dividend yield
deportación
lecce - fiorentina
valley forge high school
betty yee
seth trimble
bill belichick
winter storm
jim parsons
kings vs avalanche
suns vs thunder
wolf
santos - fluminense
mets - cubs
alexander manninger
santos vs fluminense
disclosure day
tobias myers
vladimir putin
knicks game
ben rice
prem
timberwolves vs nuggets
cody bellinger
nik khamenia
real sociedad
nurburgring crash
atlético madrid - real sociedad
ruke orhorhoro
radar
the weather channel
kttc
luke gulbranson
kttc weather
comcast data breach settlement
tornado watch
moisés ballesteros
mets game today
giancarlo stanton
real betis
prosecution of daniel duggan
liv morgan
mikey williams
indiana fever sophie cunningham baptism
gregory donnell morgan jr
why are the sirens going off
leylah fernandez
strasbourg vs mainz
michael olise
ريال مدريد
dazn
paramount
univision
jude bellingham
sam antonacci
real madrid
bayern
arda güler
los angeles dodgers
vandenberg launch schedule
ryan dunn
alex vesia
ken jennings
ucla baseball
padres standings
mets vs dodgers match player stats
bo bichette
jorge polanco
psg
barca
vix
fcb
barcelona schedule
tarjeta roja
a knight of the seven kingdoms season 2
charlotte flair
usa network
natalie sago
carlos queiroz
carlos batista
katie boulter
levante - getafe
levante vs getafe
mcilroy green jacket presentation
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
bitcoin
台风
alaskaair
rory mcilroy
showdown
dorothea puente
new york times
ca lottery
mookie betts
rolling stone
kospi
loans
kuwait
kyle karros
jordan romano
auli'i cravalho
evan phillips
mason miller
alex freeland
quinten post
openai
jaswant singh khalra
brennan bernardino
dodgers
dodgers game today
rockies
dreamdoll
new jersey fireboat whale collision
dodger game
real estate market
open world
jeremy renner
nolan xavier wells
ap
copa mundial de fútbol
seattle seahawks
cher
sebastian rulli
rittman ohio
will smith
coney island shooting
denzel washington
flood warning
newport beach news
waikiki fireworks
provo fire
seattle fireworks
westgate shooting
chelan hills fire
washington dc extreme heat wave
what is 4th of july
jaidyn alexis and bravo
tanner scott
kelsey rowing
shohei ohtani
vaccines
flu shots
immunizations
vaccinations
sk hynix stock
mission impossible
madonna
paul gervase
donald trump park signage lawsuit
norovirus
dakota johnson
tommy edman
algeria fc
mariners standings
jonathan kuminga
alex scott
andres escobar
rob lowe
rocket launch today
dbacks
marvin bagley
tom hanks
diamondbacks
lisa kudrow
what is july 1st
rio ferdinand
bovada
wyatt mills
colombia vs ghana
how many more games in the world cup
partidos del mundial 2026
fargo
belgium vs senegal
dave roberts
kirk franklin philadelphia
sandro mamukelashvili
walton goggins
ivory coast vs norway
cole young
world cup schedule tomorrow
cubs standings
world cup games tomorrow
northern lights forecast
morocco vs canada
crude

View File

@@ -1,137 +1,100 @@
stuttgart đấu với freiburg
levante sevilla
giao dịch tài chính
sevilla
rayo đấu với espanyol
levante đấu với sevilla
bong ma hanh phuc
aryna sabalenka
mason nguyễn
marcus rashford
hà nội
salt lake đấu với inter miami
hung cao
neymar
cầu phú mỹ
ma túy
e
tội phạm
nguyễn thanh nam
máy bay boeing 737
lương tối thiểu
tin tuc
doanh thu
fifa
trường đại học sư phạm hà nội
lcs
nghệ sĩ ưu tú
na uy
tuyên quang
trần đức thắng
bao bong da
đại tá
va chạm
highlight
bruno fernandes
sukhoi su-57
tập đoàn
bitcoin
omsk
tesla
openai
học
đại học y dược cần thơ
thói quen
đàm vĩnh hưng
bộ quốc phòng
xe
nghị định 254 năm 2026 của chính phủ
công viên lê thị riêng
thái lan
toán học
pháo hoa
việt hương
morgan rogers
dan burn
tạ minh tâm
chó hoang và xương
tuổi trẻ
raphinha
scratch
tiếp viên hàng không
cổ tức
lịch âm
nhac
wordle
날씨
giá cà phê hôm nay
premier league standings
mls
phạm nhật vượng
cristiano roland
burnley vs man city
bayern munich
atalanta đấu với lazio
barcelona đấu với celta
mc vs
psg nantes
leverkusen đấu với bayern
elche atlético madrid
bryan mbeumo
al nasr
trực tiếp bóng đá hôm nay
vtv3
vtv3 trực tiếp
tv
vtv
vtv6
360
lê khánh
ô tô
lê phương
trực tiếp bóng đá u17 hôm nay
inter milan
chelsea
girona đấu với betis
real madrid đấu với alavés
brighton vs chelsea
brighton đấu với chelsea
ath. bilbao đấu với osasuna
pep guardiola
zelvia đấu với shabab al-ahli
cầu thủ
lecce vs fiorentina
fiorentina
crystal palace đấu với west ham
afc champions league
eduardo camavinga
vissel kobe
gemi
idp
siêu dự an
câu lạc bộ bóng đá manchester united
tập đoàn vingroup
đông bắc bộ
xét tuyển đại học
vf2
nhà máy
windy
khoa học máy tính
canada vs maroc
jurrien timber
xe máy
tai nạn
úc vs ai cập
thu nhập cá nhân
hứa hồng hải
thụy sĩ đấu với algérie
switzerland vs algeria
nghị định 253/2026/nđ-cp
giải bóng đá vô địch quốc gia việt nam
tiền lương
vinfast
tử hình
cảnh sát
hồng đào
nha khoa
bão số 1
giá vàng 2 7 2026
nọc rắn
nhiệm kỳ
đơn vị hành chính cấp xã
ngày quốc khánh
cục đăng kiểm việt nam
sầu riêng
nguyễn đình hối
kinh tế quốc dân
kỳ nghỉ
giám sát
moisés caicedo
huỳnh trần ý nhi
đặc sản
chiến binh
quán triệt nghị quyết
đoàn văn hậu
mai phương thúy
thẻ căn cước
chính sách xã hội
bảo hiểm y tế
crystal palace vs west ham
sporting lisbon
psg vs lyon
ca sĩ
juventus đấu với bologna
gladbach đấu với mainz
twitch
psg đấu với lyon
juventus
ligue 1
trận đấu ngoại hạng anh
chelsea đấu với man utd
atlético madrid đấu với real sociedad
roma đấu với atalanta
epl
iem rio 2026
tot
tập đoàn gelex
napoli
đường ray
inter
inter đấu với cagliari
sassuolo vs como
david alaba
claude design
fenerbahçe đấu với rizespor
como
como vs
thẻ đỏ
al ahli
porto vs
crystal palace
porto
uefa europa conference
betis đấu với braga
real betis vs braga
aston villa đấu với bologna
fiorentina đấu với crystal palace
c2
cup c2
thể thao
arda güler
aleksandar pavlović
ars
90
real
real madrid
xoi
luong sơn
fpt
phan văn giang
nhà ở xã hội
club america
giàu
đỗ mỹ linh
sun group
hưng yên
nvl
américa đấu với nashville
VnExpress
Zing News
Thời tiết Hà Nội
Giá vàng hôm nay
Shopee VN
Tiki
Vietjet Air
Vietnam Airlines
Bóng đá trực tuyến
Lịch thi đấu Euro
Xổ số miền Bắc
Grab Vietnam
VTV Go
Học tiếng Anh
Du lịch Đà Lạt
cổ đông
may mắn
time is

View File

@@ -18,6 +18,10 @@
{
"id": "Tokyo",
"name": "Tokyo (东京)"
},
{
"id": "Osaka",
"name": "Osaka (大阪)"
}
]
}
@@ -40,6 +44,210 @@
}
]
},
{
"id": "PH",
"name": "Philippines (菲律宾)",
"keyword_file": "kw_PH.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Manila",
"name": "Manila (马尼拉)"
}
]
}
]
},
{
"id": "TH",
"name": "Thailand (泰国)",
"keyword_file": "kw_TH.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Bangkok",
"name": "Bangkok (曼谷)"
}
]
}
]
},
{
"id": "KH",
"name": "Cambodia (柬埔寨)",
"keyword_file": "kw_KH.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "PhnomPenh",
"name": "Phnom Penh (金边)"
}
]
}
]
},
{
"id": "MM",
"name": "Myanmar (缅甸)",
"keyword_file": "kw_MM.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Yangon",
"name": "Yangon (仰光)"
}
]
}
]
},
{
"id": "LA",
"name": "Laos (老挝)",
"keyword_file": "kw_LA.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Vientiane",
"name": "Vientiane (万象)"
}
]
}
]
},
{
"id": "ID",
"name": "Indonesia (印度尼西亚)",
"keyword_file": "kw_ID.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Jakarta",
"name": "Jakarta (雅加达)"
}
]
}
]
},
{
"id": "IN",
"name": "India (印度)",
"keyword_file": "kw_IN.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Delhi",
"name": "Delhi (新德里)"
}
]
}
]
},
{
"id": "MN",
"name": "Mongolia (蒙古)",
"keyword_file": "kw_MN.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Ulaanbaatar",
"name": "Ulaanbaatar (乌兰巴托)"
}
]
}
]
},
{
"id": "NP",
"name": "Nepal (尼泊尔)",
"keyword_file": "kw_NP.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Kathmandu",
"name": "Kathmandu (加德满都)"
}
]
}
]
},
{
"id": "BD",
"name": "Bangladesh (孟加拉)",
"keyword_file": "kw_BD.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Dhaka",
"name": "Dhaka (达卡)"
}
]
}
]
},
{
"id": "AE",
"name": "United Arab Emirates (阿联酋)",
"keyword_file": "kw_AE.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Dubai",
"name": "Dubai (迪拜)"
}
]
}
]
},
{
"id": "SA",
"name": "Saudi Arabia (沙特阿拉伯)",
"keyword_file": "kw_SA.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Riyadh",
"name": "Riyadh (利雅得)"
}
]
}
]
},
{
"id": "KR",
"name": "South Korea (韩国)",
@@ -74,6 +282,23 @@
}
]
},
{
"id": "MO",
"name": "Macau (澳门)",
"keyword_file": "kw_MO.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Macau",
"name": "Macau (澳门)"
}
]
}
]
},
{
"id": "VN",
"name": "Vietnam (越南)",
@@ -152,6 +377,40 @@
}
]
},
{
"id": "TR",
"name": "Turkey (土耳其)",
"keyword_file": "kw_TR.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Istanbul",
"name": "Istanbul (伊斯坦布尔)"
}
]
}
]
},
{
"id": "BG",
"name": "Bulgaria (保加利亚)",
"keyword_file": "kw_BG.txt",
"states": [
{
"id": "Default",
"name": "Default State",
"cities": [
{
"id": "Sofia",
"name": "Sofia (索非亚)"
}
]
}
]
},
{
"id": "DE",
"name": "Germany (德国)",
@@ -166,6 +425,46 @@
"name": "Frankfurt (法兰克福)"
}
]
},
{
"id": "SN",
"name": "Saxony (萨克森州)",
"cities": [
{
"id": "Falkenstein",
"name": "Falkenstein (法尔肯施泰因)"
}
]
},
{
"id": "BY",
"name": "Bavaria (巴伐利亚州)",
"cities": [
{
"id": "Nuremberg",
"name": "Nuremberg (纽伦堡)"
}
]
},
{
"id": "BE",
"name": "Berlin (柏林州)",
"cities": [
{
"id": "Berlin",
"name": "Berlin (柏林)"
}
]
},
{
"id": "NW",
"name": "North Rhine-Westphalia (北莱茵-威斯特法伦州)",
"cities": [
{
"id": "Aachen",
"name": "Aachen (亚琛)"
}
]
}
]
},
@@ -231,6 +530,16 @@
"name": "United States (美国)",
"keyword_file": "kw_US.txt",
"states": [
{
"id": "AZ",
"name": "Arizona (亚利桑那州)",
"cities": [
{
"id": "Phoenix",
"name": "Phoenix (凤凰城)"
}
]
},
{
"id": "CA",
"name": "California (加州)",
@@ -239,9 +548,61 @@
"id": "Los_Angeles",
"name": "Los Angeles (洛杉矶)"
},
{
"id": "Ontario",
"name": "Ontario (安大略)"
},
{
"id": "San_Jose",
"name": "San Jose (圣何塞)"
},
{
"id": "Fremont",
"name": "Fremont (弗里蒙特)"
},
{
"id": "Irvine",
"name": "Irvine (尔湾)"
}
]
},
{
"id": "FL",
"name": "Florida (佛罗里达州)",
"cities": [
{
"id": "Miami",
"name": "Miami (迈阿密)"
}
]
},
{
"id": "GA",
"name": "Georgia (佐治亚州)",
"cities": [
{
"id": "Atlanta",
"name": "Atlanta (亚特兰大)"
}
]
},
{
"id": "HI",
"name": "Hawaii",
"cities": [
{
"id": "Honolulu",
"name": "Honolulu (檀香山)"
}
]
},
{
"id": "IA",
"name": "Iowa (爱荷华州)",
"cities": [
{
"id": "Council_Bluffs",
"name": "Council Bluffs (康瑟尔布拉夫斯)"
}
]
},
@@ -252,6 +613,20 @@
{
"id": "Warrenville",
"name": "Warrenville (沃伦维尔)"
},
{
"id": "Chicago",
"name": "Chicago (芝加哥)"
}
]
},
{
"id": "KS",
"name": "Kansas (堪萨斯州)",
"cities": [
{
"id": "Kansas_City",
"name": "Kansas City (堪萨斯城)"
}
]
},
@@ -265,6 +640,16 @@
}
]
},
{
"id": "NJ",
"name": "New Jersey (新泽西州)",
"cities": [
{
"id": "Newark",
"name": "Newark (纽瓦克)"
}
]
},
{
"id": "NV",
"name": "Nevada (内华达州)",
@@ -275,6 +660,26 @@
}
]
},
{
"id": "NY",
"name": "New York (纽约州)",
"cities": [
{
"id": "New_York",
"name": "New York (纽约)"
}
]
},
{
"id": "OH",
"name": "Ohio (俄亥俄州)",
"cities": [
{
"id": "Columbus",
"name": "Columbus (哥伦布)"
}
]
},
{
"id": "OR",
"name": "Oregon (俄勒冈州)",
@@ -285,6 +690,20 @@
}
]
},
{
"id": "TX",
"name": "Texas (得克萨斯州)",
"cities": [
{
"id": "Dallas",
"name": "Dallas (达拉斯)"
},
{
"id": "Houston",
"name": "Houston (休斯顿)"
}
]
},
{
"id": "UT",
"name": "Utah (犹他州)",
@@ -295,6 +714,16 @@
}
]
},
{
"id": "VA",
"name": "Virginia (弗吉尼亚州)",
"cities": [
{
"id": "Ashburn",
"name": "Ashburn (阿什本)"
}
]
},
{
"id": "WA",
"name": "Washington (华盛顿州)",
@@ -392,6 +821,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

@@ -0,0 +1,50 @@
{
"region_name": "UAE (Dubai)",
"google_module": {
"base_lat": 25.2048,
"base_lon": 55.2708,
"lang_params": "hl=en-AE&gl=AE",
"valid_url_suffix": "ae"
},
"trust_module": {
"white_urls": [
"https://gulfnews.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=39845",
"https://en.wikipedia.org/wiki/Special:Random?r=42570",
"https://www.thenationalnews.com/",
"https://www.centralbank.ae/",
"https://en.wikipedia.org/wiki/Special:Random?r=43959",
"https://en.wikipedia.org/wiki/Special:Random?r=94646",
"https://en.wikipedia.org/wiki/Special:Random?r=3703",
"https://en.wikipedia.org/wiki/Special:Random?r=55968",
"https://en.wikipedia.org/wiki/Special:Random?r=98507",
"https://en.wikipedia.org/wiki/Special:Random?r=43498",
"https://en.wikipedia.org/wiki/Special:Random?r=52797",
"https://en.wikipedia.org/wiki/Special:Random?r=88033",
"https://www.khaleejtimes.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=67578",
"https://en.wikipedia.org/wiki/Special:Random?r=87020",
"https://en.wikipedia.org/wiki/Special:Random?r=95028",
"https://u.ae/",
"https://en.wikipedia.org/wiki/Special:Random?r=34457",
"https://en.wikipedia.org/wiki/Special:Random?r=73162",
"https://en.wikipedia.org/wiki/Special:Random?r=28390",
"https://en.wikipedia.org/wiki/Special:Random?r=92035",
"https://en.wikipedia.org/wiki/Special:Random?r=48089",
"https://en.wikipedia.org/wiki/Special:Random?r=59358",
"https://en.wikipedia.org/wiki/Special:Random?r=7887",
"https://en.wikipedia.org/wiki/Special:Random?r=79048",
"https://en.wikipedia.org/wiki/Special:Random?r=58523",
"https://en.wikipedia.org/wiki/Special:Random?r=2302",
"https://en.wikipedia.org/wiki/Special:Random?r=7793",
"https://en.wikipedia.org/wiki/Special:Random?r=37874"
],
"static_urls": [
"https://www.centralbank.ae/",
"https://www.thenationalnews.com/",
"https://u.ae/",
"https://www.khaleejtimes.com/",
"https://gulfnews.com/"
]
}
}

View File

@@ -8,42 +8,47 @@
},
"trust_module": {
"white_urls": [
"https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-24/abc-weekly-news-quiz-april-24/106596462",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-24/ndis-participants-community-support-fears-government-changes/106596958",
"https://www.abc.net.au/news/2026-04-24/uk-braces-for-prospect-of-sixth-pm-in-seven-years/106599990",
"https://www.abc.net.au/news/2026-04-24/the-legacy-of-sikh-soldiers-anzac-day/106593346",
"https://www.abc.net.au/news/2026-04-24/tasmania-police-sergeant-used-internal-system-to-monitor-wife/106593204",
"https://www.abc.net.au/news/2026-04-24/jane-fonda-importance-in-developing-fitness-industry/106535102",
"https://www.abc.net.au/news/2026-04-24/viva-energy-boss-tell-alan-kohler-need-more-oil-refineries-fuel/106596864",
"https://www.commbank.com.au/",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-24/iran-war-live-updates-us-shoot-kill-hormuz/106598082",
"https://en.wikipedia.org/wiki/Special:Random?r=36409",
"https://en.wikipedia.org/wiki/Special:Random?r=79292",
"https://en.wikipedia.org/wiki/Special:Random?r=99076",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-24/power-price-warning-over-proposed-changes-to-tax-laws/106587928",
"https://www.abc.net.au/news/2026-04-24/charts-paint-worrying-picture-global-fertiliser-prices/106590152",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-24/south-china-sea-state-funded-fishing-boat-militia/106570054",
"https://www.abc.net.au/news/2026-04-24/baby-boomers-labor-generational-inequality-federal-budget-ndis/106582640",
"https://en.wikipedia.org/wiki/Special:Random?r=61784",
"https://en.wikipedia.org/wiki/Special:Random?r=24345",
"https://en.wikipedia.org/wiki/Special:Random?r=7592",
"https://en.wikipedia.org/wiki/Special:Random?r=36796",
"https://www.woolworths.com.au/",
"https://www.ato.gov.au/",
"https://my.gov.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-24/fuel-price-supply-explainer/106593698",
"https://www.abc.net.au/news/2026-04-23/nt-inquest-woman-darwin-dv-shelter-death-police-child-safety/106595670",
"https://www.abc.net.au/news/2026-04-24/anzac-day-2026-public-holiday-australia-states/106583304"
"https://en.wikipedia.org/wiki/Special:Random?r=54743",
"https://en.wikipedia.org/wiki/Special:Random?r=82845",
"https://en.wikipedia.org/wiki/Special:Random?r=47655",
"https://en.wikipedia.org/wiki/Special:Random?r=11409",
"https://en.wikipedia.org/wiki/Special:Random?r=59584",
"https://en.wikipedia.org/wiki/Special:Random?r=59861",
"https://en.wikipedia.org/wiki/Special:Random?r=86918",
"https://en.wikipedia.org/wiki/Special:Random?r=42144",
"https://en.wikipedia.org/wiki/Special:Random?r=56082",
"https://en.wikipedia.org/wiki/Special:Random?r=58206",
"https://en.wikipedia.org/wiki/Special:Random?r=42793",
"https://en.wikipedia.org/wiki/Special:Random?r=49382",
"https://en.wikipedia.org/wiki/Special:Random?r=89818",
"https://www.commbank.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=9718",
"https://en.wikipedia.org/wiki/Special:Random?r=5037",
"https://www.amazon.com.au/",
"https://www.realestate.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=12552",
"https://en.wikipedia.org/wiki/Special:Random?r=18233",
"https://en.wikipedia.org/wiki/Special:Random?r=57586"
],
"static_urls": [
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.seek.com.au/",
"https://www.realestate.com.au/",
"https://www.ato.gov.au/",
"https://www.woolworths.com.au/",
"https://www.bom.gov.au/",
"https://www.realestate.com.au/",
"https://www.coles.com.au/",
"https://www.amazon.com.au/",
"https://www.commbank.com.au/",
"https://www.bunnings.com.au/"
]
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-24/power-price-warning-over-proposed-changes-to-tax-laws/106587928",
"https://www.abc.net.au/news/2026-04-24/jane-fonda-importance-in-developing-fitness-industry/106535102",
"https://www.abc.net.au/news/2026-04-24/abc-weekly-news-quiz-april-24/106596462",
"https://en.wikipedia.org/wiki/Special:Random?r=94753",
"https://en.wikipedia.org/wiki/Special:Random?r=70589",
"https://en.wikipedia.org/wiki/Special:Random?r=745",
"https://www.amazon.com.au/",
"https://www.ato.gov.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-24/tasmania-police-sergeant-used-internal-system-to-monitor-wife/106593204",
"https://www.abc.net.au/news/2026-04-24/the-legacy-of-sikh-soldiers-anzac-day/106593346",
"https://www.abc.net.au/news/2026-04-24/fuel-price-supply-explainer/106593698",
"https://www.abc.net.au/news/2026-04-23/nt-inquest-woman-darwin-dv-shelter-death-police-child-safety/106595670",
"https://en.wikipedia.org/wiki/Special:Random?r=44420",
"https://en.wikipedia.org/wiki/Special:Random?r=90786",
"https://en.wikipedia.org/wiki/Special:Random?r=55274",
"https://en.wikipedia.org/wiki/Special:Random?r=84641",
"https://en.wikipedia.org/wiki/Special:Random?r=20053",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-24/anzac-day-2026-public-holiday-australia-states/106583304",
"https://my.gov.au/",
"https://www.realestate.com.au/",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-24/ndis-participants-community-support-fears-government-changes/106596958",
"https://www.abc.net.au/news/2026-04-24/iran-war-live-updates-us-shoot-kill-hormuz/106598082",
"https://www.abc.net.au/news/2026-04-24/baby-boomers-labor-generational-inequality-federal-budget-ndis/106582640",
"https://www.abc.net.au/news/2026-04-24/viva-energy-boss-tell-alan-kohler-need-more-oil-refineries-fuel/106596864",
"https://www.abc.net.au/news/2026-04-24/south-china-sea-state-funded-fishing-boat-militia/106570054",
"https://www.bom.gov.au/",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-24/uk-braces-for-prospect-of-sixth-pm-in-seven-years/106599990",
"https://www.abc.net.au/news/2026-04-24/charts-paint-worrying-picture-global-fertiliser-prices/106590152"
"https://en.wikipedia.org/wiki/Special:Random?r=70950",
"https://en.wikipedia.org/wiki/Special:Random?r=7560",
"https://en.wikipedia.org/wiki/Special:Random?r=70955",
"https://en.wikipedia.org/wiki/Special:Random?r=89653",
"https://en.wikipedia.org/wiki/Special:Random?r=19777",
"https://en.wikipedia.org/wiki/Special:Random?r=92312",
"https://en.wikipedia.org/wiki/Special:Random?r=79927",
"https://en.wikipedia.org/wiki/Special:Random?r=86542",
"https://en.wikipedia.org/wiki/Special:Random?r=21437",
"https://en.wikipedia.org/wiki/Special:Random?r=99757",
"https://www.commbank.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=31273",
"https://en.wikipedia.org/wiki/Special:Random?r=10332",
"https://en.wikipedia.org/wiki/Special:Random?r=751",
"https://en.wikipedia.org/wiki/Special:Random?r=62518",
"https://www.bom.gov.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=11380",
"https://en.wikipedia.org/wiki/Special:Random?r=69741",
"https://en.wikipedia.org/wiki/Special:Random?r=87189"
],
"static_urls": [
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.seek.com.au/",
"https://www.realestate.com.au/",
"https://www.woolworths.com.au/",
"https://www.coles.com.au/",
"https://www.bom.gov.au/",
"https://www.woolworths.com.au/",
"https://www.ato.gov.au/",
"https://www.seek.com.au/",
"https://www.bunnings.com.au/",
"https://www.commbank.com.au/",
"https://www.amazon.com.au/",
"https://www.bunnings.com.au/"
"https://www.realestate.com.au/",
"https://my.gov.au/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.abc.net.au/news/2026-04-24/baby-boomers-labor-generational-inequality-federal-budget-ndis/106582640",
"https://www.abc.net.au/news/2026-04-24/tasmania-police-sergeant-used-internal-system-to-monitor-wife/106593204",
"https://en.wikipedia.org/wiki/Special:Random?r=68330",
"https://en.wikipedia.org/wiki/Special:Random?r=18545",
"https://en.wikipedia.org/wiki/Special:Random?r=74154",
"https://en.wikipedia.org/wiki/Special:Random?r=83100",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-24/iran-war-live-updates-us-shoot-kill-hormuz/106598082",
"https://www.abc.net.au/news/2026-04-24/ndis-participants-community-support-fears-government-changes/106596958",
"https://www.abc.net.au/news/2026-04-24/charts-paint-worrying-picture-global-fertiliser-prices/106590152",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-24/the-legacy-of-sikh-soldiers-anzac-day/106593346",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-24/jane-fonda-importance-in-developing-fitness-industry/106535102",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-24/viva-energy-boss-tell-alan-kohler-need-more-oil-refineries-fuel/106596864",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-24/fuel-price-supply-explainer/106593698",
"https://en.wikipedia.org/wiki/Special:Random?r=70323",
"https://www.woolworths.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=25550",
"https://en.wikipedia.org/wiki/Special:Random?r=7219",
"https://en.wikipedia.org/wiki/Special:Random?r=71294",
"https://en.wikipedia.org/wiki/Special:Random?r=21840",
"https://en.wikipedia.org/wiki/Special:Random?r=32176",
"https://en.wikipedia.org/wiki/Special:Random?r=32072",
"https://en.wikipedia.org/wiki/Special:Random?r=63036",
"https://en.wikipedia.org/wiki/Special:Random?r=58824",
"https://www.bom.gov.au/",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-24/anzac-day-2026-public-holiday-australia-states/106583304",
"https://www.abc.net.au/news/2026-04-24/power-price-warning-over-proposed-changes-to-tax-laws/106587928",
"https://www.abc.net.au/news/2026-04-23/nt-inquest-woman-darwin-dv-shelter-death-police-child-safety/106595670",
"https://www.abc.net.au/news/2026-04-24/abc-weekly-news-quiz-april-24/106596462",
"https://my.gov.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-24/south-china-sea-state-funded-fishing-boat-militia/106570054",
"https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-24/uk-braces-for-prospect-of-sixth-pm-in-seven-years/106599990"
"https://en.wikipedia.org/wiki/Special:Random?r=9035",
"https://en.wikipedia.org/wiki/Special:Random?r=60552",
"https://en.wikipedia.org/wiki/Special:Random?r=56955",
"https://en.wikipedia.org/wiki/Special:Random?r=93504",
"https://en.wikipedia.org/wiki/Special:Random?r=78574",
"https://en.wikipedia.org/wiki/Special:Random?r=88018",
"https://en.wikipedia.org/wiki/Special:Random?r=68262",
"https://en.wikipedia.org/wiki/Special:Random?r=67688",
"https://en.wikipedia.org/wiki/Special:Random?r=36827",
"https://en.wikipedia.org/wiki/Special:Random?r=17660",
"https://en.wikipedia.org/wiki/Special:Random?r=11719",
"https://www.commbank.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=74329"
],
"static_urls": [
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.bunnings.com.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.seek.com.au/",
"https://www.realestate.com.au/",
"https://www.woolworths.com.au/",
"https://www.commbank.com.au/",
"https://www.ato.gov.au/",
"https://www.coles.com.au/",
"https://my.gov.au/",
"https://www.amazon.com.au/",
"https://www.bunnings.com.au/"
"https://www.woolworths.com.au/",
"https://www.seek.com.au/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.woolworths.com.au/",
"https://www.seek.com.au/",
"https://www.abc.net.au/news/2026-04-24/viva-energy-boss-tell-alan-kohler-need-more-oil-refineries-fuel/106596864",
"https://www.abc.net.au/news/2026-04-24/south-china-sea-state-funded-fishing-boat-militia/106570054",
"https://www.abc.net.au/news/2026-04-24/ndis-participants-community-support-fears-government-changes/106596958",
"https://www.abc.net.au/news/2026-04-23/nt-inquest-woman-darwin-dv-shelter-death-police-child-safety/106595670",
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.abc.net.au/news/2026-04-24/power-price-warning-over-proposed-changes-to-tax-laws/106587928",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-24/abc-weekly-news-quiz-april-24/106596462",
"https://www.abc.net.au/news/2026-04-24/uk-braces-for-prospect-of-sixth-pm-in-seven-years/106599990",
"https://www.abc.net.au/news/2026-04-24/anzac-day-2026-public-holiday-australia-states/106583304",
"https://www.abc.net.au/news/2026-04-24/jane-fonda-importance-in-developing-fitness-industry/106535102",
"https://www.abc.net.au/news/2026-04-24/fuel-price-supply-explainer/106593698",
"https://www.abc.net.au/news/2026-04-24/the-legacy-of-sikh-soldiers-anzac-day/106593346",
"https://en.wikipedia.org/wiki/Special:Random?r=16781",
"https://www.bom.gov.au/",
"https://www.bunnings.com.au/",
"https://www.abc.net.au/news/2026-04-24/baby-boomers-labor-generational-inequality-federal-budget-ndis/106582640",
"https://en.wikipedia.org/wiki/Special:Random?r=51004",
"https://www.amazon.com.au/",
"https://www.commbank.com.au/",
"https://www.abc.net.au/news/2026-04-24/charts-paint-worrying-picture-global-fertiliser-prices/106590152",
"https://www.abc.net.au/news/2026-04-24/tasmania-police-sergeant-used-internal-system-to-monitor-wife/106593204",
"https://www.abc.net.au/news/2026-04-24/iran-war-live-updates-us-shoot-kill-hormuz/106598082",
"https://www.coles.com.au/"
"https://en.wikipedia.org/wiki/Special:Random?r=27028",
"https://en.wikipedia.org/wiki/Special:Random?r=86563",
"https://en.wikipedia.org/wiki/Special:Random?r=31145",
"https://en.wikipedia.org/wiki/Special:Random?r=66016",
"https://en.wikipedia.org/wiki/Special:Random?r=49627",
"https://en.wikipedia.org/wiki/Special:Random?r=10879",
"https://en.wikipedia.org/wiki/Special:Random?r=86865",
"https://en.wikipedia.org/wiki/Special:Random?r=1644",
"https://en.wikipedia.org/wiki/Special:Random?r=10612",
"https://en.wikipedia.org/wiki/Special:Random?r=57331",
"https://en.wikipedia.org/wiki/Special:Random?r=36445",
"https://en.wikipedia.org/wiki/Special:Random?r=16982",
"https://en.wikipedia.org/wiki/Special:Random?r=31046",
"https://en.wikipedia.org/wiki/Special:Random?r=46004",
"https://www.realestate.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=94283",
"https://en.wikipedia.org/wiki/Special:Random?r=63670",
"https://en.wikipedia.org/wiki/Special:Random?r=58316",
"https://en.wikipedia.org/wiki/Special:Random?r=16695",
"https://en.wikipedia.org/wiki/Special:Random?r=35082",
"https://www.woolworths.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=46095",
"https://en.wikipedia.org/wiki/Special:Random?r=94935",
"https://en.wikipedia.org/wiki/Special:Random?r=99533",
"https://en.wikipedia.org/wiki/Special:Random?r=98327"
],
"static_urls": [
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.seek.com.au/",
"https://www.realestate.com.au/",
"https://www.woolworths.com.au/",
"https://www.coles.com.au/",
"https://www.amazon.com.au/",
"https://www.bunnings.com.au/"
"https://www.bunnings.com.au/",
"https://www.woolworths.com.au/",
"https://www.commbank.com.au/",
"https://www.realestate.com.au/",
"https://www.coles.com.au/",
"https://www.seek.com.au/",
"https://www.ato.gov.au/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.abc.net.au/news/2026-04-24/ndis-participants-community-support-fears-government-changes/106596958",
"https://my.gov.au/",
"https://www.abc.net.au/news/2026-04-24/power-price-warning-over-proposed-changes-to-tax-laws/106587928",
"https://www.abc.net.au/news/2026-04-24/viva-energy-boss-tell-alan-kohler-need-more-oil-refineries-fuel/106596864",
"https://www.abc.net.au/news/2026-04-24/baby-boomers-labor-generational-inequality-federal-budget-ndis/106582640",
"https://www.amazon.com.au/",
"https://www.abc.net.au/news/2026-04-24/charts-paint-worrying-picture-global-fertiliser-prices/106590152",
"https://www.abc.net.au/news/2026-04-24/tasmania-police-sergeant-used-internal-system-to-monitor-wife/106593204",
"https://en.wikipedia.org/wiki/Special:Random?r=50984",
"https://en.wikipedia.org/wiki/Special:Random?r=96884",
"https://en.wikipedia.org/wiki/Special:Random?r=88365",
"https://en.wikipedia.org/wiki/Special:Random?r=1286",
"https://en.wikipedia.org/wiki/Special:Random?r=35661",
"https://en.wikipedia.org/wiki/Special:Random?r=58503",
"https://en.wikipedia.org/wiki/Special:Random?r=45135",
"https://en.wikipedia.org/wiki/Special:Random?r=8976",
"https://en.wikipedia.org/wiki/Special:Random?r=71888",
"https://en.wikipedia.org/wiki/Special:Random?r=37573",
"https://en.wikipedia.org/wiki/Special:Random?r=20932",
"https://en.wikipedia.org/wiki/Special:Random?r=80776",
"https://www.realestate.com.au/",
"https://www.abc.net.au/news/2026-04-24/abc-weekly-news-quiz-april-24/106596462",
"https://www.seek.com.au/",
"https://www.coles.com.au/",
"https://www.abc.net.au/news/2026-04-24/south-china-sea-state-funded-fishing-boat-militia/106570054",
"https://www.abc.net.au/news/2026-04-24/jane-fonda-importance-in-developing-fitness-industry/106535102",
"https://en.wikipedia.org/wiki/Special:Random?r=8441",
"https://en.wikipedia.org/wiki/Special:Random?r=79541",
"https://www.woolworths.com.au/",
"https://www.abc.net.au/news/2026-04-24/anzac-day-2026-public-holiday-australia-states/106583304",
"https://www.abc.net.au/news/2026-04-23/nt-inquest-woman-darwin-dv-shelter-death-police-child-safety/106595670",
"https://www.abc.net.au/news/2026-04-24/fuel-price-supply-explainer/106593698",
"https://www.abc.net.au/news/2026-04-24/uk-braces-for-prospect-of-sixth-pm-in-seven-years/106599990",
"https://www.abc.net.au/news/2026-04-24/the-legacy-of-sikh-soldiers-anzac-day/106593346",
"https://en.wikipedia.org/wiki/Special:Random?r=90131",
"https://en.wikipedia.org/wiki/Special:Random?r=64791",
"https://www.amazon.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=71437",
"https://en.wikipedia.org/wiki/Special:Random?r=82313",
"https://www.commbank.com.au/",
"https://en.wikipedia.org/wiki/Special:Random?r=56441",
"https://en.wikipedia.org/wiki/Special:Random?r=45259",
"https://www.bom.gov.au/",
"https://www.abc.net.au/news/2026-04-24/iran-war-live-updates-us-shoot-kill-hormuz/106598082",
"https://www.ato.gov.au/",
"https://www.bunnings.com.au/",
"https://www.commbank.com.au/"
"https://en.wikipedia.org/wiki/Special:Random?r=93031",
"https://en.wikipedia.org/wiki/Special:Random?r=13402",
"https://en.wikipedia.org/wiki/Special:Random?r=5048",
"https://en.wikipedia.org/wiki/Special:Random?r=50005",
"https://en.wikipedia.org/wiki/Special:Random?r=40481"
],
"static_urls": [
"https://my.gov.au/",
"https://www.ato.gov.au/",
"https://www.bom.gov.au/",
"https://www.commbank.com.au/",
"https://www.seek.com.au/",
"https://www.realestate.com.au/",
"https://www.woolworths.com.au/",
"https://www.coles.com.au/",
"https://www.amazon.com.au/",
"https://www.bunnings.com.au/"
"https://www.realestate.com.au/",
"https://www.commbank.com.au/",
"https://my.gov.au/",
"https://www.seek.com.au/",
"https://www.woolworths.com.au/",
"https://www.bunnings.com.au/",
"https://www.coles.com.au/",
"https://www.bom.gov.au/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Bangladesh (Dhaka)",
"google_module": {
"base_lat": 23.8103,
"base_lon": 90.4125,
"lang_params": "hl=en-BD&gl=BD",
"valid_url_suffix": "com.bd"
},
"trust_module": {
"white_urls": [
"https://www.prothomalo.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=33166",
"https://en.wikipedia.org/wiki/Special:Random?r=30480",
"https://en.wikipedia.org/wiki/Special:Random?r=44977",
"https://en.wikipedia.org/wiki/Special:Random?r=65717",
"https://bangladesh.gov.bd/",
"https://en.wikipedia.org/wiki/Special:Random?r=20349",
"https://en.wikipedia.org/wiki/Special:Random?r=38302",
"https://en.wikipedia.org/wiki/Special:Random?r=17670",
"https://en.wikipedia.org/wiki/Special:Random?r=21568",
"https://en.wikipedia.org/wiki/Special:Random?r=11987",
"https://en.wikipedia.org/wiki/Special:Random?r=52530",
"https://en.wikipedia.org/wiki/Special:Random?r=59384",
"https://en.wikipedia.org/wiki/Special:Random?r=64512",
"https://www.bdnews24.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=41340",
"https://en.wikipedia.org/wiki/Special:Random?r=91787",
"https://en.wikipedia.org/wiki/Special:Random?r=76275",
"https://en.wikipedia.org/wiki/Special:Random?r=13577",
"https://en.wikipedia.org/wiki/Special:Random?r=47297",
"https://www.thedailystar.net/",
"https://en.wikipedia.org/wiki/Special:Random?r=11087",
"https://en.wikipedia.org/wiki/Special:Random?r=55599",
"https://en.wikipedia.org/wiki/Special:Random?r=33837",
"https://en.wikipedia.org/wiki/Special:Random?r=74887",
"https://en.wikipedia.org/wiki/Special:Random?r=32970",
"https://en.wikipedia.org/wiki/Special:Random?r=3315",
"https://www.bb.org.bd/",
"https://en.wikipedia.org/wiki/Special:Random?r=30790",
"https://en.wikipedia.org/wiki/Special:Random?r=11232"
],
"static_urls": [
"https://www.prothomalo.com/",
"https://www.bb.org.bd/",
"https://www.bdnews24.com/",
"https://bangladesh.gov.bd/",
"https://www.thedailystar.net/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"region_name": "Bulgaria - Sofia",
"google_module": {
"base_lat": 42.6977,
"base_lon": 23.3219,
"lang_params": "hl=bg&gl=BG",
"valid_url_suffix": "bg"
},
"trust_module": {
"white_urls": [
"https://bg.wikipedia.org/wiki/Special:Random?r=37868",
"https://bg.wikipedia.org/wiki/Special:Random?r=19963",
"https://www.btvnovinite.bg/",
"https://www.uni-sofia.bg/",
"https://bg.wikipedia.org/wiki/Special:Random?r=92628",
"https://bg.wikipedia.org/wiki/Special:Random?r=90448",
"https://bg.wikipedia.org/wiki/Special:Random?r=74957",
"https://bg.wikipedia.org/wiki/Special:Random?r=59613",
"https://bg.wikipedia.org/wiki/Special:Random?r=80978",
"https://www.gov.bg/",
"https://bg.wikipedia.org/wiki/Special:Random?r=92091",
"https://bg.wikipedia.org/wiki/Special:Random?r=34424",
"https://bg.wikipedia.org/wiki/Special:Random?r=77011",
"https://bg.wikipedia.org/wiki/Special:Random?r=37563",
"https://bg.wikipedia.org/wiki/Special:Random?r=95348",
"https://www.bdz.bg/",
"https://bg.wikipedia.org/wiki/Special:Random?r=55985",
"https://www.nra.bg/",
"https://bg.wikipedia.org/wiki/Special:Random?r=1758",
"https://bg.wikipedia.org/wiki/Special:Random?r=43907",
"https://bg.wikipedia.org/wiki/Special:Random?r=1937",
"https://bg.wikipedia.org/wiki/Special:Random?r=61784",
"https://bg.wikipedia.org/wiki/Special:Random?r=50233",
"https://bg.wikipedia.org/wiki/Special:Random?r=84113",
"https://bg.wikipedia.org/wiki/Special:Random?r=12216",
"https://bg.wikipedia.org/wiki/Special:Random?r=87297",
"https://bg.wikipedia.org/wiki/Special:Random?r=15643",
"https://bg.wikipedia.org/wiki/Special:Random?r=72393",
"https://bg.wikipedia.org/wiki/Special:Random?r=86275",
"https://bg.wikipedia.org/wiki/Special:Random?r=36622"
],
"static_urls": [
"https://www.gov.bg/",
"https://www.nra.bg/",
"https://www.uni-sofia.bg/",
"https://www.btvnovinite.bg/",
"https://www.bnb.bg/",
"https://www.bdz.bg/",
"https://www.vivacom.bg/"
]
}
}

View File

@@ -8,39 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.cbc.ca/news/canada/vegetable-prices-canada-9.7173027?cmp=rss",
"https://www.rbcroyalbank.com/",
"https://www.theweathernetwork.com/ca",
"https://www.canada.ca/en.html",
"https://www.cbc.ca/news/entertainment/the-devil-wears-prada-2-photo-scroller-9.7174459?cmp=rss",
"https://www.cbc.ca/news/canada/ottawa/4-day-office-return-for-global-affairs-canada-workers-delayed-due-to-space-issues-9.7174828?cmp=rss",
"https://www.cbc.ca/news/canada/manitoba/blizzard-warning-freezing-rain-storm-manitoba-9.7174365?cmp=rss",
"https://www.cbc.ca/news/world/ntsb-laguardia-crash-preliminary-report-fire-truck-stop-stop-stop-9.7175074?cmp=rss",
"https://www.cbc.ca/news/canada/flight-cancellations-strait-of-hormuz-9.7173742?cmp=rss",
"https://www.cbc.ca/news/politics/cbc-president-marie-philippe-bouchard-committee-9.7174302?cmp=rss",
"https://www.cbc.ca/news/world/lebanon-paramedics-strike-9.7173448?cmp=rss",
"https://www.cbc.ca/news/canada/newfoundland-labrador/andrea-barbour-bullying-9.7174865?cmp=rss",
"https://www.utoronto.ca/",
"https://www.amazon.ca/",
"https://www.cbc.ca/news/politics/carney-u-s-ambassador-wiseman-9.7174897?cmp=rss",
"https://www.cbc.ca/news/politics/mark-carney-ethics-blind-trust-9.7174747?cmp=rss",
"https://www.cbc.ca/news/entertainment/heated-rivalry-peabody-9.7174978?cmp=rss",
"https://www.canadapost-postescanada.ca/",
"https://en.wikipedia.org/wiki/Special:Random?r=61224",
"https://en.wikipedia.org/wiki/Special:Random?r=74838",
"https://en.wikipedia.org/wiki/Special:Random?r=43509",
"https://en.wikipedia.org/wiki/Special:Random?r=46038",
"https://en.wikipedia.org/wiki/Special:Random?r=97412",
"https://www.td.com/",
"https://www.cbc.ca/news/politics/carney-liquor-ban-9.7174723?cmp=rss",
"https://www.cbc.ca/news/canada/montreal/smell-montreal-fire-9.7174378?cmp=rss",
"https://www.cra-arc.gc.ca/",
"https://www.cbc.ca/news/canada/nova-scotia/nova-scotia-mental-health-crisis-9.7171701?cmp=rss"
"https://en.wikipedia.org/wiki/Special:Random?r=85317",
"https://www.amazon.ca/",
"https://www.canada.ca/en.html",
"https://en.wikipedia.org/wiki/Special:Random?r=3370",
"https://en.wikipedia.org/wiki/Special:Random?r=52666",
"https://en.wikipedia.org/wiki/Special:Random?r=74529",
"https://en.wikipedia.org/wiki/Special:Random?r=19060",
"https://en.wikipedia.org/wiki/Special:Random?r=55827",
"https://en.wikipedia.org/wiki/Special:Random?r=20145",
"https://en.wikipedia.org/wiki/Special:Random?r=85921",
"https://en.wikipedia.org/wiki/Special:Random?r=67933",
"https://en.wikipedia.org/wiki/Special:Random?r=58072",
"https://www.theweathernetwork.com/ca",
"https://en.wikipedia.org/wiki/Special:Random?r=83485",
"https://en.wikipedia.org/wiki/Special:Random?r=48538",
"https://en.wikipedia.org/wiki/Special:Random?r=30258",
"https://en.wikipedia.org/wiki/Special:Random?r=67528",
"https://en.wikipedia.org/wiki/Special:Random?r=39461",
"https://en.wikipedia.org/wiki/Special:Random?r=94778",
"https://en.wikipedia.org/wiki/Special:Random?r=80928",
"https://en.wikipedia.org/wiki/Special:Random?r=59186",
"https://en.wikipedia.org/wiki/Special:Random?r=82155",
"https://en.wikipedia.org/wiki/Special:Random?r=80307",
"https://www.cra-arc.gc.ca/"
],
"static_urls": [
"https://www.canada.ca/en.html",
"https://www.cra-arc.gc.ca/",
"https://www.canadapost-postescanada.ca/",
"https://www.amazon.ca/",
"https://www.utoronto.ca/",
"https://www.theweathernetwork.com/ca",
"https://www.td.com/",
"https://www.rbcroyalbank.com/",
"https://www.amazon.ca/",
"https://www.theweathernetwork.com/ca"
"https://www.cra-arc.gc.ca/",
"https://www.canadapost-postescanada.ca/",
"https://www.canada.ca/en.html"
]
}
}

View File

@@ -8,39 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.cbc.ca/news/canada/nova-scotia/nova-scotia-mental-health-crisis-9.7171701?cmp=rss",
"https://www.utoronto.ca/",
"https://www.amazon.ca/",
"https://www.cbc.ca/news/politics/mark-carney-ethics-blind-trust-9.7174747?cmp=rss",
"https://www.cbc.ca/news/canada/flight-cancellations-strait-of-hormuz-9.7173742?cmp=rss",
"https://www.cbc.ca/news/entertainment/the-devil-wears-prada-2-photo-scroller-9.7174459?cmp=rss",
"https://www.rbcroyalbank.com/",
"https://www.cbc.ca/news/canada/montreal/smell-montreal-fire-9.7174378?cmp=rss",
"https://www.canada.ca/en.html",
"https://www.cra-arc.gc.ca/",
"https://www.cbc.ca/news/canada/manitoba/blizzard-warning-freezing-rain-storm-manitoba-9.7174365?cmp=rss",
"https://www.cbc.ca/news/politics/cbc-president-marie-philippe-bouchard-committee-9.7174302?cmp=rss",
"https://www.cbc.ca/news/politics/carney-liquor-ban-9.7174723?cmp=rss",
"https://www.cbc.ca/news/world/ntsb-laguardia-crash-preliminary-report-fire-truck-stop-stop-stop-9.7175074?cmp=rss",
"https://www.cbc.ca/news/canada/ottawa/4-day-office-return-for-global-affairs-canada-workers-delayed-due-to-space-issues-9.7174828?cmp=rss",
"https://en.wikipedia.org/wiki/Special:Random?r=51978",
"https://en.wikipedia.org/wiki/Special:Random?r=37629",
"https://en.wikipedia.org/wiki/Special:Random?r=87051",
"https://en.wikipedia.org/wiki/Special:Random?r=12910",
"https://en.wikipedia.org/wiki/Special:Random?r=29165",
"https://en.wikipedia.org/wiki/Special:Random?r=45015",
"https://www.td.com/",
"https://www.cbc.ca/news/canada/vegetable-prices-canada-9.7173027?cmp=rss",
"https://www.cbc.ca/news/world/lebanon-paramedics-strike-9.7173448?cmp=rss",
"https://en.wikipedia.org/wiki/Special:Random?r=13774",
"https://en.wikipedia.org/wiki/Special:Random?r=40917",
"https://en.wikipedia.org/wiki/Special:Random?r=36814",
"https://en.wikipedia.org/wiki/Special:Random?r=43132",
"https://en.wikipedia.org/wiki/Special:Random?r=73221",
"https://www.amazon.ca/",
"https://en.wikipedia.org/wiki/Special:Random?r=48933",
"https://en.wikipedia.org/wiki/Special:Random?r=43674",
"https://www.cra-arc.gc.ca/",
"https://en.wikipedia.org/wiki/Special:Random?r=50359",
"https://en.wikipedia.org/wiki/Special:Random?r=25632",
"https://en.wikipedia.org/wiki/Special:Random?r=5405",
"https://en.wikipedia.org/wiki/Special:Random?r=92779",
"https://www.theweathernetwork.com/ca",
"https://www.canadapost-postescanada.ca/",
"https://www.cbc.ca/news/politics/carney-u-s-ambassador-wiseman-9.7174897?cmp=rss",
"https://www.cbc.ca/news/canada/newfoundland-labrador/andrea-barbour-bullying-9.7174865?cmp=rss",
"https://www.cbc.ca/news/entertainment/heated-rivalry-peabody-9.7174978?cmp=rss"
"https://en.wikipedia.org/wiki/Special:Random?r=65596",
"https://en.wikipedia.org/wiki/Special:Random?r=17190",
"https://www.canada.ca/en.html",
"https://en.wikipedia.org/wiki/Special:Random?r=2131",
"https://en.wikipedia.org/wiki/Special:Random?r=84967",
"https://en.wikipedia.org/wiki/Special:Random?r=79512",
"https://en.wikipedia.org/wiki/Special:Random?r=46194",
"https://en.wikipedia.org/wiki/Special:Random?r=38542",
"https://en.wikipedia.org/wiki/Special:Random?r=38358"
],
"static_urls": [
"https://www.canada.ca/en.html",
"https://www.cra-arc.gc.ca/",
"https://www.canadapost-postescanada.ca/",
"https://www.utoronto.ca/",
"https://www.theweathernetwork.com/ca",
"https://www.canada.ca/en.html",
"https://www.td.com/",
"https://www.rbcroyalbank.com/",
"https://www.amazon.ca/",
"https://www.theweathernetwork.com/ca"
"https://www.canadapost-postescanada.ca/",
"https://www.cra-arc.gc.ca/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "Germany - Berlin",
"google_module": {
"base_lat": 52.52,
"base_lon": 13.405,
"lang_params": "hl=de-DE&gl=DE",
"valid_url_suffix": "de"
},
"trust_module": {
"white_urls": [
"https://www.dwd.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=35597",
"https://de.wikipedia.org/wiki/Special:Random?r=30227",
"https://www.sparkasse.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=57122",
"https://de.wikipedia.org/wiki/Special:Random?r=8275",
"https://de.wikipedia.org/wiki/Special:Random?r=56790",
"https://de.wikipedia.org/wiki/Special:Random?r=91051",
"https://de.wikipedia.org/wiki/Special:Random?r=36000",
"https://de.wikipedia.org/wiki/Special:Random?r=96792",
"https://de.wikipedia.org/wiki/Special:Random?r=86094",
"https://www.arbeitsagentur.de/",
"https://www.edeka.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=90828",
"https://de.wikipedia.org/wiki/Special:Random?r=10772",
"https://de.wikipedia.org/wiki/Special:Random?r=47819",
"https://de.wikipedia.org/wiki/Special:Random?r=17696",
"https://de.wikipedia.org/wiki/Special:Random?r=70671",
"https://de.wikipedia.org/wiki/Special:Random?r=32496",
"https://de.wikipedia.org/wiki/Special:Random?r=40227",
"https://de.wikipedia.org/wiki/Special:Random?r=29212",
"https://de.wikipedia.org/wiki/Special:Random?r=30124",
"https://de.wikipedia.org/wiki/Special:Random?r=28120",
"https://www.stepstone.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=69257",
"https://de.wikipedia.org/wiki/Special:Random?r=51298",
"https://de.wikipedia.org/wiki/Special:Random?r=64004",
"https://de.wikipedia.org/wiki/Special:Random?r=83996",
"https://de.wikipedia.org/wiki/Special:Random?r=23243",
"https://de.wikipedia.org/wiki/Special:Random?r=80287"
],
"static_urls": [
"https://www.edeka.de/",
"https://www.arbeitsagentur.de/",
"https://www.rewe.de/",
"https://www.immobilienscout24.de/",
"https://www.stepstone.de/",
"https://www.obi.de/",
"https://www.sparkasse.de/",
"https://www.dwd.de/",
"https://www.bundesregierung.de/",
"https://www.amazon.de/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "Germany - Bavaria (Nuremberg)",
"google_module": {
"base_lat": 49.4521,
"base_lon": 11.0767,
"lang_params": "hl=de-DE&gl=DE",
"valid_url_suffix": "de"
},
"trust_module": {
"white_urls": [
"https://de.wikipedia.org/wiki/Special:Random?r=2546",
"https://de.wikipedia.org/wiki/Special:Random?r=97033",
"https://de.wikipedia.org/wiki/Special:Random?r=64297",
"https://de.wikipedia.org/wiki/Special:Random?r=81470",
"https://de.wikipedia.org/wiki/Special:Random?r=34761",
"https://de.wikipedia.org/wiki/Special:Random?r=90156",
"https://de.wikipedia.org/wiki/Special:Random?r=38251",
"https://de.wikipedia.org/wiki/Special:Random?r=63033",
"https://www.arbeitsagentur.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=67948",
"https://de.wikipedia.org/wiki/Special:Random?r=34257",
"https://www.edeka.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=20022",
"https://de.wikipedia.org/wiki/Special:Random?r=76947",
"https://de.wikipedia.org/wiki/Special:Random?r=64041",
"https://de.wikipedia.org/wiki/Special:Random?r=53458",
"https://de.wikipedia.org/wiki/Special:Random?r=87544",
"https://www.stepstone.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=61054",
"https://de.wikipedia.org/wiki/Special:Random?r=65308",
"https://de.wikipedia.org/wiki/Special:Random?r=17443",
"https://de.wikipedia.org/wiki/Special:Random?r=23621",
"https://de.wikipedia.org/wiki/Special:Random?r=1470",
"https://de.wikipedia.org/wiki/Special:Random?r=98333",
"https://de.wikipedia.org/wiki/Special:Random?r=19243",
"https://de.wikipedia.org/wiki/Special:Random?r=44514",
"https://de.wikipedia.org/wiki/Special:Random?r=31018",
"https://www.sparkasse.de/",
"https://www.dwd.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=32036"
],
"static_urls": [
"https://www.obi.de/",
"https://www.stepstone.de/",
"https://www.rewe.de/",
"https://www.dwd.de/",
"https://www.arbeitsagentur.de/",
"https://www.immobilienscout24.de/",
"https://www.amazon.de/",
"https://www.bundesregierung.de/",
"https://www.edeka.de/",
"https://www.sparkasse.de/"
]
}
}

View File

@@ -8,39 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.tagesschau.de/wirtschaft/finanzen/infineon-chips-halbleiter-100.html",
"https://www.tagesschau.de/ausland/europa/ukraine-regierung-parlament-100.html",
"https://www.tagesschau.de/ausland/europa/tuerkei-socialmedia-verbot-100.html",
"https://www.tagesschau.de/ausland/asien/iran-regime-100.html",
"https://www.tagesschau.de/inland/gesellschaft/70-jahre-bundesnachrichtendienst-100.html",
"https://www.amazon.de/",
"https://www.tagesschau.de/wissen/forschung/nasa-teleskop-102.html",
"https://www.tagesschau.de/ausland/europa/eugh-asylrecht-italien-albanien-100.html",
"https://www.bundesregierung.de/",
"https://www.tagesschau.de/ausland/europa/ukraine-russland-angriffe-152.html",
"https://www.tagesschau.de/inland/regional/hessen/gesetzentwurf-existenzrecht-israel-100.html",
"https://www.ebay.de/",
"https://www.spiegel.de/",
"https://www.tagesschau.de/wirtschaft/adac-pannenstatistik-e-autos-100.html",
"https://www.tagesschau.de/inland/gesellschaft/pahlavi-berlin-100.html",
"https://www.tagesschau.de/ausland/amerika/trump-droht-iran-hormus-100.html",
"https://www.arbeitsagentur.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=91122",
"https://de.wikipedia.org/wiki/Special:Random?r=99900",
"https://de.wikipedia.org/wiki/Special:Random?r=79667",
"https://de.wikipedia.org/wiki/Special:Random?r=72133",
"https://de.wikipedia.org/wiki/Special:Random?r=30414",
"https://de.wikipedia.org/wiki/Special:Random?r=17476",
"https://de.wikipedia.org/wiki/Special:Random?r=62197",
"https://www.tum.de/",
"https://www.bahn.de/",
"https://www.tagesschau.de/ausland/europa/daenemark-zugunglueck-102.html",
"https://www.tagesschau.de/ausland/asien/libanon-israel-verhandlungen-100.html",
"https://www.sparkasse.de/",
"https://www.tagesschau.de/newsticker/liveblog-iran-donnerstag-112.html"
"https://de.wikipedia.org/wiki/Special:Random?r=86749",
"https://de.wikipedia.org/wiki/Special:Random?r=93748",
"https://de.wikipedia.org/wiki/Special:Random?r=48813",
"https://de.wikipedia.org/wiki/Special:Random?r=7354",
"https://de.wikipedia.org/wiki/Special:Random?r=49864",
"https://www.ebay.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=11352",
"https://de.wikipedia.org/wiki/Special:Random?r=92211",
"https://de.wikipedia.org/wiki/Special:Random?r=77863",
"https://de.wikipedia.org/wiki/Special:Random?r=11941",
"https://de.wikipedia.org/wiki/Special:Random?r=66288",
"https://www.arbeitsagentur.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=78353",
"https://de.wikipedia.org/wiki/Special:Random?r=95797",
"https://de.wikipedia.org/wiki/Special:Random?r=48228",
"https://de.wikipedia.org/wiki/Special:Random?r=8386",
"https://de.wikipedia.org/wiki/Special:Random?r=49518",
"https://www.spiegel.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=44216",
"https://de.wikipedia.org/wiki/Special:Random?r=76703",
"https://de.wikipedia.org/wiki/Special:Random?r=15791"
],
"static_urls": [
"https://www.bundesregierung.de/",
"https://www.arbeitsagentur.de/",
"https://www.tum.de/",
"https://www.sparkasse.de/",
"https://www.bahn.de/",
"https://www.tum.de/",
"https://www.arbeitsagentur.de/",
"https://www.amazon.de/",
"https://www.ebay.de/",
"https://www.spiegel.de/"
"https://www.spiegel.de/",
"https://www.bahn.de/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"version": "3.5.2",
"updated_at": "2026-06-01",
"region_name": "Germany - Aachen",
"google_module": {
"base_lat": 50.7753,
"base_lon": 6.0839,
"lang_params": "hl=de&gl=DE",
"valid_url_suffix": "de"
},
"trust_module": {
"white_urls": [
"https://de.wikipedia.org/wiki/Special:Random?r=46958",
"https://de.wikipedia.org/wiki/Special:Random?r=37852",
"https://de.wikipedia.org/wiki/Special:Random?r=60327",
"https://de.wikipedia.org/wiki/Special:Random?r=85686",
"https://de.wikipedia.org/wiki/Special:Random?r=99038",
"https://de.wikipedia.org/wiki/Special:Random?r=64896",
"https://de.wikipedia.org/wiki/Special:Random?r=37351",
"https://de.wikipedia.org/wiki/Special:Random?r=16660",
"https://www.spiegel.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=81735",
"https://de.wikipedia.org/wiki/Special:Random?r=88527",
"https://de.wikipedia.org/wiki/Special:Random?r=23372",
"https://www.tagesschau.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=47930",
"https://de.wikipedia.org/wiki/Special:Random?r=2000",
"https://de.wikipedia.org/wiki/Special:Random?r=48456",
"https://de.wikipedia.org/wiki/Special:Random?r=85473",
"https://www.faz.net/",
"https://de.wikipedia.org/wiki/Special:Random?r=27725",
"https://de.wikipedia.org/wiki/Special:Random?r=67397",
"https://de.wikipedia.org/wiki/Special:Random?r=90939",
"https://www.zeit.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=17419",
"https://de.wikipedia.org/wiki/Special:Random?r=31227",
"https://de.wikipedia.org/wiki/Special:Random?r=15978",
"https://de.wikipedia.org/wiki/Special:Random?r=12123",
"https://www.sueddeutsche.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=65946",
"https://de.wikipedia.org/wiki/Special:Random?r=40174",
"https://de.wikipedia.org/wiki/Special:Random?r=67382"
],
"static_urls": [
"https://www.sueddeutsche.de/",
"https://www.faz.net/",
"https://www.tagesschau.de/",
"https://www.zeit.de/",
"https://www.spiegel.de/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "Germany - Saxony (Falkenstein)",
"google_module": {
"base_lat": 50.4779,
"base_lon": 12.3713,
"lang_params": "hl=de-DE&gl=DE",
"valid_url_suffix": "de"
},
"trust_module": {
"white_urls": [
"https://de.wikipedia.org/wiki/Special:Random?r=45566",
"https://de.wikipedia.org/wiki/Special:Random?r=67312",
"https://de.wikipedia.org/wiki/Special:Random?r=69886",
"https://de.wikipedia.org/wiki/Special:Random?r=63933",
"https://de.wikipedia.org/wiki/Special:Random?r=50911",
"https://de.wikipedia.org/wiki/Special:Random?r=52106",
"https://de.wikipedia.org/wiki/Special:Random?r=69965",
"https://de.wikipedia.org/wiki/Special:Random?r=99018",
"https://de.wikipedia.org/wiki/Special:Random?r=96288",
"https://de.wikipedia.org/wiki/Special:Random?r=13002",
"https://www.sparkasse.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=51586",
"https://de.wikipedia.org/wiki/Special:Random?r=76962",
"https://de.wikipedia.org/wiki/Special:Random?r=24041",
"https://www.dwd.de/",
"https://de.wikipedia.org/wiki/Special:Random?r=63145",
"https://de.wikipedia.org/wiki/Special:Random?r=20894",
"https://de.wikipedia.org/wiki/Special:Random?r=96278",
"https://de.wikipedia.org/wiki/Special:Random?r=88107",
"https://de.wikipedia.org/wiki/Special:Random?r=44631",
"https://de.wikipedia.org/wiki/Special:Random?r=7629",
"https://de.wikipedia.org/wiki/Special:Random?r=26007",
"https://de.wikipedia.org/wiki/Special:Random?r=17691",
"https://de.wikipedia.org/wiki/Special:Random?r=30298",
"https://de.wikipedia.org/wiki/Special:Random?r=38769",
"https://de.wikipedia.org/wiki/Special:Random?r=28072",
"https://de.wikipedia.org/wiki/Special:Random?r=51596",
"https://www.stepstone.de/",
"https://www.edeka.de/",
"https://www.arbeitsagentur.de/"
],
"static_urls": [
"https://www.immobilienscout24.de/",
"https://www.amazon.de/",
"https://www.sparkasse.de/",
"https://www.rewe.de/",
"https://www.obi.de/",
"https://www.bundesregierung.de/",
"https://www.dwd.de/",
"https://www.stepstone.de/",
"https://www.arbeitsagentur.de/",
"https://www.edeka.de/"
]
}
}

View File

@@ -8,37 +8,45 @@
},
"trust_module": {
"white_urls": [
"https://elpais.com/opinion/2026-04-23/el-tipo-mas-idiota-de-internet-condenado-a-seis-meses-de-carcel.html",
"https://www.agenciatributaria.es/",
"https://elpais.com/internacional/2026-04-23/el-tribunal-penal-internacional-juzgara-al-expresidente-filipino-duterte-por-crimenes-contra-la-humanidad.html",
"https://elpais.com/deportes/futbol/2026-04-23/lamine-yamal-con-una-lesion-muscular-le-dice-adios-a-la-temporada-pero-no-al-mundial.html",
"https://elpais.com/babelia/2026-04-23/luc-delahaye-una-realidad-entre-el-documento-y-la-ficcion.html",
"https://administracion.gob.es/",
"https://cincodias.elpais.com/mercados-financieros/2026-04-23/digi-aplaza-su-salida-a-bolsa-ante-la-volatilidad-del-mercado-por-la-guerra-de-iran.html",
"https://www.renfe.com/",
"https://elpais.com/deportes/futbol/2026-04-22/el-elche-se-oxigena-y-derrota-a-un-atletico-de-bolo-veraniego.html",
"https://elpais.com/gente/2026-04-23/enrique-de-inglaterra-pide-no-olvidar-la-guerra-de-ucrania-en-su-tercera-visita-al-pais.html",
"https://es.wikipedia.org/wiki/Special:Random?r=5608",
"https://es.wikipedia.org/wiki/Special:Random?r=47120",
"https://www.agenciatributaria.es/",
"https://www.amazon.es/",
"https://elpais.com/espana/2026-04-23/el-rapto-de-los-90-minutos-en-miercoles-santo-resuelven-el-secuestro-del-gerente-de-un-salon-de-juegos-en-malaga.html",
"https://es.wikipedia.org/wiki/Special:Random?r=33998",
"https://es.wikipedia.org/wiki/Special:Random?r=13233",
"https://es.wikipedia.org/wiki/Special:Random?r=7186",
"https://es.wikipedia.org/wiki/Special:Random?r=8052",
"https://es.wikipedia.org/wiki/Special:Random?r=68099",
"https://es.wikipedia.org/wiki/Special:Random?r=52121",
"https://es.wikipedia.org/wiki/Special:Random?r=24000",
"https://es.wikipedia.org/wiki/Special:Random?r=23415",
"https://es.wikipedia.org/wiki/Special:Random?r=46998",
"https://es.wikipedia.org/wiki/Special:Random?r=29731",
"https://es.wikipedia.org/wiki/Special:Random?r=23700",
"https://es.wikipedia.org/wiki/Special:Random?r=59593",
"https://es.wikipedia.org/wiki/Special:Random?r=75445",
"https://es.wikipedia.org/wiki/Special:Random?r=99013",
"https://es.wikipedia.org/wiki/Special:Random?r=48314",
"https://es.wikipedia.org/wiki/Special:Random?r=38650",
"https://es.wikipedia.org/wiki/Special:Random?r=57691",
"https://www.elcorteingles.es/",
"https://elpais.com/espana/catalunya/2026-04-23/sant-jordi-sigue-creciendo-en-barcelona-con-buen-tiempo-colas-y-lluvia-de-polen.html",
"https://elpais.com/tecnologia/2026-04-22/pedro-sanchez-alerta-del-colonialismo-silencioso-de-la-ia-y-pide-una-respuesta-global-ante-expertos-de-la-onu.html",
"https://www.zara.com/es/",
"https://elpais.com/cultura/2026-04-23/cultura-estudia-hacer-obligatorios-los-gastos-de-envio-de-grandes-plataformas-online.html",
"https://elpais.com/clima-y-medio-ambiente/2026-04-22/mas-alla-de-los-combustibles-fosiles-una-coalicion-dispuesta-a-avanzar.html",
"https://elpais.com/salud-y-bienestar/el-medico-de-cerca/2026-04-22/sobrevivir-a-un-infarto-en-las-mejores-condiciones.html",
"https://elpais.com/economia/2026-04-23/cuerpo-asegura-que-el-fondo-soberano-espana-crece-estara-listo-antes-de-julio.html",
"https://www.santander.es/",
"https://elpais.com/internacional/2026-04-23/ultima-hora-de-la-guerra-de-estados-unidos-e-israel-contra-iran-en-directo.html"
"https://es.wikipedia.org/wiki/Special:Random?r=3762",
"https://es.wikipedia.org/wiki/Special:Random?r=55452",
"https://es.wikipedia.org/wiki/Special:Random?r=23403",
"https://es.wikipedia.org/wiki/Special:Random?r=74287",
"https://es.wikipedia.org/wiki/Special:Random?r=97366",
"https://es.wikipedia.org/wiki/Special:Random?r=23617"
],
"static_urls": [
"https://www.zara.com/es/",
"https://www.elcorteingles.es/",
"https://administracion.gob.es/",
"https://www.agenciatributaria.es/",
"https://www.santander.es/",
"https://www.renfe.com/",
"https://www.amazon.es/",
"https://www.zara.com/es/",
"https://www.elcorteingles.es/"
"https://www.santander.es/",
"https://www.renfe.com/"
]
}
}

View File

@@ -8,37 +8,45 @@
},
"trust_module": {
"white_urls": [
"https://www.france24.com/fr/vid%C3%A9o/20260423-derri%C3%A8re-l-image-en-rdc-les-veuves-de-soldats-dans-la-pr%C3%A9carit%C3%A9",
"https://www.france24.com/fr/vid%C3%A9o/20260423-guerre-en-ukraine-un-pr%C3%AAt-de-90-milliards-d-euros-pr%C3%AAt-%C3%A0-%C3%AAtre-d%C3%A9bloqu%C3%A9",
"https://www.france24.com/fr/vid%C3%A9o/20260423-%C3%A9tats-unis-le-secr%C3%A9taire-%C3%A0-la-marine-limog%C3%A9-en-plein-conflit-avec-l-iran",
"https://www.sorbonne-universite.fr/",
"https://www.amazon.fr/",
"https://fr.wikipedia.org/wiki/Special:Random?r=51937",
"https://fr.wikipedia.org/wiki/Special:Random?r=61540",
"https://www.cdiscount.com/",
"https://www.france24.com/fr/vid%C3%A9o/20260423-l-iran-maintient-son-emprise-sur-ormuz-incertitudes-sur-la-tr%C3%AAve",
"https://www.france24.com/fr/vid%C3%A9o/20260423-ukraine-un-pr%C3%AAt-quasi-d%C3%A9bloqu%C3%A9-zelensky-retrouve-les-dirigeants-europ%C3%A9ens-%C3%A0-chypre",
"https://www.france24.com/fr/france/20260423-liban-isra%C3%ABl-les-pays-r%C3%A9gion-moyen-orient-doivent-participer-n%C3%A9gociations-plaide-macron-%C3%A9tats-unis-washington",
"https://www.france24.com/fr/%C3%A9missions/politique/20260423-guerre-au-moyen-orient-la-fin-du-quoiqu-il-en-co%C3%BBte",
"https://www.france24.com/fr/vid%C3%A9o/20260423-liban-quels-sont-les-pouvoirs-et-les-limites-de-la-finul",
"https://www.france24.com/fr/vid%C3%A9o/20260423-le-b%C3%A9nin-mise-sur-son-histoire-pour-d%C3%A9velopper-le-tourisme",
"https://www.france24.com/fr/vid%C3%A9o/20260423-%C3%A0-montauban-hommage-national-%C3%A0-florian-montorio-casque-bleu-fran%C3%A7ais-tu%C3%A9-au-liban",
"https://www.france24.com/fr/%C3%A9missions/le-d%C3%A9bat/20260423-orban-hors-jeu-zelensky-gagnant",
"https://www.france24.com/fr/vid%C3%A9o/20260423-gaza-des-familles-pleurent-leurs-proches-tu%C3%A9s-dans-une-frappe-nocturne",
"https://fr.wikipedia.org/wiki/Special:Random?r=64",
"https://fr.wikipedia.org/wiki/Special:Random?r=64731",
"https://fr.wikipedia.org/wiki/Special:Random?r=93588",
"https://fr.wikipedia.org/wiki/Special:Random?r=9299",
"https://www.impots.gouv.fr/",
"https://www.france24.com/fr/moyen-orient/20260423-crise-alimentaire-pourquoi-le-plan-de-l-onu-pour-un-corridor-%C3%A0-ormuz-pi%C3%A9tine-s%C3%A9curit%C3%A9-engrais-iran",
"https://www.france24.com/fr/vid%C3%A9o/20260423-amal-khalil-tu%C3%A9e-dans-une-frappe-isra%C3%A9lienne-dans-le-sud-du-liban",
"https://www.service-public.fr/",
"https://fr.wikipedia.org/wiki/Special:Random?r=78195",
"https://fr.wikipedia.org/wiki/Special:Random?r=68800",
"https://fr.wikipedia.org/wiki/Special:Random?r=82565",
"https://fr.wikipedia.org/wiki/Special:Random?r=10230",
"https://fr.wikipedia.org/wiki/Special:Random?r=25897",
"https://fr.wikipedia.org/wiki/Special:Random?r=39058",
"https://fr.wikipedia.org/wiki/Special:Random?r=250",
"https://www.amazon.fr/",
"https://fr.wikipedia.org/wiki/Special:Random?r=12273",
"https://fr.wikipedia.org/wiki/Special:Random?r=95326",
"https://fr.wikipedia.org/wiki/Special:Random?r=48759",
"https://fr.wikipedia.org/wiki/Special:Random?r=12985",
"https://www.sncf.com/",
"https://fr.wikipedia.org/wiki/Special:Random?r=50712",
"https://fr.wikipedia.org/wiki/Special:Random?r=44945",
"https://www.credit-agricole.fr/",
"https://www.france24.com/fr/vid%C3%A9o/20260423-paris-le-l%C3%A9gendaire-orient-express-%C3%A0-l-honneur-au-mus%C3%A9e-des-arts-d%C3%A9coratifs"
"https://fr.wikipedia.org/wiki/Special:Random?r=9625",
"https://fr.wikipedia.org/wiki/Special:Random?r=78041",
"https://fr.wikipedia.org/wiki/Special:Random?r=24130",
"https://fr.wikipedia.org/wiki/Special:Random?r=12328",
"https://fr.wikipedia.org/wiki/Special:Random?r=55449",
"https://fr.wikipedia.org/wiki/Special:Random?r=58183"
],
"static_urls": [
"https://www.amazon.fr/",
"https://www.service-public.fr/",
"https://www.impots.gouv.fr/",
"https://www.cdiscount.com/",
"https://www.sncf.com/",
"https://www.sorbonne-universite.fr/",
"https://www.credit-agricole.fr/",
"https://www.sncf.com/",
"https://www.amazon.fr/",
"https://www.cdiscount.com/"
"https://www.impots.gouv.fr/"
]
}
}

View File

@@ -8,37 +8,45 @@
},
"trust_module": {
"white_urls": [
"https://hk.news.yahoo.com/%E5%8F%8D%E4%BF%AE%E4%BE%8B%E8%A2%AB%E6%8D%95%E8%80%85%E6%93%9A%E5%A0%B1%E8%B5%B4%E8%A1%9B%E8%A9%A9%E9%9B%85%E5%88%86%E4%BA%AB%E6%9C%83%E5%BE%8C%E7%8D%B2%E6%92%A4%E6%8E%A7-%E4%BF%9D%E5%AE%89%E5%B1%80-%E8%A1%8C%E5%8B%95%E7%B4%B0%E7%AF%80%E4%B8%8D%E4%BE%BF%E5%85%AC%E9%96%8B-%E6%9B%B4%E6%96%B0-042322551.html",
"https://www.hko.gov.hk/",
"https://hk.news.yahoo.com/%E4%BC%8A%E6%9C%97%E5%AE%A3%E7%A8%B1%E4%B8%8D%E6%9C%83%E9%96%8B%E6%94%BE%E8%8D%B7%E8%8E%AB%E8%8C%B2%E6%B5%B7%E5%B3%BD-%E9%99%A4%E9%9D%9E%E7%BE%8E%E5%9C%8B%E5%81%9C%E6%AD%A2%E5%B0%81%E9%8E%96-042002100.html",
"https://hk.news.yahoo.com/%E6%B6%88%E9%98%B2%E6%8A%AB%E9%9C%B2eas%E7%99%BC%E8%AD%A6%E7%A4%BA%E9%A0%88%E6%99%821%E5%8F%A5%E9%90%98-%E5%B0%8D%E6%80%A5%E9%80%9F%E6%83%A1%E5%8C%96%E7%81%AB%E5%8B%A2%E4%B8%8D%E9%81%A9%E5%90%88-094323720.html",
"https://hk.news.yahoo.com/%E4%BC%8A%E6%9C%97%E9%9D%A9%E5%91%BD%E8%A1%9B%E9%9A%8A%E7%82%AE%E8%89%87%E8%A5%B2%E6%93%8A%E9%98%BF%E6%9B%BC%E5%A4%96%E6%B5%B7%E8%B2%A8%E6%AB%83%E8%BC%AA-133503559.html",
"https://hk.news.yahoo.com/%E5%85%A5%E5%A2%83%E8%99%95%E6%89%93%E6%93%8A%E9%BB%91%E5%B7%A5%E5%A4%96%E8%B3%A3%E5%93%A1%E6%8B%9812%E4%BA%BA-%E5%8C%85%E6%8B%AC4%E6%B8%AF%E4%BA%BA%E6%B6%89%E5%87%BA%E7%A7%9F%E5%B8%B3%E8%99%9F%E6%88%96-%E6%B4%BE%E5%96%AE-%E8%AC%80%E5%88%A9-072553084.html",
"https://www.hktvmall.com/",
"https://www.gov.hk/",
"https://hk.news.yahoo.com/%E5%9D%A6%E5%B0%9A%E5%B0%BC%E4%BA%9E2025%E5%B9%B4%E9%81%B8%E8%88%89%E6%9A%B4%E5%8A%9B%E9%A0%BB%E5%82%B3-%E6%94%BF%E5%BA%9C%E8%AA%BF%E6%9F%A5%E7%A8%B1518%E6%AD%BB-140504774.html",
"https://hk.news.yahoo.com/%E8%B3%B4%E7%B8%BD%E7%B5%B1%E5%87%BA%E8%A8%AA%E5%8F%97%E9%98%BB-%E7%BE%8E%E6%89%B9%E4%B8%AD%E5%9C%8B%E6%81%90%E5%9A%87%E9%9D%9E%E6%B4%B2%E5%9C%8B%E5%AE%B6-072003045.html",
"https://hk.news.yahoo.com/%E4%BC%8A%E6%9C%97%E5%96%8A%E8%A9%B1-%E7%BE%8E%E5%9C%8B%E4%B8%8D%E8%A7%A3%E5%B0%81%E9%8E%96%E5%B0%B1%E4%B8%8D%E9%96%8B%E8%8D%B7%E8%8E%AB%E8%8C%B2%E6%B5%B7%E5%B3%BD-055002739.html",
"https://www.police.gov.hk/",
"https://hk.news.yahoo.com/%E4%BB%A5%E9%BB%8E%E8%8F%AF%E5%BA%9C%E5%86%8D%E6%9C%83%E8%AB%87-%E8%B2%9D%E9%AD%AF%E7%89%B9%E7%9B%BC%E5%BB%B6%E5%81%9C%E7%81%AB%E5%8D%94%E8%AD%B0-060502345.html",
"https://www.hku.hk/",
"https://hk.news.yahoo.com/%E7%BE%8E%E5%9C%8B%E8%B2%A1%E9%95%B7%E8%B2%9D%E6%A3%AE%E7%89%B9%E7%82%BA%E5%BB%B6%E9%95%B7%E4%BF%84%E7%BE%85%E6%96%AF%E7%9F%B3%E6%B2%B9%E5%88%B6%E8%A3%81%E8%B1%81%E5%85%8D%E8%BE%AF%E8%AD%B7-040502929.html",
"https://www.mtr.com.hk/",
"https://hk.news.yahoo.com/%E6%88%BF%E5%A7%94%E6%9C%83%E9%A6%96%E6%AC%A1%E5%90%8C%E6%AD%A5%E6%8E%A8%E5%B1%85%E5%B1%8B-%E7%B6%A0%E7%BD%AE%E5%B1%85-%E7%99%BD%E5%B1%85%E4%BA%8C-4-30%E8%B5%B7%E6%8E%A5%E5%8F%97%E7%94%B3%E8%AB%8B-200000762.html",
"https://hk.news.yahoo.com/%E8%8B%B1%E5%9C%8B%E6%94%BF%E5%BA%9C%E7%B8%AE%E6%B8%9B%E8%B5%A4%E5%AD%97%E6%9C%89%E6%88%90%E6%95%88-%E5%B0%88%E5%AE%B6%E8%AD%A6%E5%91%8A%E4%B8%AD%E6%9D%B1%E6%88%B0%E7%88%AD%E6%81%90%E6%8E%A8%E5%8D%87%E8%88%89%E5%82%B5%E6%88%90%E6%9C%AC-132005020.html",
"https://zh.wikipedia.org/wiki/Special:Random?r=5412",
"https://zh.wikipedia.org/wiki/Special:Random?r=82773",
"https://zh.wikipedia.org/wiki/Special:Random?r=45058",
"https://zh.wikipedia.org/wiki/Special:Random?r=17461",
"https://zh.wikipedia.org/wiki/Special:Random?r=12373",
"https://zh.wikipedia.org/wiki/Special:Random?r=77053",
"https://zh.wikipedia.org/wiki/Special:Random?r=24924",
"https://zh.wikipedia.org/wiki/Special:Random?r=20110",
"https://www.hsbc.com.hk/",
"https://hk.news.yahoo.com/%E6%B6%89%E4%BB%A5%E8%AA%A4%E5%B0%8E%E6%89%8B%E6%B3%95%E9%8A%B7%E5%94%AE%E4%B8%AD%E8%97%A5%E6%9D%90-39%E6%AD%B2%E6%97%BA%E8%A7%92-%E8%97%A5%E6%88%BF%E5%BA%97%E5%93%A1%E8%A2%AB%E6%8D%95-200000849.html",
"https://hk.news.yahoo.com/%E4%BC%8A%E6%9C%97%E5%AE%98%E5%93%A1-%E8%8D%B7%E8%8E%AB%E8%8C%B2%E6%B5%B7%E5%B3%BD%E9%A6%96%E6%89%B9%E9%81%8E%E8%B7%AF%E8%B2%BB%E6%94%B6%E5%85%A5%E5%B7%B2%E5%85%A5%E5%BA%AB-115003587.html",
"https://hk.news.yahoo.com/%E7%BE%8E%E5%9C%8B%E4%B8%8D%E8%A7%A3%E5%B0%81%E4%BC%8A%E6%9C%97%E4%B8%8D%E9%96%8B%E6%94%BE%E8%8D%B7%E8%8E%AB%E8%8C%B2-%E4%B8%AD%E6%9D%B1%E6%9C%80%E6%96%B0%E6%88%B0%E6%B3%81-%E6%AC%A1%E7%9C%8B-065002298.html"
"https://zh.wikipedia.org/wiki/Special:Random?r=66250",
"https://zh.wikipedia.org/wiki/Special:Random?r=174",
"https://zh.wikipedia.org/wiki/Special:Random?r=44358",
"https://zh.wikipedia.org/wiki/Special:Random?r=71842",
"https://zh.wikipedia.org/wiki/Special:Random?r=97322",
"https://zh.wikipedia.org/wiki/Special:Random?r=55742",
"https://www.mtr.com.hk/",
"https://zh.wikipedia.org/wiki/Special:Random?r=33956",
"https://zh.wikipedia.org/wiki/Special:Random?r=60389",
"https://www.police.gov.hk/",
"https://zh.wikipedia.org/wiki/Special:Random?r=87589",
"https://zh.wikipedia.org/wiki/Special:Random?r=88859",
"https://zh.wikipedia.org/wiki/Special:Random?r=34282",
"https://zh.wikipedia.org/wiki/Special:Random?r=16156",
"https://www.hko.gov.hk/",
"https://zh.wikipedia.org/wiki/Special:Random?r=71268",
"https://zh.wikipedia.org/wiki/Special:Random?r=89020",
"https://zh.wikipedia.org/wiki/Special:Random?r=22375",
"https://www.gov.hk/",
"https://zh.wikipedia.org/wiki/Special:Random?r=57093",
"https://zh.wikipedia.org/wiki/Special:Random?r=56614"
],
"static_urls": [
"https://www.gov.hk/",
"https://www.hko.gov.hk/",
"https://www.police.gov.hk/",
"https://www.hku.hk/",
"https://www.hsbc.com.hk/",
"https://www.mtr.com.hk/",
"https://www.hktvmall.com/"
"https://www.hko.gov.hk/",
"https://www.gov.hk/",
"https://www.police.gov.hk/",
"https://www.hktvmall.com/",
"https://www.hku.hk/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Indonesia (Jakarta)",
"google_module": {
"base_lat": -6.2088,
"base_lon": 106.8456,
"lang_params": "hl=id-ID&gl=ID",
"valid_url_suffix": "co.id"
},
"trust_module": {
"white_urls": [
"https://id.wikipedia.org/wiki/Special:Random?r=72882",
"https://id.wikipedia.org/wiki/Special:Random?r=36565",
"https://id.wikipedia.org/wiki/Special:Random?r=76119",
"https://www.antaranews.com/",
"https://id.wikipedia.org/wiki/Special:Random?r=98126",
"https://id.wikipedia.org/wiki/Special:Random?r=36985",
"https://www.kompas.com/",
"https://id.wikipedia.org/wiki/Special:Random?r=83818",
"https://www.bi.go.id/",
"https://id.wikipedia.org/wiki/Special:Random?r=71029",
"https://id.wikipedia.org/wiki/Special:Random?r=36844",
"https://www.kominfo.go.id/",
"https://id.wikipedia.org/wiki/Special:Random?r=62628",
"https://id.wikipedia.org/wiki/Special:Random?r=49788",
"https://id.wikipedia.org/wiki/Special:Random?r=51367",
"https://id.wikipedia.org/wiki/Special:Random?r=36562",
"https://id.wikipedia.org/wiki/Special:Random?r=65140",
"https://id.wikipedia.org/wiki/Special:Random?r=30450",
"https://id.wikipedia.org/wiki/Special:Random?r=40281",
"https://id.wikipedia.org/wiki/Special:Random?r=99848",
"https://id.wikipedia.org/wiki/Special:Random?r=90074",
"https://id.wikipedia.org/wiki/Special:Random?r=58260",
"https://id.wikipedia.org/wiki/Special:Random?r=37343",
"https://www.setneg.go.id/",
"https://id.wikipedia.org/wiki/Special:Random?r=81942",
"https://id.wikipedia.org/wiki/Special:Random?r=61085",
"https://id.wikipedia.org/wiki/Special:Random?r=23365",
"https://id.wikipedia.org/wiki/Special:Random?r=18194",
"https://id.wikipedia.org/wiki/Special:Random?r=2713",
"https://id.wikipedia.org/wiki/Special:Random?r=17835"
],
"static_urls": [
"https://www.kompas.com/",
"https://www.setneg.go.id/",
"https://www.kominfo.go.id/",
"https://www.antaranews.com/",
"https://www.bi.go.id/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "India (Delhi)",
"google_module": {
"base_lat": 28.6139,
"base_lon": 77.209,
"lang_params": "hl=en-IN&gl=IN",
"valid_url_suffix": "co.in"
},
"trust_module": {
"white_urls": [
"https://www.pib.gov.in/",
"https://en.wikipedia.org/wiki/Special:Random?r=28461",
"https://en.wikipedia.org/wiki/Special:Random?r=57900",
"https://en.wikipedia.org/wiki/Special:Random?r=69686",
"https://en.wikipedia.org/wiki/Special:Random?r=59607",
"https://en.wikipedia.org/wiki/Special:Random?r=36370",
"https://en.wikipedia.org/wiki/Special:Random?r=22473",
"https://www.rbi.org.in/",
"https://en.wikipedia.org/wiki/Special:Random?r=90043",
"https://en.wikipedia.org/wiki/Special:Random?r=54337",
"https://en.wikipedia.org/wiki/Special:Random?r=2969",
"https://en.wikipedia.org/wiki/Special:Random?r=77637",
"https://en.wikipedia.org/wiki/Special:Random?r=74545",
"https://en.wikipedia.org/wiki/Special:Random?r=88805",
"https://en.wikipedia.org/wiki/Special:Random?r=23601",
"https://en.wikipedia.org/wiki/Special:Random?r=51696",
"https://en.wikipedia.org/wiki/Special:Random?r=34869",
"https://en.wikipedia.org/wiki/Special:Random?r=92655",
"https://en.wikipedia.org/wiki/Special:Random?r=19212",
"https://en.wikipedia.org/wiki/Special:Random?r=18212",
"https://en.wikipedia.org/wiki/Special:Random?r=84503",
"https://en.wikipedia.org/wiki/Special:Random?r=36166",
"https://en.wikipedia.org/wiki/Special:Random?r=52370",
"https://en.wikipedia.org/wiki/Special:Random?r=68992",
"https://www.thehindu.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=12023",
"https://www.india.gov.in/",
"https://en.wikipedia.org/wiki/Special:Random?r=40866",
"https://timesofindia.indiatimes.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=7624"
],
"static_urls": [
"https://www.rbi.org.in/",
"https://www.thehindu.com/",
"https://www.pib.gov.in/",
"https://www.india.gov.in/",
"https://timesofindia.indiatimes.com/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Japan (Osaka)",
"google_module": {
"base_lat": 34.6937,
"base_lon": 135.5023,
"lang_params": "hl=ja&gl=JP",
"valid_url_suffix": "co.jp"
},
"trust_module": {
"white_urls": [
"https://ja.wikipedia.org/wiki/Special:Random?r=72346",
"https://ja.wikipedia.org/wiki/Special:Random?r=75186",
"https://ja.wikipedia.org/wiki/Special:Random?r=1215",
"https://ja.wikipedia.org/wiki/Special:Random?r=45591",
"https://www.nhk.or.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=45324",
"https://ja.wikipedia.org/wiki/Special:Random?r=56321",
"https://ja.wikipedia.org/wiki/Special:Random?r=80812",
"https://ja.wikipedia.org/wiki/Special:Random?r=92629",
"https://ja.wikipedia.org/wiki/Special:Random?r=27550",
"https://ja.wikipedia.org/wiki/Special:Random?r=7674",
"https://ja.wikipedia.org/wiki/Special:Random?r=72361",
"https://ja.wikipedia.org/wiki/Special:Random?r=68190",
"https://ja.wikipedia.org/wiki/Special:Random?r=77544",
"https://ja.wikipedia.org/wiki/Special:Random?r=65357",
"https://ja.wikipedia.org/wiki/Special:Random?r=76028",
"https://www.jnto.go.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=46867",
"https://ja.wikipedia.org/wiki/Special:Random?r=32142",
"https://ja.wikipedia.org/wiki/Special:Random?r=50302",
"https://ja.wikipedia.org/wiki/Special:Random?r=58811",
"https://ja.wikipedia.org/wiki/Special:Random?r=27560",
"https://ja.wikipedia.org/wiki/Special:Random?r=3544",
"https://ja.wikipedia.org/wiki/Special:Random?r=57602",
"https://ja.wikipedia.org/wiki/Special:Random?r=99009",
"https://www.japan.go.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=24304",
"https://ja.wikipedia.org/wiki/Special:Random?r=72966",
"https://www.rakuten.co.jp/",
"https://www.yahoo.co.jp/"
],
"static_urls": [
"https://www.yahoo.co.jp/",
"https://www.japan.go.jp/",
"https://www.nhk.or.jp/",
"https://www.jnto.go.jp/",
"https://www.rakuten.co.jp/"
]
}
}

View File

@@ -8,32 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.rakuten.co.jp/",
"https://www.smbc.co.jp/",
"https://www.jreast.co.jp/",
"https://www.mhlw.go.jp/",
"https://www.u-tokyo.ac.jp/",
"https://news.yahoo.co.jp/pickup/6577376?source=rss",
"https://www.amazon.co.jp/",
"https://news.yahoo.co.jp/pickup/6577374?source=rss",
"https://www.japan.go.jp/",
"https://news.yahoo.co.jp/pickup/6577369?source=rss",
"https://news.yahoo.co.jp/pickup/6577372?source=rss",
"https://news.yahoo.co.jp/pickup/6577377?source=rss",
"https://news.yahoo.co.jp/pickup/6577363?source=rss",
"https://www.yahoo.co.jp/",
"https://news.yahoo.co.jp/pickup/6577375?source=rss",
"https://news.yahoo.co.jp/pickup/6577370?source=rss"
"https://ja.wikipedia.org/wiki/Special:Random?r=42270",
"https://ja.wikipedia.org/wiki/Special:Random?r=53094",
"https://ja.wikipedia.org/wiki/Special:Random?r=33535",
"https://ja.wikipedia.org/wiki/Special:Random?r=42422",
"https://ja.wikipedia.org/wiki/Special:Random?r=90682",
"https://ja.wikipedia.org/wiki/Special:Random?r=66170",
"https://ja.wikipedia.org/wiki/Special:Random?r=9263",
"https://ja.wikipedia.org/wiki/Special:Random?r=90864",
"https://ja.wikipedia.org/wiki/Special:Random?r=97723",
"https://ja.wikipedia.org/wiki/Special:Random?r=33946",
"https://ja.wikipedia.org/wiki/Special:Random?r=16516",
"https://www.smbc.co.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=93391",
"https://ja.wikipedia.org/wiki/Special:Random?r=6686",
"https://ja.wikipedia.org/wiki/Special:Random?r=56964",
"https://ja.wikipedia.org/wiki/Special:Random?r=53274",
"https://www.amazon.co.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=73961",
"https://ja.wikipedia.org/wiki/Special:Random?r=13446",
"https://ja.wikipedia.org/wiki/Special:Random?r=9539",
"https://www.jreast.co.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=35377",
"https://ja.wikipedia.org/wiki/Special:Random?r=85319",
"https://ja.wikipedia.org/wiki/Special:Random?r=21975",
"https://www.mhlw.go.jp/",
"https://ja.wikipedia.org/wiki/Special:Random?r=30721",
"https://ja.wikipedia.org/wiki/Special:Random?r=73943",
"https://ja.wikipedia.org/wiki/Special:Random?r=35088",
"https://ja.wikipedia.org/wiki/Special:Random?r=51954"
],
"static_urls": [
"https://www.yahoo.co.jp/",
"https://www.japan.go.jp/",
"https://www.mhlw.go.jp/",
"https://www.u-tokyo.ac.jp/",
"https://www.smbc.co.jp/",
"https://www.jreast.co.jp/",
"https://www.yahoo.co.jp/",
"https://www.amazon.co.jp/",
"https://www.rakuten.co.jp/"
"https://www.rakuten.co.jp/",
"https://www.amazon.co.jp/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Cambodia (Phnom Penh)",
"google_module": {
"base_lat": 11.5564,
"base_lon": 104.9282,
"lang_params": "hl=en-KH&gl=KH",
"valid_url_suffix": "com.kh"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=36812",
"https://www.gov.kh/",
"https://en.wikipedia.org/wiki/Special:Random?r=13130",
"https://en.wikipedia.org/wiki/Special:Random?r=62981",
"https://en.wikipedia.org/wiki/Special:Random?r=42526",
"https://en.wikipedia.org/wiki/Special:Random?r=43196",
"https://en.wikipedia.org/wiki/Special:Random?r=43780",
"https://en.wikipedia.org/wiki/Special:Random?r=82043",
"https://en.wikipedia.org/wiki/Special:Random?r=34805",
"https://en.wikipedia.org/wiki/Special:Random?r=35551",
"https://en.wikipedia.org/wiki/Special:Random?r=34229",
"https://en.wikipedia.org/wiki/Special:Random?r=75615",
"https://en.wikipedia.org/wiki/Special:Random?r=14347",
"https://en.wikipedia.org/wiki/Special:Random?r=12847",
"https://en.wikipedia.org/wiki/Special:Random?r=62046",
"https://www.akp.gov.kh/",
"https://en.wikipedia.org/wiki/Special:Random?r=62013",
"https://en.wikipedia.org/wiki/Special:Random?r=3176",
"https://en.wikipedia.org/wiki/Special:Random?r=15359",
"https://en.wikipedia.org/wiki/Special:Random?r=42173",
"https://en.wikipedia.org/wiki/Special:Random?r=48609",
"https://www.khmertimeskh.com/",
"https://www.nbc.gov.kh/",
"https://en.wikipedia.org/wiki/Special:Random?r=27836",
"https://en.wikipedia.org/wiki/Special:Random?r=29435",
"https://www.phnompenhpost.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=43422",
"https://en.wikipedia.org/wiki/Special:Random?r=34264",
"https://en.wikipedia.org/wiki/Special:Random?r=99120",
"https://en.wikipedia.org/wiki/Special:Random?r=60756"
],
"static_urls": [
"https://www.akp.gov.kh/",
"https://www.nbc.gov.kh/",
"https://www.khmertimeskh.com/",
"https://www.phnompenhpost.com/",
"https://www.gov.kh/"
]
}
}

View File

@@ -8,29 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.kakao.com/",
"https://www.yonhapnewstv.co.kr/news/MYH20260423204515tFg",
"https://ko.wikipedia.org/wiki/Special:Random?r=70498",
"https://ko.wikipedia.org/wiki/Special:Random?r=23014",
"https://ko.wikipedia.org/wiki/Special:Random?r=79347",
"https://ko.wikipedia.org/wiki/Special:Random?r=69227",
"https://ko.wikipedia.org/wiki/Special:Random?r=98673",
"https://www.coupang.com/",
"https://ko.wikipedia.org/wiki/Special:Random?r=12504",
"https://www.korea.kr/",
"https://www.hometax.go.kr/",
"https://www.yonhapnewstv.co.kr/news/MYH20260423205121tTD",
"https://www.daum.net/",
"https://ko.wikipedia.org/wiki/Special:Random?r=94568",
"https://ko.wikipedia.org/wiki/Special:Random?r=15712",
"https://www.kbstar.com/",
"https://www.yonhapnewstv.co.kr/news/MYH20260423231345ZaH",
"https://www.yonhapnewstv.co.kr/news/MYH20260423235458edp",
"https://ko.wikipedia.org/wiki/Special:Random?r=22506",
"https://ko.wikipedia.org/wiki/Special:Random?r=179",
"https://ko.wikipedia.org/wiki/Special:Random?r=36874",
"https://ko.wikipedia.org/wiki/Special:Random?r=26762",
"https://ko.wikipedia.org/wiki/Special:Random?r=49813",
"https://www.snu.ac.kr/",
"https://www.yonhapnewstv.co.kr/news/MYH20260423211941Xe0",
"https://www.naver.com/"
"https://ko.wikipedia.org/wiki/Special:Random?r=25968",
"https://www.daum.net/",
"https://ko.wikipedia.org/wiki/Special:Random?r=12855",
"https://ko.wikipedia.org/wiki/Special:Random?r=78212",
"https://ko.wikipedia.org/wiki/Special:Random?r=22965",
"https://ko.wikipedia.org/wiki/Special:Random?r=71964",
"https://ko.wikipedia.org/wiki/Special:Random?r=11190",
"https://ko.wikipedia.org/wiki/Special:Random?r=19404",
"https://ko.wikipedia.org/wiki/Special:Random?r=36603",
"https://ko.wikipedia.org/wiki/Special:Random?r=99811",
"https://ko.wikipedia.org/wiki/Special:Random?r=43673",
"https://ko.wikipedia.org/wiki/Special:Random?r=3757",
"https://ko.wikipedia.org/wiki/Special:Random?r=20204"
],
"static_urls": [
"https://www.korea.kr/",
"https://www.hometax.go.kr/",
"https://www.snu.ac.kr/",
"https://www.kbstar.com/",
"https://www.naver.com/",
"https://www.daum.net/",
"https://www.naver.com/",
"https://www.coupang.com/",
"https://www.kakao.com/"
"https://www.kbstar.com/",
"https://www.snu.ac.kr/",
"https://www.kakao.com/",
"https://www.korea.kr/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Laos (Vientiane)",
"google_module": {
"base_lat": 17.9757,
"base_lon": 102.6331,
"lang_params": "hl=en-LA&gl=LA",
"valid_url_suffix": "la"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=30146",
"https://en.wikipedia.org/wiki/Special:Random?r=10321",
"https://en.wikipedia.org/wiki/Special:Random?r=32402",
"https://en.wikipedia.org/wiki/Special:Random?r=70150",
"https://en.wikipedia.org/wiki/Special:Random?r=87575",
"https://en.wikipedia.org/wiki/Special:Random?r=75068",
"https://en.wikipedia.org/wiki/Special:Random?r=42082",
"https://en.wikipedia.org/wiki/Special:Random?r=91691",
"https://en.wikipedia.org/wiki/Special:Random?r=37092",
"https://www.bol.gov.la/",
"https://en.wikipedia.org/wiki/Special:Random?r=94366",
"https://en.wikipedia.org/wiki/Special:Random?r=50689",
"https://kpl.gov.la/",
"https://www.laotel.com/",
"https://www.vientianetimes.org.la/",
"https://en.wikipedia.org/wiki/Special:Random?r=34421",
"https://en.wikipedia.org/wiki/Special:Random?r=55867",
"https://en.wikipedia.org/wiki/Special:Random?r=85810",
"https://www.mof.gov.la/",
"https://en.wikipedia.org/wiki/Special:Random?r=78487",
"https://en.wikipedia.org/wiki/Special:Random?r=41985",
"https://en.wikipedia.org/wiki/Special:Random?r=69285",
"https://en.wikipedia.org/wiki/Special:Random?r=20858",
"https://en.wikipedia.org/wiki/Special:Random?r=52805",
"https://en.wikipedia.org/wiki/Special:Random?r=94042",
"https://en.wikipedia.org/wiki/Special:Random?r=29334",
"https://en.wikipedia.org/wiki/Special:Random?r=2579",
"https://en.wikipedia.org/wiki/Special:Random?r=97759",
"https://en.wikipedia.org/wiki/Special:Random?r=3085",
"https://en.wikipedia.org/wiki/Special:Random?r=65385"
],
"static_urls": [
"https://www.laotel.com/",
"https://www.vientianetimes.org.la/",
"https://www.mof.gov.la/",
"https://kpl.gov.la/",
"https://www.bol.gov.la/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"region_name": "Myanmar (Yangon)",
"google_module": {
"base_lat": 16.8409,
"base_lon": 96.1735,
"lang_params": "hl=en-MM&gl=MM",
"valid_url_suffix": "com.mm"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=88253",
"https://en.wikipedia.org/wiki/Special:Random?r=80260",
"https://en.wikipedia.org/wiki/Special:Random?r=90132",
"https://www.cbmm.gov.mm/",
"https://en.wikipedia.org/wiki/Special:Random?r=73422",
"https://en.wikipedia.org/wiki/Special:Random?r=91290",
"https://en.wikipedia.org/wiki/Special:Random?r=74917",
"https://en.wikipedia.org/wiki/Special:Random?r=69036",
"https://en.wikipedia.org/wiki/Special:Random?r=91047",
"https://www.microsoft.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=29363",
"https://en.wikipedia.org/wiki/Special:Random?r=77857",
"https://www.apple.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=68266",
"https://en.wikipedia.org/wiki/Special:Random?r=52629",
"https://en.wikipedia.org/wiki/Special:Random",
"https://en.wikipedia.org/wiki/Special:Random?r=18871",
"https://en.wikipedia.org/wiki/Special:Random?r=35904",
"https://en.wikipedia.org/wiki/Special:Random?r=43435",
"https://en.wikipedia.org/wiki/Special:Random?r=50002",
"https://en.wikipedia.org/wiki/Special:Random?r=98312",
"https://en.wikipedia.org/wiki/Special:Random?r=69857",
"https://en.wikipedia.org/wiki/Special:Random?r=72683",
"https://en.wikipedia.org/wiki/Special:Random?r=20499",
"https://en.wikipedia.org/wiki/Special:Random?r=9078",
"https://en.wikipedia.org/wiki/Special:Random?r=72954",
"https://en.wikipedia.org/wiki/Special:Random?r=93401",
"https://en.wikipedia.org/wiki/Special:Random?r=34189",
"https://www.irrawaddy.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=61060"
],
"static_urls": [
"https://www.apple.com/",
"https://www.microsoft.com/",
"https://www.moi.gov.mm/",
"https://www.irrawaddy.com/",
"https://en.wikipedia.org/wiki/Special:Random",
"https://www.mmtimes.com/",
"https://www.cbmm.gov.mm/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"region_name": "Mongolia (Ulaanbaatar)",
"google_module": {
"base_lat": 47.8864,
"base_lon": 106.9057,
"lang_params": "hl=mn-MN&gl=MN",
"valid_url_suffix": "mn"
},
"trust_module": {
"white_urls": [
"https://mn.wikipedia.org/wiki/Special:Random?r=90018",
"https://mn.wikipedia.org/wiki/Special:Random?r=59850",
"https://mn.wikipedia.org/wiki/Special:Random?r=69262",
"https://www.apple.com/",
"https://mn.wikipedia.org/wiki/Special:Random?r=49613",
"https://mn.wikipedia.org/wiki/Special:Random?r=77102",
"https://mn.wikipedia.org/wiki/Special:Random?r=8210",
"https://mn.wikipedia.org/wiki/Special:Random?r=73933",
"https://mn.wikipedia.org/wiki/Special:Random",
"https://mn.wikipedia.org/wiki/Special:Random?r=40923",
"https://mn.wikipedia.org/wiki/Special:Random?r=66239",
"https://mn.wikipedia.org/wiki/Special:Random?r=65683",
"https://mn.wikipedia.org/wiki/Special:Random?r=15336",
"https://mn.wikipedia.org/wiki/Special:Random?r=89219",
"https://mn.wikipedia.org/wiki/Special:Random?r=30532",
"https://mn.wikipedia.org/wiki/Special:Random?r=92589",
"https://mn.wikipedia.org/wiki/Special:Random?r=46785",
"https://mn.wikipedia.org/wiki/Special:Random?r=11104",
"https://mn.wikipedia.org/wiki/Special:Random?r=79801",
"https://montsame.mn/",
"https://www.gov.mn/",
"https://news.mn/",
"https://mn.wikipedia.org/wiki/Special:Random?r=44840",
"https://mn.wikipedia.org/wiki/Special:Random?r=81139",
"https://mn.wikipedia.org/wiki/Special:Random?r=43622",
"https://mn.wikipedia.org/wiki/Special:Random?r=89678",
"https://mn.wikipedia.org/wiki/Special:Random?r=57610",
"https://mn.wikipedia.org/wiki/Special:Random?r=9169",
"https://mn.wikipedia.org/wiki/Special:Random?r=35674",
"https://mn.wikipedia.org/wiki/Special:Random?r=50358"
],
"static_urls": [
"https://www.mongolbank.mn/",
"https://www.gov.mn/",
"https://mn.wikipedia.org/wiki/Special:Random",
"https://news.mn/",
"https://www.apple.com/",
"https://www.microsoft.com/",
"https://montsame.mn/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"region_name": "Macau (澳门)",
"google_module": {
"base_lat": 22.1987,
"base_lon": 113.5439,
"lang_params": "hl=zh-HK&gl=MO",
"valid_url_suffix": "com.mo"
},
"trust_module": {
"white_urls": [
"https://zh.wikipedia.org/wiki/Special:Random?r=56623",
"https://zh.wikipedia.org/wiki/Special:Random?r=37274",
"https://zh.wikipedia.org/wiki/Special:Random?r=13643",
"https://zh.wikipedia.org/wiki/Special:Random?r=47347",
"https://zh.wikipedia.org/wiki/Special:Random?r=53580",
"https://zh.wikipedia.org/wiki/Special:Random?r=17491",
"https://zh.wikipedia.org/wiki/Special:Random?r=25122",
"https://zh.wikipedia.org/wiki/Special:Random?r=37610",
"https://www.gov.mo/",
"https://zh.wikipedia.org/wiki/Special:Random?r=14132",
"https://www.ctm.net/",
"https://zh.wikipedia.org/wiki/Special:Random?r=13934",
"https://zh.wikipedia.org/wiki/Special:Random?r=38858",
"https://zh.wikipedia.org/wiki/Special:Random?r=20010",
"https://zh.wikipedia.org/wiki/Special:Random?r=46495",
"https://zh.wikipedia.org/wiki/Special:Random?r=57407",
"https://zh.wikipedia.org/wiki/Special:Random?r=48670",
"https://zh.wikipedia.org/wiki/Special:Random?r=63626",
"https://zh.wikipedia.org/wiki/Special:Random?r=98163",
"https://zh.wikipedia.org/wiki/Special:Random?r=22078",
"https://zh.wikipedia.org/wiki/Special:Random?r=11314",
"https://www.umac.mo/",
"https://www.macau.gov.mo/",
"https://zh.wikipedia.org/wiki/Special:Random?r=5948",
"https://zh.wikipedia.org/wiki/Special:Random?r=28251",
"https://zh.wikipedia.org/wiki/Special:Random?r=33514",
"https://zh.wikipedia.org/wiki/Special:Random?r=98850",
"https://www.macaudailytimes.com.mo/",
"https://zh.wikipedia.org/wiki/Special:Random?r=38350",
"https://zh.wikipedia.org/wiki/Special:Random?r=63135"
],
"static_urls": [
"https://www.umac.mo/",
"https://www.macaudailytimes.com.mo/",
"https://www.ctm.net/",
"https://www.dsat.gov.mo/",
"https://www.macau.gov.mo/",
"https://www.bocmacau.com/",
"https://www.gov.mo/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://news.google.com/rss/articles/CBMiwAFBVV95cUxOc1FQTHJHTkRtLVM2aWNhRm1oSHY0WHJOMFI3N1l0S0FBSEVQaXFDNUxEcmUwUmlMMWtBMThiMGhVdjItdzltUUJNRUx4RDBQSDFBZmtfaVZ0YXFRWlp1ZmtWQlR6amFZeDByZEhtMmMwZVV3ZHFqZG9JQy1QWHF2dEZlRTFmZFVFd3kydnpZajlVOXRMcFRUZGxlRmxQU2puZnU1TTVRdE80blB3OG1SSDd2MXZjNDdJZWZWel92YTQ?oc=5",
"https://en.wikipedia.org/wiki/Special:Random?r=74127",
"https://en.wikipedia.org/wiki/Special:Random?r=11699",
"https://en.wikipedia.org/wiki/Special:Random?r=69493",
"https://en.wikipedia.org/wiki/Special:Random?r=21803",
"https://en.wikipedia.org/wiki/Special:Random?r=73965",
"https://en.wikipedia.org/wiki/Special:Random?r=96524",
"https://www.maybank2u.com.my/",
"https://www.lazada.com.my/",
"https://www.kwsp.gov.my/",
"https://news.google.com/rss/articles/CBMipgFBVV95cUxOT3Z4R043SjdaTTY4blQzTGZxOUFQRmJldmhTaFAxc2M4TC1tMmFSeHFMWGNfWk1jQW9FcWk2cmRsUUg0S3ItTmJ6VTdMTEcxWVhxejI5eDk2elBiN25TanRWVFBlNkswQUNhSk9WS19MVDBjbldRQ1FiX2NKeXEzdVZnUVY3YkxncjNYWGgwUE1VbFN1Z2FSNG53UkJ3SHQwNTkzSU1R0gGrAUFVX3lxTE4xVlVPRFJYZkFYUUx6cGVuVi1lZEhHLWZVdnFlS2ZCNk9WbXNlVkp5RlZBdmF4dmhGWXBLbnJzV0E5eUY5d3c1dDZzT1pQMURZRzZUd3NnYWNHOGVLWk1UV2RTR0kxZkd2bEt2WGFOVlBnSzhBdDhuTE5IY1F1S0oyNFdEaFNmTGtEd3JZVXJXUkpkNFRGMmJvZFdsNnFlNmo4Q3UyM1BxRlJ6dw?oc=5",
"https://news.google.com/rss/articles/CBMinAFBVV95cUxQc0puNXJDNjJvaWRLSjRjSXUzQk1WVlVTRGZsOEVhSnlCQWI3U29hdGJVSXZySmRKbm9pR3h3cUtmUmxPVWV3bG81YUtZSUlQel9rUzFITFZTZkhfV1hOcExIdmdXMzQ1aXdfamlxUmFFeXJrMDJVVEN3RmQ1VlEtSlU4WDRneHZJcTBVNWtPV1d5UC14UjJSaUJrd1PSAaIBQVVfeXFMUHRqS2VRMVktbGtuQWlOeWxZQUdKRWtjdGZINms3M0VvUnYyYUtTVVdpN2c3UkZ0V19oVVNCY3RyZk11d2pxb3BxUWZRVXcwVzBLUWM0V1gxVUtMMFNlRjRJcG9HYmZlcGhHU2dJMG5xQzRzdjRaMVpGbEFSU2tNaTcyaUE2SlkwMHRlM3Y1NEFsRkJQRWhmbUlBbE85MnBFMzV3?oc=5",
"https://news.google.com/rss/articles/CBMi1AFBVV95cUxQcWFCUXVGSUhfVHFUUXpTeDNrUm5yYWpPZXlzMUZtSzFDX0ZJdzNyWmlnbmZ2bUpLSXFHUHcyOFRHbkJMSzB6bjJYWDYyd2s5U285X1JIakRzYWxvNGJpSk5Deld3Q3NuZTdjTGJObmV1X2M0TW1GM19Nb0ZIWndDbHc1bHU3S3FtdmhMQ1k3MG5rSFRFRVA2TkZzOWNxczdvb3plMDN2dS1jWEw5Z09TeXZmZ1dtMGxtX1pvMkVDWWFrM25lVG5zNmZ5Y0lEN2VSaXhSYw?oc=5",
"https://en.wikipedia.org/wiki/Special:Random?r=42049",
"https://en.wikipedia.org/wiki/Special:Random?r=59671",
"https://en.wikipedia.org/wiki/Special:Random?r=75530",
"https://en.wikipedia.org/wiki/Special:Random?r=15862",
"https://en.wikipedia.org/wiki/Special:Random?r=36609",
"https://en.wikipedia.org/wiki/Special:Random?r=25078",
"https://en.wikipedia.org/wiki/Special:Random?r=22068",
"https://en.wikipedia.org/wiki/Special:Random?r=75858",
"https://www.pos.com.my/",
"https://news.google.com/rss/articles/CBMiqgFBVV95cUxPZnVfanlkc0NjNWNyU2lCSGhPY2tZMmJLMklhdlBuc1JRY3I3ZlE3TWhqdkVxclFzX0tSa2xHZ1Y3WUlCdzdaR05SX2VScWFkaFFwT0ZXMjRRUkM4OVlQSXNfbkV1Y01wRVNVckVHZmY5UGNCdm13YlBzQkdsQ3ZJb3BMN1YxaXdsWlhaXzBaSUdfbzhQQ3NoRzNUbkRueDh1QjlKbU1NaEFUQQ?oc=5",
"https://news.google.com/rss/articles/CBMi7wFBVV95cUxQSERSOUhUWHFZeTZVQ2JsMlpta0dVWjRGR2xkVFN4M1pYMzExTndtLVllZVVxMTVTTkRhMnB1Qm50TFRxcEVMTXYxejMyZi1jckZwYTJ0MERIY0diR3J5aTBWbE11SXZILTFhc2EtaE93Q25INlptQUpGT3lFaXE5c1g3UHhxX0JSTjdOSHhoUFFvdUJfclNwZnpJOFB3VG5UU2lrN3pJeTFzWmRVS0hRWVN3dk5KRGhBTER3MU1ySVJNeDRaTmJtODJqdkhGWl9iUE5aVk5vX0RNZ2NoOHRjeE9aR3l0SEZta0pDVERnSQ?oc=5",
"https://shopee.com.my/",
"https://news.google.com/rss/articles/CBMimgFBVV95cUxNM0Fha3pYTVVEblg0dUJNYmtIZGdJdGFwa20tbUttRHNFNUMtQ0doMVJDZU5GYm0wLUkwaVpkMzZzM2lhcDNkaXlOMm5UckJvQjUyQ25URl9aMC1idm5pNDJCSm5xN3FKMXloREV6azNVZmt6WXg3TkQxa2JoaWdhSy1ZcU1ac251Ukt3TlE3SVpPVWxOSnJIMkpn0gGfAUFVX3lxTE9uT1dydUxaa1NWQk9rUFlGRTVZZFRSM0NqNURDMzRXRnJCTkZFTEZCdXkwd1lDdkVJaWo2M0dIVnprZ2ZjOTEzU3VneE8xV0pIMWZTOVlLSFo3N2UtZ19JMVZCWFVhRW5PeFFSNHI4MWNGXzJLOWRxRVY3WkREaENGeEVhM1dYVnViYU50WS1SQzB6Z3VzaEpHU0tzbVphWQ?oc=5",
"https://news.google.com/rss/articles/CBMirAFBVV95cUxNN1N5S3h1ZmlMcl9Zd01BYmRFd0N1Vi1aX1BUTFprR1pvSHF5VDZqWk9PUWJEYllScHFyX25qNnFWMFJfTmZoNjNwSTdUYmlDWnJPN2dsajJMbjhfam1WdGZ2bW45V1gxeGRpdTlFQ1RqdE5tbmU0ZVRibVE4S0JqRndVQmlvX3o5QkRDdFpfMXRsQ2hUQ2tmWm5QRnh1d0ZacWl2TlBKR19ybEVQ?oc=5",
"https://news.google.com/rss/articles/CBMiZ0FVX3lxTE04VkZwSllHVjZXNWRvOW8zU3dCVVMzQUJ6OEJpY2NmdFZaRlhJTzhQWDYxNFZhMnVyVE9GMlZPOTFtbzZfd0g0el8zQkNEdU9BT3lQcmc3TldKTk5rYjEtdF9ZNG45WU0?oc=5",
"https://www.cimbclicks.com.my/",
"https://news.google.com/rss/articles/CBMiwAFBVV95cUxQd2tyWHRaY180eklwZHNXdXdZY0dfcnZGQ3ZTbktEVldDeE9KaGRHMHRlRUhXdXhUZzdNVlNjaXgzZTBHUW54Z1RqNnZKcGF2V21nTFhyTFdFS0Z6cVUzWDNrLXU5UmRZR2QxYjAzVjJ4QkhCZUUwZ2lzQVlNMkxxNGs0REkzVmFNSFNvczY3S25TN0hpV1JjYmptVGlxckIxeFRkNUp5ZnBraEh1SUNKTUVCRGx0TXcwa1AxVFkyY3M?oc=5",
"https://news.google.com/rss/articles/CBMifkFVX3lxTE5EOXcwZDBtWEZhNUdjUDczVGRXU2VVdUNsUGtVUl9hSHBTU21pNkI5YnlJWXVkOW5NaVgzWUJFUktxS2dKbk9CU2xqLWl1bnlCalJRUWFwLU1QTUVDMXBqM2o0dVJOMF9fWjcxTGZ1RlNlcWpxb0ljMVBYZ2tKZw?oc=5",
"https://www.malaysia.gov.my/",
"https://www.thestar.com.my/",
"https://um.edu.my/",
"https://news.google.com/rss/articles/CBMiqAFBVV95cUxQQjNRaVEwbkJuRUpEU1AyaTB3Y01QQm5TWFhLb0hyZVU2c0g4Y0huTnBuS0FtLVI0RnZKZ0J6aTdaSElFaFhUbDJ1NmZsUFYzTTU1TGNTRFh6T3l4VXVkWHdNSmt2aWtyYTlXem9HNDRwVVRqSHVXNVdJN3A5bTlTWHRONXJlczJSaExVb1ZURXlTWGVQOFE5a3NLMEtabkY5ZDFYeVR3UU4?oc=5",
"https://en.wikipedia.org/wiki/Special:Random?r=69",
"https://en.wikipedia.org/wiki/Special:Random?r=60529",
"https://en.wikipedia.org/wiki/Special:Random?r=24425",
"https://en.wikipedia.org/wiki/Special:Random?r=57457",
"https://www.hasil.gov.my/",
"https://news.google.com/rss/articles/CBMiugFBVV95cUxOdDFsd1RzdXlQSGVNTThONWdKaDROUzZwN0paQVNQNHN1Z20zd1lpUlVneVo0dUNfRDcyTEdXOFgzb3JCck0xT3JEMVFybXc5Ync1TFdHLXFvVlM4Si16ckk3RHF6U1BDOTh2LU1COC1paUcxWkgtTE9ZYnBPM0xMYnU4VlVoSTBPLVVSZ0Vwdi04V093d0NTeUUwT1FlNmxjcWZvWGZfdzdhcE5aTGNqbHdYUkZrQTdJM2c?oc=5",
"https://news.google.com/rss/articles/CBMiywFBVV95cUxQQWJxZjduYVFWMk45SDdGX3Frc3ItZURydjE2a3NBTkh3YXU4S2FzUG9MV3dnSXY5STM5SjlKTk5JQXFWLXl2RXYyQVdiZjd3U1hhSk1xUzNscWJrUUczc1U1MHNrQzYwMDlkU2k1WFFhSG5uUnl2YlVEcWcyVHZKeTFqRkMxaE1HU296aTBNdGt0Q1BvOVN1b0NuX3RKOFczeDJXWE1USGJkU0xaOUFMMVNieng1dDlkMnhhVTNFY0dHNXhQbXNZMXJvNA?oc=5",
"https://news.google.com/rss/articles/CBMirgFBVV95cUxORXNSSDhJeXhuZ0Z0ZlM1ZGpwdlhJaWhiR0xObFljZ0NTV0tYUWp4S3VXZ0EtOWpSQ1dlb3RRcVdyWGl4NUxzWGRSbmREd1RGbDg1aFpmeHlhVVIxLTh6d09KWnFBVk9ER0MxSmN6MW9DZ1ZsMndRajNzMzBkV3hCbVdwbEZ0ZFBRLXdMbXZDLTZFdTZZeGNfQW9hNGhlc0R0ekpZek1qbmNST0pYRkHSAbMBQVVfeXFMTks1eWhUZngyTXFCSzFuYzhNZkFlcWhGUkEtbHhSLV9CV3BvTm1hdWJhUGF6UjJFNFRHZ3U5MDd2NU54b29LVUJsM0lrN2FocUI4OFFmXy03ajZfbk45aHZucFVUSUpSTXZRQjlVTWFWR2FaV25TQXAydV85Z3QwaFd2b2tJOWxnbGZrSDlFVU1TREFfUWRFaUZEVHlqUXJPMllYRzRCVHJPd1pyTkhZSGpZUUk?oc=5"
"https://www.kwsp.gov.my/",
"https://en.wikipedia.org/wiki/Special:Random?r=33090",
"https://en.wikipedia.org/wiki/Special:Random?r=49261",
"https://en.wikipedia.org/wiki/Special:Random?r=85060",
"https://en.wikipedia.org/wiki/Special:Random?r=42206",
"https://en.wikipedia.org/wiki/Special:Random?r=70995",
"https://en.wikipedia.org/wiki/Special:Random?r=73057",
"https://www.malaysia.gov.my/",
"https://en.wikipedia.org/wiki/Special:Random?r=63856"
],
"static_urls": [
"https://www.malaysia.gov.my/",
"https://www.hasil.gov.my/",
"https://www.kwsp.gov.my/",
"https://um.edu.my/",
"https://www.maybank2u.com.my/",
"https://www.cimbclicks.com.my/",
"https://www.thestar.com.my/",
"https://shopee.com.my/",
"https://www.lazada.com.my/",
"https://www.pos.com.my/"
"https://www.thestar.com.my/",
"https://www.malaysia.gov.my/",
"https://www.maybank2u.com.my/",
"https://www.pos.com.my/",
"https://www.hasil.gov.my/",
"https://www.cimbclicks.com.my/",
"https://um.edu.my/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"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://en.wikipedia.org/wiki/Special:Random?r=58493",
"https://www.firstbanknigeria.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=63977",
"https://en.wikipedia.org/wiki/Special:Random?r=75745",
"https://en.wikipedia.org/wiki/Special:Random?r=93114",
"https://www.vanguardngr.com/",
"https://www.mtn.ng/",
"https://en.wikipedia.org/wiki/Special:Random?r=38171",
"https://en.wikipedia.org/wiki/Special:Random?r=41280",
"https://en.wikipedia.org/wiki/Special:Random?r=40137",
"https://en.wikipedia.org/wiki/Special:Random?r=44384",
"https://en.wikipedia.org/wiki/Special:Random?r=85265",
"https://en.wikipedia.org/wiki/Special:Random?r=83338",
"https://en.wikipedia.org/wiki/Special:Random?r=6333",
"https://en.wikipedia.org/wiki/Special:Random?r=37684",
"https://en.wikipedia.org/wiki/Special:Random?r=20218",
"https://en.wikipedia.org/wiki/Special:Random?r=76776",
"https://en.wikipedia.org/wiki/Special:Random?r=43",
"https://www.airtel.com.ng/",
"https://en.wikipedia.org/wiki/Special:Random?r=11971",
"https://www.punchng.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=96160",
"https://en.wikipedia.org/wiki/Special:Random?r=18965",
"https://en.wikipedia.org/wiki/Special:Random?r=75016",
"https://en.wikipedia.org/wiki/Special:Random?r=96874",
"https://en.wikipedia.org/wiki/Special:Random?r=69680",
"https://en.wikipedia.org/wiki/Special:Random?r=88244",
"https://en.wikipedia.org/wiki/Special:Random?r=57974",
"https://en.wikipedia.org/wiki/Special:Random?r=39198",
"https://en.wikipedia.org/wiki/Special:Random?r=87859"
],
"static_urls": [
"https://www.mtn.ng/",
"https://www.nairaland.com/",
"https://www.punchng.com/",
"https://www.vanguardngr.com/",
"https://guardian.ng/",
"https://www.firstbanknigeria.com/",
"https://www.konga.com/",
"https://www.airtel.com.ng/",
"https://www.gtbank.com/",
"https://www.jumia.com.ng/"
]
}
}

View File

@@ -8,37 +8,45 @@
},
"trust_module": {
"white_urls": [
"https://www.belastingdienst.nl/",
"https://nos.nl/l/2611728",
"https://www.ns.nl/",
"https://nos.nl/l/2611737",
"https://nos.nl/l/2611716",
"https://nos.nl/l/2611732",
"https://nl.wikipedia.org/wiki/Special:Random?r=56803",
"https://nl.wikipedia.org/wiki/Special:Random?r=31720",
"https://nl.wikipedia.org/wiki/Special:Random?r=28503",
"https://nl.wikipedia.org/wiki/Special:Random?r=64088",
"https://nl.wikipedia.org/wiki/Special:Random?r=86465",
"https://www.buienradar.nl/",
"https://nos.nl/l/2611731",
"https://www.marktplaats.nl/",
"https://nos.nl/l/2611710",
"https://nl.wikipedia.org/wiki/Special:Random?r=66630",
"https://nl.wikipedia.org/wiki/Special:Random?r=7353",
"https://nl.wikipedia.org/wiki/Special:Random?r=74583",
"https://nl.wikipedia.org/wiki/Special:Random?r=70054",
"https://nl.wikipedia.org/wiki/Special:Random?r=66709",
"https://www.ing.nl/",
"https://nos.nl/l/2611745",
"https://nos.nl/l/2611729",
"https://nos.nl/l/2611696",
"https://nos.nl/l/2611744",
"https://nos.nl/l/2611738",
"https://nos.nl/l/2611694",
"https://nl.wikipedia.org/wiki/Special:Random?r=61084",
"https://nl.wikipedia.org/wiki/Special:Random?r=23253",
"https://nl.wikipedia.org/wiki/Special:Random?r=53057",
"https://nl.wikipedia.org/wiki/Special:Random?r=71269",
"https://nl.wikipedia.org/wiki/Special:Random?r=31904",
"https://www.belastingdienst.nl/",
"https://www.rijksoverheid.nl/",
"https://www.bol.com/",
"https://nos.nl/l/2611719",
"https://nos.nl/l/2611725",
"https://nos.nl/l/2611703"
"https://nl.wikipedia.org/wiki/Special:Random?r=49945",
"https://nl.wikipedia.org/wiki/Special:Random?r=22871",
"https://nl.wikipedia.org/wiki/Special:Random?r=5378",
"https://nl.wikipedia.org/wiki/Special:Random?r=50902",
"https://nl.wikipedia.org/wiki/Special:Random?r=31925",
"https://www.ns.nl/",
"https://nl.wikipedia.org/wiki/Special:Random?r=1816",
"https://nl.wikipedia.org/wiki/Special:Random?r=91062",
"https://nl.wikipedia.org/wiki/Special:Random?r=61513",
"https://nl.wikipedia.org/wiki/Special:Random?r=81540",
"https://nl.wikipedia.org/wiki/Special:Random?r=7840"
],
"static_urls": [
"https://www.rijksoverheid.nl/",
"https://www.belastingdienst.nl/",
"https://www.ing.nl/",
"https://www.ns.nl/",
"https://www.bol.com/",
"https://www.belastingdienst.nl/",
"https://www.marktplaats.nl/",
"https://www.buienradar.nl/"
"https://www.ing.nl/",
"https://www.buienradar.nl/",
"https://www.rijksoverheid.nl/",
"https://www.bol.com/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Nepal (Kathmandu)",
"google_module": {
"base_lat": 27.7172,
"base_lon": 85.324,
"lang_params": "hl=en-NP&gl=NP",
"valid_url_suffix": "com.np"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=54690",
"https://en.wikipedia.org/wiki/Special:Random?r=13284",
"https://en.wikipedia.org/wiki/Special:Random?r=44173",
"https://en.wikipedia.org/wiki/Special:Random?r=84845",
"https://www.onlinekhabar.com/",
"https://thehimalayantimes.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=1082",
"https://en.wikipedia.org/wiki/Special:Random?r=28962",
"https://en.wikipedia.org/wiki/Special:Random?r=81698",
"https://en.wikipedia.org/wiki/Special:Random?r=47706",
"https://en.wikipedia.org/wiki/Special:Random?r=71942",
"https://en.wikipedia.org/wiki/Special:Random?r=26164",
"https://en.wikipedia.org/wiki/Special:Random?r=48751",
"https://en.wikipedia.org/wiki/Special:Random?r=18485",
"https://en.wikipedia.org/wiki/Special:Random?r=76445",
"https://en.wikipedia.org/wiki/Special:Random?r=38131",
"https://en.wikipedia.org/wiki/Special:Random?r=43524",
"https://en.wikipedia.org/wiki/Special:Random?r=55884",
"https://en.wikipedia.org/wiki/Special:Random?r=4815",
"https://en.wikipedia.org/wiki/Special:Random?r=47034",
"https://kathmandupost.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=95371",
"https://en.wikipedia.org/wiki/Special:Random?r=1042",
"https://en.wikipedia.org/wiki/Special:Random?r=91043",
"https://en.wikipedia.org/wiki/Special:Random?r=82666",
"https://nepal.gov.np/",
"https://www.nrb.org.np/",
"https://en.wikipedia.org/wiki/Special:Random?r=25928",
"https://en.wikipedia.org/wiki/Special:Random?r=18558",
"https://en.wikipedia.org/wiki/Special:Random?r=3659"
],
"static_urls": [
"https://nepal.gov.np/",
"https://www.nrb.org.np/",
"https://kathmandupost.com/",
"https://thehimalayantimes.com/",
"https://www.onlinekhabar.com/"
]
}
}

View File

@@ -0,0 +1,51 @@
{
"region_name": "Philippines (Manila)",
"google_module": {
"base_lat": 14.5995,
"base_lon": 120.9842,
"lang_params": "hl=en-PH&gl=PH",
"valid_url_suffix": "com.ph"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=20533",
"https://en.wikipedia.org/wiki/Special:Random?r=77203",
"https://en.wikipedia.org/wiki/Special:Random?r=51538",
"https://en.wikipedia.org/wiki/Special:Random?r=31981",
"https://en.wikipedia.org/wiki/Special:Random?r=14515",
"https://en.wikipedia.org/wiki/Special:Random",
"https://en.wikipedia.org/wiki/Special:Random?r=97448",
"https://en.wikipedia.org/wiki/Special:Random?r=63279",
"https://en.wikipedia.org/wiki/Special:Random?r=5894",
"https://en.wikipedia.org/wiki/Special:Random?r=61883",
"https://en.wikipedia.org/wiki/Special:Random?r=43523",
"https://www.microsoft.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=96968",
"https://en.wikipedia.org/wiki/Special:Random?r=76383",
"https://en.wikipedia.org/wiki/Special:Random?r=17944",
"https://en.wikipedia.org/wiki/Special:Random?r=62013",
"https://www.apple.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=52188",
"https://en.wikipedia.org/wiki/Special:Random?r=94421",
"https://en.wikipedia.org/wiki/Special:Random?r=80690",
"https://www.pna.gov.ph/",
"https://en.wikipedia.org/wiki/Special:Random?r=52608",
"https://en.wikipedia.org/wiki/Special:Random?r=64301",
"https://en.wikipedia.org/wiki/Special:Random?r=74200",
"https://en.wikipedia.org/wiki/Special:Random?r=7418",
"https://www.bsp.gov.ph/",
"https://en.wikipedia.org/wiki/Special:Random?r=25904",
"https://en.wikipedia.org/wiki/Special:Random?r=55560",
"https://en.wikipedia.org/wiki/Special:Random?r=38274",
"https://en.wikipedia.org/wiki/Special:Random?r=36330"
],
"static_urls": [
"https://www.gov.ph/",
"https://en.wikipedia.org/wiki/Special:Random",
"https://www.microsoft.com/",
"https://www.bsp.gov.ph/",
"https://www.apple.com/",
"https://www.pna.gov.ph/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Saudi Arabia (Riyadh)",
"google_module": {
"base_lat": 24.7136,
"base_lon": 46.6753,
"lang_params": "hl=ar-SA&gl=SA",
"valid_url_suffix": "com.sa"
},
"trust_module": {
"white_urls": [
"https://ar.wikipedia.org/wiki/Special:Random?r=74950",
"https://ar.wikipedia.org/wiki/Special:Random?r=7609",
"https://ar.wikipedia.org/wiki/Special:Random?r=76905",
"https://www.spa.gov.sa/",
"https://ar.wikipedia.org/wiki/Special:Random?r=73545",
"https://ar.wikipedia.org/wiki/Special:Random?r=80538",
"https://ar.wikipedia.org/wiki/Special:Random?r=32614",
"https://ar.wikipedia.org/wiki/Special:Random?r=33789",
"https://www.my.gov.sa/",
"https://ar.wikipedia.org/wiki/Special:Random?r=60059",
"https://ar.wikipedia.org/wiki/Special:Random?r=30018",
"https://ar.wikipedia.org/wiki/Special:Random?r=21794",
"https://ar.wikipedia.org/wiki/Special:Random?r=96934",
"https://ar.wikipedia.org/wiki/Special:Random?r=40367",
"https://ar.wikipedia.org/wiki/Special:Random?r=879",
"https://www.arabnews.com/",
"https://ar.wikipedia.org/wiki/Special:Random?r=8489",
"https://ar.wikipedia.org/wiki/Special:Random?r=98169",
"https://ar.wikipedia.org/wiki/Special:Random?r=82209",
"https://ar.wikipedia.org/wiki/Special:Random?r=7107",
"https://www.sama.gov.sa/",
"https://ar.wikipedia.org/wiki/Special:Random?r=57375",
"https://ar.wikipedia.org/wiki/Special:Random?r=91431",
"https://ar.wikipedia.org/wiki/Special:Random?r=42006",
"https://ar.wikipedia.org/wiki/Special:Random?r=61181",
"https://www.saudigazette.com.sa/",
"https://ar.wikipedia.org/wiki/Special:Random?r=79356",
"https://ar.wikipedia.org/wiki/Special:Random?r=11923",
"https://ar.wikipedia.org/wiki/Special:Random?r=14217",
"https://ar.wikipedia.org/wiki/Special:Random?r=71711"
],
"static_urls": [
"https://www.my.gov.sa/",
"https://www.sama.gov.sa/",
"https://www.saudigazette.com.sa/",
"https://www.arabnews.com/",
"https://www.spa.gov.sa/"
]
}
}

View File

@@ -8,38 +8,45 @@
},
"trust_module": {
"white_urls": [
"https://www.nus.edu.sg/",
"https://www.channelnewsasia.com/sport/shanto-rahman-fire-bangladesh-seal-2-1-odi-series-win-over-new-zealand-6076636",
"https://www.shopee.sg/",
"https://www.channelnewsasia.com/business/electrolux-plans-about-1-billion-share-issue-tie-up-midea-in-north-america-shake-up-ops-6077066",
"https://www.channelnewsasia.com/business/milan-tech-firm-bending-spoons-picks-banks-20-billion-us-listing-sources-say-6076741",
"https://www.cpf.gov.sg/",
"https://www.channelnewsasia.com/business/us-sets-preliminary-antidumping-duties-solar-imports-india-indonesia-and-laos-6077106",
"https://www.channelnewsasia.com/world/trump-administration-marijuana-drug-medical-use-6076856",
"https://www.channelnewsasia.com/business/microsoft-plans-first-voluntary-employee-buyout-cnbc-reports-6076806",
"https://www.gov.sg/",
"https://www.channelnewsasia.com/business/warner-bros-shareholders-back-us110-billion-merger-paramount-skydance-6076681",
"https://www.channelnewsasia.com/asia/indonesia-not-impose-tariffs-strait-malacca-foreign-minister-sugiono-6076516",
"https://www.channelnewsasia.com/business/in-two-amazon-units-builder-replaces-traditional-job-titles-6076801",
"https://www.channelnewsasia.com/business/stocks-retreat-us-iran-peace-talks-stall-6076641",
"https://www.dbs.com.sg/",
"https://www.iras.gov.sg/",
"https://www.channelnewsasia.com/world/ukraine-russia-war-european-union-loan-hungary-pipeline-6076921",
"https://www.channelnewsasia.com/sport/miami-grand-prix-practice-extended-after-rule-changes-race-cancellations-6076656",
"https://www.singpass.gov.sg/",
"https://www.fairprice.com.sg/",
"https://www.channelnewsasia.com/sport/coventry-chairman-king-shrugs-reports-linking-lampard-chelsea-return-6076911",
"https://www.channelnewsasia.com/business/cretaceous-kraken-prowled-seas-during-age-dinosaurs-6077036",
"https://www.channelnewsasia.com/sport/mclaren-will-have-completely-new-car-miami-gp-6076976"
"https://en.wikipedia.org/wiki/Special:Random?r=20394",
"https://en.wikipedia.org/wiki/Special:Random?r=53675",
"https://en.wikipedia.org/wiki/Special:Random?r=31850",
"https://en.wikipedia.org/wiki/Special:Random?r=45630",
"https://en.wikipedia.org/wiki/Special:Random?r=19182",
"https://en.wikipedia.org/wiki/Special:Random?r=57634",
"https://en.wikipedia.org/wiki/Special:Random?r=23113",
"https://en.wikipedia.org/wiki/Special:Random?r=73741",
"https://en.wikipedia.org/wiki/Special:Random?r=81466",
"https://en.wikipedia.org/wiki/Special:Random?r=4142",
"https://en.wikipedia.org/wiki/Special:Random?r=1388",
"https://www.singpass.gov.sg/",
"https://en.wikipedia.org/wiki/Special:Random?r=6405",
"https://www.dbs.com.sg/",
"https://en.wikipedia.org/wiki/Special:Random?r=74840",
"https://en.wikipedia.org/wiki/Special:Random?r=96233",
"https://en.wikipedia.org/wiki/Special:Random?r=87295",
"https://en.wikipedia.org/wiki/Special:Random?r=10256",
"https://en.wikipedia.org/wiki/Special:Random?r=43379",
"https://en.wikipedia.org/wiki/Special:Random?r=45547",
"https://www.nus.edu.sg/",
"https://en.wikipedia.org/wiki/Special:Random?r=69457",
"https://en.wikipedia.org/wiki/Special:Random?r=22119",
"https://en.wikipedia.org/wiki/Special:Random?r=54096",
"https://en.wikipedia.org/wiki/Special:Random?r=10990",
"https://www.cpf.gov.sg/",
"https://en.wikipedia.org/wiki/Special:Random?r=87516",
"https://en.wikipedia.org/wiki/Special:Random?r=19434",
"https://en.wikipedia.org/wiki/Special:Random?r=64384"
],
"static_urls": [
"https://www.gov.sg/",
"https://www.cpf.gov.sg/",
"https://www.iras.gov.sg/",
"https://www.singpass.gov.sg/",
"https://www.nus.edu.sg/",
"https://www.dbs.com.sg/",
"https://www.gov.sg/",
"https://www.nus.edu.sg/",
"https://www.cpf.gov.sg/",
"https://www.shopee.sg/",
"https://www.singpass.gov.sg/",
"https://www.iras.gov.sg/",
"https://www.fairprice.com.sg/"
]
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "Thailand (Bangkok)",
"google_module": {
"base_lat": 13.7563,
"base_lon": 100.5018,
"lang_params": "hl=th-TH&gl=TH",
"valid_url_suffix": "co.th"
},
"trust_module": {
"white_urls": [
"https://th.wikipedia.org/wiki/Special:Random?r=10316",
"https://th.wikipedia.org/wiki/Special:Random?r=31076",
"https://th.wikipedia.org/wiki/Special:Random?r=63118",
"https://th.wikipedia.org/wiki/Special:Random?r=88621",
"https://th.wikipedia.org/wiki/Special:Random?r=69714",
"https://th.wikipedia.org/wiki/Special:Random?r=42932",
"https://th.wikipedia.org/wiki/Special:Random?r=39012",
"https://th.wikipedia.org/wiki/Special:Random?r=83805",
"https://th.wikipedia.org/wiki/Special:Random?r=87538",
"https://th.wikipedia.org/wiki/Special:Random?r=54904",
"https://th.wikipedia.org/wiki/Special:Random?r=23950",
"https://www.set.or.th/",
"https://th.wikipedia.org/wiki/Special:Random?r=39850",
"https://www.bot.or.th/",
"https://www.bangkokpost.com/",
"https://th.wikipedia.org/wiki/Special:Random?r=29738",
"https://th.wikipedia.org/wiki/Special:Random?r=65937",
"https://th.wikipedia.org/wiki/Special:Random?r=58033",
"https://www.thaigov.go.th/",
"https://www.thairath.co.th/",
"https://th.wikipedia.org/wiki/Special:Random?r=57442",
"https://th.wikipedia.org/wiki/Special:Random?r=56746",
"https://th.wikipedia.org/wiki/Special:Random?r=93745",
"https://th.wikipedia.org/wiki/Special:Random?r=19139",
"https://th.wikipedia.org/wiki/Special:Random?r=18168",
"https://th.wikipedia.org/wiki/Special:Random?r=3320",
"https://th.wikipedia.org/wiki/Special:Random?r=16764",
"https://th.wikipedia.org/wiki/Special:Random?r=78066",
"https://th.wikipedia.org/wiki/Special:Random?r=31568",
"https://th.wikipedia.org/wiki/Special:Random?r=89834"
],
"static_urls": [
"https://www.thaigov.go.th/",
"https://www.set.or.th/",
"https://www.bot.or.th/",
"https://www.bangkokpost.com/",
"https://www.thairath.co.th/"
]
}
}

View File

@@ -0,0 +1,53 @@
{
"region_name": "Turkey (Istanbul)",
"google_module": {
"base_lat": 41.0082,
"base_lon": 28.9784,
"lang_params": "hl=tr-TR&gl=TR",
"valid_url_suffix": "com.tr"
},
"trust_module": {
"white_urls": [
"https://tr.wikipedia.org/wiki/Special:Random?r=85500",
"https://tr.wikipedia.org/wiki/Special:Random?r=40425",
"https://tr.wikipedia.org/wiki/Special:Random?r=98582",
"https://tr.wikipedia.org/wiki/Special:Random?r=24704",
"https://tr.wikipedia.org/wiki/Special:Random?r=51316",
"https://www.garantibbva.com.tr/",
"https://tr.wikipedia.org/wiki/Special:Random?r=63793",
"https://tr.wikipedia.org/wiki/Special:Random?r=63036",
"https://www.hepsiburada.com/",
"https://tr.wikipedia.org/wiki/Special:Random?r=62012",
"https://tr.wikipedia.org/wiki/Special:Random?r=54801",
"https://www.ziraatbank.com.tr/",
"https://tr.wikipedia.org/wiki/Special:Random?r=99186",
"https://tr.wikipedia.org/wiki/Special:Random?r=73134",
"https://tr.wikipedia.org/wiki/Special:Random?r=73785",
"https://tr.wikipedia.org/wiki/Special:Random?r=7219",
"https://tr.wikipedia.org/wiki/Special:Random?r=70545",
"https://tr.wikipedia.org/wiki/Special:Random?r=82883",
"https://tr.wikipedia.org/wiki/Special:Random?r=59031",
"https://tr.wikipedia.org/wiki/Special:Random?r=94180",
"https://tr.wikipedia.org/wiki/Special:Random?r=10175",
"https://www.turkiye.gov.tr/",
"https://tr.wikipedia.org/wiki/Special:Random?r=62521",
"https://tr.wikipedia.org/wiki/Special:Random?r=71803",
"https://tr.wikipedia.org/wiki/Special:Random?r=94055",
"https://tr.wikipedia.org/wiki/Special:Random?r=7625",
"https://www.hurriyet.com.tr/",
"https://tr.wikipedia.org/wiki/Special:Random?r=76566",
"https://tr.wikipedia.org/wiki/Special:Random?r=29803",
"https://tr.wikipedia.org/wiki/Special:Random?r=58242"
],
"static_urls": [
"https://www.hurriyet.com.tr/",
"https://www.ziraatbank.com.tr/",
"https://www.garantibbva.com.tr/",
"https://www.trendyol.com/",
"https://www.sahibinden.com/",
"https://www.hepsiburada.com/",
"https://www.milliyet.com.tr/",
"https://www.turkiye.gov.tr/"
]
}
}

View File

@@ -8,41 +8,47 @@
},
"trust_module": {
"white_urls": [
"https://www.post.gov.tw/",
"https://news.google.com/rss/articles/CBMi0gFBVV95cUxPZUdJQVZpMVdsS1ZIYzd2TkhpQkRPOUJmd3lIRC1PSWRpbDJZNHUxNlpwM2RMVHBUYjZWSzNNcTQtbEFhNHozTTBacWp3Mzl4d09YeGFha0ZxRkN0U01OZG5FeklFbUtEb0l1TW5SWWRNQ0JzcFp3TEVqUFdlRi01QnRQVlBLbEV3SVNyYWFBbGllTGdfcGc3VjYzNERGX0RpZFFZUkxtX09KMFM5TmZVeklPX0dMa3EydDgwUV9yUFgxaGZzM0JzNGQtWl9vRUpqWFE?oc=5",
"https://news.google.com/rss/articles/CBMiZkFVX3lxTE1kdU8yNlI0c2NKSzFjdGlWNHk4MmFHQVZXRUJocGhQTlZrc2ZXTkVKYXBWUUZSUF9nNnhyeUE2ZV9IY3NvRWdLRDJrc1E0eWRrQXVaLW9MYzN3eTIzX2VjWEZQc1NCQdIBa0FVX3lxTFB4WWVBdXV0NjdZY2xfam5PLUQ4VDBZaUlwOTFlZ19fcG53dW9VbjVGakNUcGNkaUJnYjZpejBkd0hSQm1HcnYyUmpXUFg1V2E4cTYta093Z1AtSHY2S0s1VUFqRS12S3JKMU9Z?oc=5",
"https://news.google.com/rss/articles/CBMiUkFVX3lxTE0yNkVPWlVSczlIUFRZMlBtVkNUMUJzb2FXVDFVQll4ajhFdlBjMlRWUk9MaE5hRWxlanVMaGtCM2tTYTZtYS0ybzE4ZlQ3bUVRalE?oc=5",
"https://www.pchome.com.tw/",
"https://zh.wikipedia.org/wiki/Special:Random?r=33127",
"https://zh.wikipedia.org/wiki/Special:Random?r=865",
"https://zh.wikipedia.org/wiki/Special:Random?r=23445",
"https://zh.wikipedia.org/wiki/Special:Random?r=87348",
"https://zh.wikipedia.org/wiki/Special:Random?r=73265",
"https://zh.wikipedia.org/wiki/Special:Random?r=61596",
"https://zh.wikipedia.org/wiki/Special:Random?r=47862",
"https://zh.wikipedia.org/wiki/Special:Random?r=34598",
"https://www.cathaybk.com.tw/",
"https://www.gov.tw/",
"https://news.google.com/rss/articles/CBMiswNBVV95cUxPcDZmUHpyYmlLUkZSaGtGaW1qa1JBd2N6bnY0RTJBblg5WXlxVDYwYm9yQ0J3Zi1YV25RRmk0V1hyVmhTWUpWQ09sY2tJVkZ4azdnZml0SG9yRnZodWVZMHhHV3U2dmN0OEp4dk9PSWpOVEhjYmFBRVg4cU1xaVZiTU05dVBRRzJROG1HR1BtRmFFck1sWDd0TXhvZHRLT0lGZVk0QUJQUTBUVHJJeWxWWjBNaXg3MEUxUW54RkRxVlhmbkhPZmxNdkJqbkczeWJ1c3ZEVURmMDk0d1RYSlZqckNxSnFaMUVNbmstc0N2clhoTjBocmM5bmk4eUhuRVpsbnpyaEI2UEF1WDkxcTRUNy14YXdvVmpqVGtJQ3ZHUXhWdFF2aEQxQS1IU1h2N2dyWUxZU0h6ZXJfeDBsN09aY3YydUVTODlIV2N1Z3loSjNBVkRSWVVBS281TTVDTi00UlZYZ1RENFBPdFh4YTdsWUJPUmVKdUJodTlIUTR0Mm03Z3YzODN0dUgzbmZWY1U3RE5qZWdMOHdFTXRjY29SZXJUME5vTFVNdXRmQTZMSmVOZlk?oc=5",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE0xdUpUQlNCUEdEeVdVYTg0ck1LYUw5Yll4OW5vTEZNTjRkQm5ROHlNMTJOdWE0czBLUjBxamlvNXIwMTdVei05M2hzY19BTk1M0gFWQVVfeXFMT1hVZEEyeWs4aHRTSzNKUGdfOUNqbUxYazJUMDN6RTJHYmhkU21fNTNnREliSG5WM3V3b0N0S3dkSTl2UGZ2Y19JUmRwWHJ3bGV0MzIyVmc?oc=5",
"https://news.google.com/rss/articles/CBMibkFVX3lxTFBHTmprcGlaR3I3TFlyUUhzZmFKQzZRYUFQXzhzR2dBVzJuQ1ZzU3c0T1ZMR2FRc3lkcTBFaThTdl92bWdhY3NBbFhOc01ZQ2pZc3l2bHUxT3BOOWcwMndYVFlZd0xYLU96bjVJOEdn?oc=5",
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE8wLWdBbXA4QVRlc2V2WE5rVTR2RE4zZVQweGZRSjdPNnBCclFoV1h0YkJZdkhkRElZdUtDQ0tBWVpPSzdvbjdqRXpuaTVET3ND?oc=5",
"https://news.google.com/rss/articles/CBMiogFBVV95cUxOODRIaHhSWWx2UzBMMW83LUNid29ZTmFuYXgtZktVUWtJUFlzaWpOdTN2ZGZXTldlRUllTHJleGR2RFc0NjN1YVVyRC1VT0FuQjRIYmNreTFDdk0yaURzdHJ1SmdFRllCZEo0RWFWTkxzM2pDdWVDWDlETzBhRWRnVGlTT3hOUFo4MjYzaGRwb3cyeHJ2c3E1MHVrS0hTclBkWVE?oc=5",
"https://news.google.com/rss/articles/CBMiWEFVX3lxTFBSWHMtZE5Ha1N0SGVMbWE0eHdFaV9aWktDNVpwWWZ2NmZYNU02N1RGVks5MXFYSWE2Yl9ZSkttRkZ6QWJ3azgzZl9LYzk2Ymx3bWpTRmFrZDA?oc=5",
"https://www.momoshop.com.tw/",
"https://www.dcard.tw/",
"https://www.thsrc.com.tw/",
"https://news.google.com/rss/articles/CBMiZkFVX3lxTE1xSXBsR2pKWXBZc0x4bUJxZWFEak04S25qaFI0Y3BLTnozc2Q3MzRHbWFCNUlZbVZDY0JzUVROTHJrWC1od2V0THVSb251bFdQeE15anltRnZ0NGNpc3MyVS1WeUlMd9IBa0FVX3lxTE1KWjRfMVBZN25ISHJLWGFLZGg1Rm1EMVFBMTZiMndKcmpSelVNSzJWU2NVazFMZnJHNmhxUWVzVkdNMDE2c05pb0RmZ2ZSUFZIbTNnbHNjYzU0eGZJbkRXOVRucHIxYnduazFz?oc=5",
"https://news.google.com/rss/articles/CBMiYEFVX3lxTE11eVZ2Rlk5SEthZmRtanVXWmRrWXhGYXRVbEpmSTBfSjluLTBNSlpCV3BZQUhoXzVYSzd5OTh2V2lFV3dtSWlXUG9IS2NwZHFPREwxdnNJVkVzVDZfZDlUV9IBZkFVX3lxTE5xWG9UNHJiLVhqem1td1JvbEkzR1Zpc1ItMDNGOTNvZFhiYURBR2ZtREp6aFdqWUxCUHpKUWZmTlVYQ3M3bzdJUWhnLUhrNFBBdlMxQk9faHRGWkh6eU9TRjljV1Y0UQ?oc=5",
"https://www.ntu.edu.tw/",
"https://news.google.com/rss/articles/CBMi1wJBVV95cUxPREFTbWloRmVNY0lyQXlHMkZ6QmtCM2M1RGdzbk8zQXNmMzhlRTJ5UkxKNHBIZjZBS0Z4akkzN3NmRkRiaTB4cUUxQ0pOa3lzdG1rNXJsaHhnSFcxX2Y1SXhoRkU3di1LZ29GVEFraEtOLVpWSURtZlRyX0licU81VkhHdVBMckNTeDNZNFdsVTlQbC14cGthN3VER0JtZk13VDF4ZlhON1dZZFBqcHNxdkpycmFBc1d1ZTRWWV82S2RzQzE3SzhuMUFCb3UwMFZfWTBIU1JpXzRORS1PVEpCMzlmTmRfZVY0b2Rtelo1Znk1UkJ4VUhySzdOQjBjaDJaR3ppZkR2NGlrdzdtMDZqU0Mta0tuLXBzRk1YbG1jR3Vxd0loWlJ3YmhEdGYxMzk3WWtjWi1BN0NFMXhSTUltRHFrMll4N3hwWFpBWmxCLWhiUmhkTnBn?oc=5",
"https://news.google.com/rss/articles/CBMiU0FVX3lxTFBDS2JaR3M3cjRLTHlMR1Y4U1IzNkkxM0I1aWY0S3B1ZDFkdUZWQlc3VC1nZndhQkUzRkJmZERvS1lsSG5lUXRUc3BqaTRPQVVFeG5v0gFYQVVfeXFMT2dUMTFLVHZpWWg0SE9XMWFwQnZhZ2lBLWUwbHhNTlhNbTZfc3ZUUF92QUlLTEpzTGlwS2t3Qi1WZmpHdWdMcG5zaHFmTmRPTmlpMDhQeS1wXw?oc=5",
"https://zh.wikipedia.org/wiki/Special:Random?r=80983",
"https://zh.wikipedia.org/wiki/Special:Random?r=58331",
"https://zh.wikipedia.org/wiki/Special:Random?r=69643",
"https://zh.wikipedia.org/wiki/Special:Random?r=72753",
"https://tw.yahoo.com/",
"https://news.google.com/rss/articles/CBMiZEFVX3lxTE9udVJJTVBBT1Z0ZFlmZXNpZFBnTDM3RmU0NkhVZnNNMEg5MHBrSHR4N2phUlZGNmhNQ1hubEM0MjljUmZrZkpyTDVNa1RDQ1YtY1Zha0diV29wUjhEbGdOeUhBMm7SAWpBVV95cUxQSlNFcy13NWd4Y2Nlck41Y0ZTTGhrWnlkalRCWm1RUm9ndkxkLUdUM1NHcFI4ZnZwWFdiR3RqNjVvVVM4UnkzbXJXbUhBRjl2UUVaNUFibGwwRTk1ZHhaSUx0aWVoLVNvc3hn?oc=5",
"https://news.google.com/rss/articles/CBMiT0FVX3lxTE1WNGN4MEFiTjdScmQ0NDZxaDN5cUxQbmpFbnF1eHVJaXBfSlc0ekZTOUxrYkJzVVJVWUstRGI2ekVjajEzVU8zeUdVUjRBSUU?oc=5"
"https://zh.wikipedia.org/wiki/Special:Random?r=59261",
"https://zh.wikipedia.org/wiki/Special:Random?r=26487",
"https://zh.wikipedia.org/wiki/Special:Random?r=71751",
"https://www.pchome.com.tw/",
"https://zh.wikipedia.org/wiki/Special:Random?r=72965",
"https://zh.wikipedia.org/wiki/Special:Random?r=99554",
"https://zh.wikipedia.org/wiki/Special:Random?r=15565",
"https://zh.wikipedia.org/wiki/Special:Random?r=33720",
"https://zh.wikipedia.org/wiki/Special:Random?r=84772",
"https://zh.wikipedia.org/wiki/Special:Random?r=61158",
"https://zh.wikipedia.org/wiki/Special:Random?r=69036",
"https://www.post.gov.tw/",
"https://zh.wikipedia.org/wiki/Special:Random?r=52520",
"https://www.gov.tw/",
"https://zh.wikipedia.org/wiki/Special:Random?r=16400",
"https://zh.wikipedia.org/wiki/Special:Random?r=68317"
],
"static_urls": [
"https://www.gov.tw/",
"https://www.post.gov.tw/",
"https://www.ntu.edu.tw/",
"https://tw.yahoo.com/",
"https://www.cathaybk.com.tw/",
"https://www.thsrc.com.tw/",
"https://tw.yahoo.com/",
"https://www.dcard.tw/",
"https://www.ntu.edu.tw/",
"https://www.momoshop.com.tw/",
"https://www.pchome.com.tw/",
"https://www.dcard.tw/"
"https://www.post.gov.tw/",
"https://www.pchome.com.tw/"
]
}
}

View File

@@ -8,39 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.nhs.uk/",
"https://www.ox.ac.uk/",
"https://www.bbc.com/news/articles/cdrm8k7lzmko?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cgj09ny0dq6o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cp3lge56zxwo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/clyxlnzrq41o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/cy813gy08v2o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c20qrg4dyr3o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/videos/c0q9k3lekn3o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/c98kz9pe01po?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c86ezy3qvjno?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cr41yel6v4eo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/cly60l1e6nxo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cvgkwk9525zo?at_medium=RSS&at_campaign=rss",
"https://www.ebay.co.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=47409",
"https://www.postoffice.co.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=8287",
"https://www.gov.uk/",
"https://www.bbc.co.uk/iplayer/episode/m002t4vt?at_medium=RSS&at_campaign=rss",
"https://en.wikipedia.org/wiki/Special:Random?r=13883",
"https://www.barclays.co.uk/",
"https://www.nationalrail.co.uk/",
"https://www.bbc.com/news/articles/c5ywjn9zpyjo?at_medium=RSS&at_campaign=rss",
"https://www.amazon.co.uk/",
"https://www.bbc.com/news/articles/c3r3pz82g58o?at_medium=RSS&at_campaign=rss",
"https://www.postoffice.co.uk/"
"https://en.wikipedia.org/wiki/Special:Random?r=34556",
"https://en.wikipedia.org/wiki/Special:Random?r=13301",
"https://en.wikipedia.org/wiki/Special:Random?r=44976",
"https://en.wikipedia.org/wiki/Special:Random?r=66307",
"https://en.wikipedia.org/wiki/Special:Random?r=45680",
"https://en.wikipedia.org/wiki/Special:Random?r=2326",
"https://en.wikipedia.org/wiki/Special:Random?r=75274",
"https://en.wikipedia.org/wiki/Special:Random?r=76311",
"https://en.wikipedia.org/wiki/Special:Random?r=75316",
"https://en.wikipedia.org/wiki/Special:Random?r=13348",
"https://www.nhs.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=27226",
"https://en.wikipedia.org/wiki/Special:Random?r=82884",
"https://en.wikipedia.org/wiki/Special:Random?r=15500",
"https://en.wikipedia.org/wiki/Special:Random?r=46362",
"https://en.wikipedia.org/wiki/Special:Random?r=55498",
"https://en.wikipedia.org/wiki/Special:Random?r=27073",
"https://en.wikipedia.org/wiki/Special:Random?r=34139",
"https://www.ox.ac.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=59044",
"https://en.wikipedia.org/wiki/Special:Random?r=15906",
"https://en.wikipedia.org/wiki/Special:Random?r=83814",
"https://en.wikipedia.org/wiki/Special:Random?r=68030",
"https://en.wikipedia.org/wiki/Special:Random?r=60498"
],
"static_urls": [
"https://www.gov.uk/",
"https://www.nhs.uk/",
"https://www.ox.ac.uk/",
"https://www.barclays.co.uk/",
"https://www.ox.ac.uk/",
"https://www.amazon.co.uk/",
"https://www.postoffice.co.uk/",
"https://www.nationalrail.co.uk/",
"https://www.amazon.co.uk/",
"https://www.ebay.co.uk/"
"https://www.ebay.co.uk/",
"https://www.nhs.uk/"
]
}
}

View File

@@ -8,39 +8,46 @@
},
"trust_module": {
"white_urls": [
"https://www.bbc.com/news/articles/cp3lge56zxwo?at_medium=RSS&at_campaign=rss",
"https://www.barclays.co.uk/",
"https://www.bbc.com/news/articles/c20qrg4dyr3o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/videos/c0q9k3lekn3o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/clyxlnzrq41o?at_medium=RSS&at_campaign=rss",
"https://www.amazon.co.uk/",
"https://www.postoffice.co.uk/",
"https://www.ox.ac.uk/",
"https://www.bbc.com/news/articles/c5ywjn9zpyjo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c3r3pz82g58o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cgj09ny0dq6o?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/cr41yel6v4eo?at_medium=RSS&at_campaign=rss",
"https://www.gov.uk/",
"https://www.bbc.com/news/articles/cdrm8k7lzmko?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/c98kz9pe01po?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/cly60l1e6nxo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/sport/football/articles/cy813gy08v2o?at_medium=RSS&at_campaign=rss",
"https://www.nationalrail.co.uk/",
"https://www.bbc.co.uk/iplayer/episode/m002t4vt?at_medium=RSS&at_campaign=rss",
"https://en.wikipedia.org/wiki/Special:Random?r=8793",
"https://www.postoffice.co.uk/",
"https://www.nhs.uk/",
"https://www.ebay.co.uk/",
"https://www.bbc.com/news/articles/cvgkwk9525zo?at_medium=RSS&at_campaign=rss",
"https://www.bbc.com/news/articles/c86ezy3qvjno?at_medium=RSS&at_campaign=rss"
"https://en.wikipedia.org/wiki/Special:Random?r=52989",
"https://en.wikipedia.org/wiki/Special:Random?r=10228",
"https://en.wikipedia.org/wiki/Special:Random?r=97397",
"https://www.gov.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=76177",
"https://en.wikipedia.org/wiki/Special:Random?r=90050",
"https://en.wikipedia.org/wiki/Special:Random?r=91556",
"https://en.wikipedia.org/wiki/Special:Random?r=88501",
"https://en.wikipedia.org/wiki/Special:Random?r=19340",
"https://en.wikipedia.org/wiki/Special:Random?r=81481",
"https://en.wikipedia.org/wiki/Special:Random?r=94886",
"https://en.wikipedia.org/wiki/Special:Random?r=97128",
"https://en.wikipedia.org/wiki/Special:Random?r=96468",
"https://en.wikipedia.org/wiki/Special:Random?r=3743",
"https://en.wikipedia.org/wiki/Special:Random?r=35340",
"https://en.wikipedia.org/wiki/Special:Random?r=68450",
"https://en.wikipedia.org/wiki/Special:Random?r=29226",
"https://en.wikipedia.org/wiki/Special:Random?r=14051",
"https://en.wikipedia.org/wiki/Special:Random?r=79765",
"https://en.wikipedia.org/wiki/Special:Random?r=32520",
"https://en.wikipedia.org/wiki/Special:Random?r=80917",
"https://en.wikipedia.org/wiki/Special:Random?r=262",
"https://www.barclays.co.uk/",
"https://en.wikipedia.org/wiki/Special:Random?r=6175",
"https://en.wikipedia.org/wiki/Special:Random?r=448",
"https://en.wikipedia.org/wiki/Special:Random?r=40545"
],
"static_urls": [
"https://www.gov.uk/",
"https://www.nhs.uk/",
"https://www.ox.ac.uk/",
"https://www.ebay.co.uk/",
"https://www.amazon.co.uk/",
"https://www.gov.uk/",
"https://www.barclays.co.uk/",
"https://www.postoffice.co.uk/",
"https://www.nationalrail.co.uk/",
"https://www.amazon.co.uk/",
"https://www.ebay.co.uk/"
"https://www.nhs.uk/",
"https://www.nationalrail.co.uk/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Arizona (Phoenix)",
"google_module": {
"base_lat": 33.4484,
"base_lon": -112.074,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=16163",
"https://en.wikipedia.org/wiki/Special:Random?r=77097",
"https://en.wikipedia.org/wiki/Special:Random?r=22340",
"https://www.amazon.com/",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=60811",
"https://en.wikipedia.org/wiki/Special:Random?r=34668",
"https://en.wikipedia.org/wiki/Special:Random?r=20913",
"https://en.wikipedia.org/wiki/Special:Random?r=33520",
"https://en.wikipedia.org/wiki/Special:Random?r=79296",
"https://en.wikipedia.org/wiki/Special:Random?r=63192",
"https://en.wikipedia.org/wiki/Special:Random?r=72567",
"https://en.wikipedia.org/wiki/Special:Random?r=20863",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=80696",
"https://en.wikipedia.org/wiki/Special:Random?r=68434",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=50480",
"https://en.wikipedia.org/wiki/Special:Random?r=66233",
"https://en.wikipedia.org/wiki/Special:Random?r=90579",
"https://en.wikipedia.org/wiki/Special:Random?r=72256",
"https://en.wikipedia.org/wiki/Special:Random?r=69910",
"https://en.wikipedia.org/wiki/Special:Random?r=61585",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=75295",
"https://en.wikipedia.org/wiki/Special:Random?r=81582",
"https://en.wikipedia.org/wiki/Special:Random?r=21414",
"https://en.wikipedia.org/wiki/Special:Random?r=85397",
"https://en.wikipedia.org/wiki/Special:Random?r=25037",
"https://en.wikipedia.org/wiki/Special:Random?r=404"
],
"static_urls": [
"https://www.usa.gov/",
"https://www.target.com/",
"https://www.weather.gov/",
"https://www.zillow.com/",
"https://www.amazon.com/",
"https://www.homedepot.com/",
"https://www.irs.gov/",
"https://www.walmart.com/",
"https://www.chase.com/",
"https://www.indeed.com/"
]
}
}

View File

@@ -0,0 +1,50 @@
{
"region_name": "US - California (Fremont)",
"google_module": {
"base_lat": 37.5485,
"base_lon": -121.9886,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=41834",
"https://en.wikipedia.org/wiki/Special:Random?r=17075",
"https://en.wikipedia.org/wiki/Special:Random?r=99571",
"https://www.ca.gov/",
"https://www.sfgate.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=23236",
"https://en.wikipedia.org/wiki/Special:Random?r=52251",
"https://en.wikipedia.org/wiki/Special:Random?r=7277",
"https://en.wikipedia.org/wiki/Special:Random?r=40950",
"https://en.wikipedia.org/wiki/Special:Random?r=26577",
"https://en.wikipedia.org/wiki/Special:Random?r=71584",
"https://en.wikipedia.org/wiki/Special:Random?r=53033",
"https://en.wikipedia.org/wiki/Special:Random?r=27546",
"https://en.wikipedia.org/wiki/Special:Random?r=58673",
"https://en.wikipedia.org/wiki/Special:Random?r=81838",
"https://en.wikipedia.org/wiki/Special:Random?r=83367",
"https://www.fremont.gov/",
"https://www.bart.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=37273",
"https://en.wikipedia.org/wiki/Special:Random?r=44585",
"https://en.wikipedia.org/wiki/Special:Random?r=81112",
"https://en.wikipedia.org/wiki/Special:Random?r=95070",
"https://en.wikipedia.org/wiki/Special:Random?r=27681",
"https://en.wikipedia.org/wiki/Special:Random?r=58271",
"https://en.wikipedia.org/wiki/Special:Random?r=81119",
"https://en.wikipedia.org/wiki/Special:Random?r=51506",
"https://en.wikipedia.org/wiki/Special:Random?r=89904",
"https://www.mercurynews.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=35061",
"https://en.wikipedia.org/wiki/Special:Random?r=68637"
],
"static_urls": [
"https://www.mercurynews.com/",
"https://www.bart.gov/",
"https://www.fremont.gov/",
"https://www.ca.gov/",
"https://www.sfgate.com/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - California (Irvine)",
"google_module": {
"base_lat": 33.6846,
"base_lon": -117.8265,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=97773",
"https://en.wikipedia.org/wiki/Special:Random?r=75640",
"https://en.wikipedia.org/wiki/Special:Random?r=91127",
"https://en.wikipedia.org/wiki/Special:Random?r=23471",
"https://en.wikipedia.org/wiki/Special:Random?r=2119",
"https://en.wikipedia.org/wiki/Special:Random?r=47548",
"https://en.wikipedia.org/wiki/Special:Random?r=88155",
"https://en.wikipedia.org/wiki/Special:Random?r=10784",
"https://en.wikipedia.org/wiki/Special:Random?r=78667",
"https://en.wikipedia.org/wiki/Special:Random?r=99076",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=81303",
"https://en.wikipedia.org/wiki/Special:Random?r=38688",
"https://en.wikipedia.org/wiki/Special:Random?r=21683",
"https://en.wikipedia.org/wiki/Special:Random?r=96572",
"https://www.irs.gov/",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=98301",
"https://en.wikipedia.org/wiki/Special:Random?r=64034",
"https://en.wikipedia.org/wiki/Special:Random?r=3558",
"https://en.wikipedia.org/wiki/Special:Random?r=14632",
"https://en.wikipedia.org/wiki/Special:Random?r=15987",
"https://en.wikipedia.org/wiki/Special:Random?r=62577",
"https://en.wikipedia.org/wiki/Special:Random?r=98137",
"https://en.wikipedia.org/wiki/Special:Random?r=69480",
"https://en.wikipedia.org/wiki/Special:Random?r=84820",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=38526",
"https://en.wikipedia.org/wiki/Special:Random?r=67730"
],
"static_urls": [
"https://www.walmart.com/",
"https://www.usa.gov/",
"https://www.amazon.com/",
"https://www.target.com/",
"https://www.indeed.com/",
"https://www.irs.gov/",
"https://www.zillow.com/",
"https://www.weather.gov/",
"https://www.homedepot.com/",
"https://www.chase.com/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.harvard.edu/",
"https://www.usa.gov/",
"https://www.chase.com/",
"https://www.cnn.com/europe/live-news/russia-ukraine-war-news-04-18-23/index.html",
"https://www.walmart.com/",
"https://www.npr.org/2026/04/23/g-s1-118440/up-first-newsletter-us-iran-john-phelan-trump-republican-democrat-midterm-fundraising-budget-reconciliation-ice",
"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/travel/article/worlds-longest-cycling-tunnel/index.html",
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
"https://www.cnn.com/cnn-underscored/reviews/mmmat-silicone-mats?iid=CNNUnderscoredHPcontainer",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=97531",
"https://en.wikipedia.org/wiki/Special:Random?r=3870",
"https://en.wikipedia.org/wiki/Special:Random?r=5941",
"https://en.wikipedia.org/wiki/Special:Random?r=54409",
"https://en.wikipedia.org/wiki/Special:Random?r=29151",
"https://www.irs.gov/",
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
"https://www.npr.org/2026/04/23/nx-s1-5795829/peace-talks-between-us-and-iran-at-a-standstill-as-trump-extends-ceasefire",
"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.target.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/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.cdc.gov/"
"https://en.wikipedia.org/wiki/Special:Random?r=86309",
"https://en.wikipedia.org/wiki/Special:Random?r=35004",
"https://en.wikipedia.org/wiki/Special:Random?r=56218",
"https://www.cdc.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=64648",
"https://en.wikipedia.org/wiki/Special:Random?r=66700",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=10184",
"https://en.wikipedia.org/wiki/Special:Random?r=22926",
"https://en.wikipedia.org/wiki/Special:Random?r=50276",
"https://en.wikipedia.org/wiki/Special:Random?r=58496",
"https://en.wikipedia.org/wiki/Special:Random?r=45525",
"https://en.wikipedia.org/wiki/Special:Random?r=68403",
"https://en.wikipedia.org/wiki/Special:Random?r=15410",
"https://en.wikipedia.org/wiki/Special:Random?r=81230",
"https://en.wikipedia.org/wiki/Special:Random?r=83468",
"https://en.wikipedia.org/wiki/Special:Random?r=1309",
"https://en.wikipedia.org/wiki/Special:Random?r=80738",
"https://www.chase.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=49250",
"https://en.wikipedia.org/wiki/Special:Random?r=28893",
"https://en.wikipedia.org/wiki/Special:Random?r=88107",
"https://en.wikipedia.org/wiki/Special:Random?r=21433"
],
"static_urls": [
"https://www.usa.gov/",
"https://www.irs.gov/",
"https://www.cdc.gov/",
"https://www.harvard.edu/",
"https://www.chase.com/",
"https://www.bankofamerica.com/",
"https://www.usps.com/",
"https://www.amazon.com/",
"https://www.target.com/",
"https://www.cdc.gov/",
"https://www.bankofamerica.com/",
"https://www.usa.gov/",
"https://www.chase.com/",
"https://www.walmart.com/",
"https://www.usps.com/"
"https://www.target.com/",
"https://www.harvard.edu/",
"https://www.irs.gov/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - California (Ontario)",
"google_module": {
"base_lat": 34.0633,
"base_lon": -117.6509,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=48739",
"https://en.wikipedia.org/wiki/Special:Random?r=39533",
"https://en.wikipedia.org/wiki/Special:Random?r=12381",
"https://en.wikipedia.org/wiki/Special:Random?r=20247",
"https://en.wikipedia.org/wiki/Special:Random?r=23000",
"https://en.wikipedia.org/wiki/Special:Random?r=79341",
"https://en.wikipedia.org/wiki/Special:Random?r=77484",
"https://en.wikipedia.org/wiki/Special:Random?r=91693",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=93777",
"https://en.wikipedia.org/wiki/Special:Random?r=40057",
"https://en.wikipedia.org/wiki/Special:Random?r=80653",
"https://en.wikipedia.org/wiki/Special:Random?r=12746",
"https://en.wikipedia.org/wiki/Special:Random?r=1067",
"https://en.wikipedia.org/wiki/Special:Random?r=78300",
"https://en.wikipedia.org/wiki/Special:Random?r=96470",
"https://en.wikipedia.org/wiki/Special:Random?r=3316",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=81831",
"https://en.wikipedia.org/wiki/Special:Random?r=54345",
"https://en.wikipedia.org/wiki/Special:Random?r=25264",
"https://en.wikipedia.org/wiki/Special:Random?r=51433",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=3984",
"https://en.wikipedia.org/wiki/Special:Random?r=27497",
"https://en.wikipedia.org/wiki/Special:Random?r=64040",
"https://en.wikipedia.org/wiki/Special:Random?r=55260",
"https://en.wikipedia.org/wiki/Special:Random?r=4588",
"https://www.irs.gov/"
],
"static_urls": [
"https://www.irs.gov/",
"https://www.usa.gov/",
"https://www.target.com/",
"https://www.zillow.com/",
"https://www.homedepot.com/",
"https://www.amazon.com/",
"https://www.walmart.com/",
"https://www.indeed.com/",
"https://www.weather.gov/",
"https://www.chase.com/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.amazon.com/",
"https://www.npr.org/2026/04/23/nx-s1-5795829/peace-talks-between-us-and-iran-at-a-standstill-as-trump-extends-ceasefire",
"https://en.wikipedia.org/wiki/Special:Random?r=82184",
"https://en.wikipedia.org/wiki/Special:Random?r=36644",
"https://en.wikipedia.org/wiki/Special:Random?r=14428",
"https://en.wikipedia.org/wiki/Special:Random?r=70978",
"https://en.wikipedia.org/wiki/Special:Random?r=94783",
"https://en.wikipedia.org/wiki/Special:Random?r=77845",
"https://en.wikipedia.org/wiki/Special:Random?r=71101",
"https://en.wikipedia.org/wiki/Special:Random?r=76155",
"https://en.wikipedia.org/wiki/Special:Random?r=67582",
"https://en.wikipedia.org/wiki/Special:Random?r=16624",
"https://en.wikipedia.org/wiki/Special:Random?r=71226",
"https://en.wikipedia.org/wiki/Special:Random?r=21885",
"https://en.wikipedia.org/wiki/Special:Random?r=78442",
"https://www.irs.gov/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://www.chase.com/",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
"https://www.cdc.gov/",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.target.com/",
"https://www.npr.org/2026/04/23/g-s1-118440/up-first-newsletter-us-iran-john-phelan-trump-republican-democrat-midterm-fundraising-budget-reconciliation-ice",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.cnn.com/europe/live-news/russia-ukraine-war-news-04-18-23/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/health/teen-misuse-adhd-meds-wellness/index.html",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://en.wikipedia.org/wiki/Special:Random?r=11675",
"https://en.wikipedia.org/wiki/Special:Random?r=79115",
"https://en.wikipedia.org/wiki/Special:Random?r=79781",
"https://en.wikipedia.org/wiki/Special:Random?r=90626",
"https://en.wikipedia.org/wiki/Special:Random?r=16171",
"https://www.walmart.com/",
"https://www.bankofamerica.com/",
"https://www.usps.com/",
"https://www.cnn.com/travel/article/worlds-longest-cycling-tunnel/index.html",
"https://www.cnn.com/cnn-underscored/reviews/mmmat-silicone-mats?iid=CNNUnderscoredHPcontainer",
"https://www.harvard.edu/",
"https://www.usa.gov/",
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman"
"https://en.wikipedia.org/wiki/Special:Random?r=91093",
"https://en.wikipedia.org/wiki/Special:Random?r=25807",
"https://en.wikipedia.org/wiki/Special:Random?r=13524",
"https://en.wikipedia.org/wiki/Special:Random?r=85117",
"https://en.wikipedia.org/wiki/Special:Random?r=18036",
"https://en.wikipedia.org/wiki/Special:Random?r=89342",
"https://www.chase.com/",
"https://www.amazon.com/",
"https://www.cdc.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=67550"
],
"static_urls": [
"https://www.usa.gov/",
"https://www.irs.gov/",
"https://www.cdc.gov/",
"https://www.harvard.edu/",
"https://www.usa.gov/",
"https://www.chase.com/",
"https://www.bankofamerica.com/",
"https://www.amazon.com/",
"https://www.target.com/",
"https://www.bankofamerica.com/",
"https://www.harvard.edu/",
"https://www.amazon.com/",
"https://www.walmart.com/",
"https://www.usps.com/"
"https://www.usps.com/",
"https://www.cdc.gov/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Colorado (Boulder)",
"google_module": {
"base_lat": 40.015,
"base_lon": -105.2705,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.walmart.com/",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=27511",
"https://en.wikipedia.org/wiki/Special:Random?r=83326",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=83162",
"https://en.wikipedia.org/wiki/Special:Random?r=11039",
"https://en.wikipedia.org/wiki/Special:Random?r=89496",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=82444",
"https://en.wikipedia.org/wiki/Special:Random?r=54660",
"https://en.wikipedia.org/wiki/Special:Random?r=16825",
"https://en.wikipedia.org/wiki/Special:Random?r=26734",
"https://en.wikipedia.org/wiki/Special:Random?r=56779",
"https://en.wikipedia.org/wiki/Special:Random?r=29088",
"https://en.wikipedia.org/wiki/Special:Random?r=15847",
"https://en.wikipedia.org/wiki/Special:Random?r=23830",
"https://en.wikipedia.org/wiki/Special:Random?r=14763",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=64773",
"https://en.wikipedia.org/wiki/Special:Random?r=99376",
"https://en.wikipedia.org/wiki/Special:Random?r=40183",
"https://en.wikipedia.org/wiki/Special:Random?r=6780",
"https://en.wikipedia.org/wiki/Special:Random?r=46128",
"https://en.wikipedia.org/wiki/Special:Random?r=40218",
"https://en.wikipedia.org/wiki/Special:Random?r=61583",
"https://en.wikipedia.org/wiki/Special:Random?r=32050",
"https://en.wikipedia.org/wiki/Special:Random?r=36640",
"https://en.wikipedia.org/wiki/Special:Random?r=66220",
"https://en.wikipedia.org/wiki/Special:Random?r=11882"
],
"static_urls": [
"https://www.amazon.com/",
"https://www.walmart.com/",
"https://www.chase.com/",
"https://www.target.com/",
"https://www.usa.gov/",
"https://www.indeed.com/",
"https://www.homedepot.com/",
"https://www.weather.gov/",
"https://www.zillow.com/",
"https://www.irs.gov/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Florida (Miami)",
"google_module": {
"base_lat": 25.7617,
"base_lon": -80.1918,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=82387",
"https://en.wikipedia.org/wiki/Special:Random?r=56266",
"https://en.wikipedia.org/wiki/Special:Random?r=12882",
"https://en.wikipedia.org/wiki/Special:Random?r=4845",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=5312",
"https://en.wikipedia.org/wiki/Special:Random?r=30111",
"https://en.wikipedia.org/wiki/Special:Random?r=65728",
"https://en.wikipedia.org/wiki/Special:Random?r=11604",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=30130",
"https://en.wikipedia.org/wiki/Special:Random?r=74637",
"https://en.wikipedia.org/wiki/Special:Random?r=23575",
"https://en.wikipedia.org/wiki/Special:Random?r=11291",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=19914",
"https://en.wikipedia.org/wiki/Special:Random?r=28311",
"https://en.wikipedia.org/wiki/Special:Random?r=66114",
"https://en.wikipedia.org/wiki/Special:Random?r=90944",
"https://en.wikipedia.org/wiki/Special:Random?r=72144",
"https://en.wikipedia.org/wiki/Special:Random?r=15030",
"https://en.wikipedia.org/wiki/Special:Random?r=28911",
"https://en.wikipedia.org/wiki/Special:Random?r=14748",
"https://www.walmart.com/",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=10999",
"https://en.wikipedia.org/wiki/Special:Random?r=96727",
"https://en.wikipedia.org/wiki/Special:Random?r=33409",
"https://en.wikipedia.org/wiki/Special:Random?r=10109",
"https://en.wikipedia.org/wiki/Special:Random?r=5414"
],
"static_urls": [
"https://www.homedepot.com/",
"https://www.irs.gov/",
"https://www.walmart.com/",
"https://www.amazon.com/",
"https://www.target.com/",
"https://www.weather.gov/",
"https://www.chase.com/",
"https://www.zillow.com/",
"https://www.indeed.com/",
"https://www.usa.gov/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Georgia (Atlanta)",
"google_module": {
"base_lat": 33.749,
"base_lon": -84.388,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=86581",
"https://en.wikipedia.org/wiki/Special:Random?r=69974",
"https://en.wikipedia.org/wiki/Special:Random?r=38811",
"https://en.wikipedia.org/wiki/Special:Random?r=84364",
"https://en.wikipedia.org/wiki/Special:Random?r=73759",
"https://en.wikipedia.org/wiki/Special:Random?r=17921",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=6458",
"https://www.amazon.com/",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=30734",
"https://en.wikipedia.org/wiki/Special:Random?r=37812",
"https://en.wikipedia.org/wiki/Special:Random?r=41293",
"https://en.wikipedia.org/wiki/Special:Random?r=1483",
"https://en.wikipedia.org/wiki/Special:Random?r=91501",
"https://en.wikipedia.org/wiki/Special:Random?r=23157",
"https://en.wikipedia.org/wiki/Special:Random?r=16804",
"https://en.wikipedia.org/wiki/Special:Random?r=52432",
"https://en.wikipedia.org/wiki/Special:Random?r=50627",
"https://en.wikipedia.org/wiki/Special:Random?r=96323",
"https://en.wikipedia.org/wiki/Special:Random?r=83640",
"https://en.wikipedia.org/wiki/Special:Random?r=31532",
"https://en.wikipedia.org/wiki/Special:Random?r=66610",
"https://en.wikipedia.org/wiki/Special:Random?r=12751",
"https://en.wikipedia.org/wiki/Special:Random?r=58598",
"https://www.walmart.com/",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=14929",
"https://en.wikipedia.org/wiki/Special:Random?r=95073",
"https://en.wikipedia.org/wiki/Special:Random?r=16750"
],
"static_urls": [
"https://www.homedepot.com/",
"https://www.weather.gov/",
"https://www.chase.com/",
"https://www.walmart.com/",
"https://www.zillow.com/",
"https://www.indeed.com/",
"https://www.usa.gov/",
"https://www.irs.gov/",
"https://www.target.com/",
"https://www.amazon.com/"
]
}
}

View File

@@ -0,0 +1,52 @@
{
"region_name": "USA (Hawaii - Honolulu)",
"google_module": {
"base_lat": 21.3069,
"base_lon": -157.8583,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.hawaii.gov/",
"https://health.hawaii.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=43947",
"https://en.wikipedia.org/wiki/Special:Random?r=80635",
"https://en.wikipedia.org/wiki/Special:Random?r=68939",
"https://www.apple.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=7046",
"https://en.wikipedia.org/wiki/Special:Random",
"https://en.wikipedia.org/wiki/Special:Random?r=30335",
"https://en.wikipedia.org/wiki/Special:Random?r=34518",
"https://en.wikipedia.org/wiki/Special:Random?r=97003",
"https://en.wikipedia.org/wiki/Special:Random?r=87897",
"https://en.wikipedia.org/wiki/Special:Random?r=43038",
"https://en.wikipedia.org/wiki/Special:Random?r=21953",
"https://en.wikipedia.org/wiki/Special:Random?r=19250",
"https://en.wikipedia.org/wiki/Special:Random?r=51433",
"https://www.staradvertiser.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=19123",
"https://en.wikipedia.org/wiki/Special:Random?r=93187",
"https://en.wikipedia.org/wiki/Special:Random?r=10286",
"https://en.wikipedia.org/wiki/Special:Random?r=59161",
"https://en.wikipedia.org/wiki/Special:Random?r=33662",
"https://en.wikipedia.org/wiki/Special:Random?r=76607",
"https://en.wikipedia.org/wiki/Special:Random?r=33734",
"https://en.wikipedia.org/wiki/Special:Random?r=41860",
"https://en.wikipedia.org/wiki/Special:Random?r=87740",
"https://en.wikipedia.org/wiki/Special:Random?r=27675",
"https://en.wikipedia.org/wiki/Special:Random?r=8011",
"https://en.wikipedia.org/wiki/Special:Random?r=560",
"https://en.wikipedia.org/wiki/Special:Random?r=53447"
],
"static_urls": [
"https://www.staradvertiser.com/",
"https://en.wikipedia.org/wiki/Special:Random",
"https://www.microsoft.com/",
"https://health.hawaii.gov/",
"https://www.hawaiinewsnow.com/",
"https://www.hawaii.gov/",
"https://www.apple.com/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Iowa (Council Bluffs)",
"google_module": {
"base_lat": 41.2619,
"base_lon": -95.8608,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=81150",
"https://en.wikipedia.org/wiki/Special:Random?r=46001",
"https://en.wikipedia.org/wiki/Special:Random?r=87484",
"https://en.wikipedia.org/wiki/Special:Random?r=8780",
"https://en.wikipedia.org/wiki/Special:Random?r=16903",
"https://en.wikipedia.org/wiki/Special:Random?r=26477",
"https://en.wikipedia.org/wiki/Special:Random?r=58176",
"https://en.wikipedia.org/wiki/Special:Random?r=2168",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=65808",
"https://en.wikipedia.org/wiki/Special:Random?r=44247",
"https://en.wikipedia.org/wiki/Special:Random?r=50046",
"https://en.wikipedia.org/wiki/Special:Random?r=17533",
"https://en.wikipedia.org/wiki/Special:Random?r=56434",
"https://en.wikipedia.org/wiki/Special:Random?r=78447",
"https://www.weather.gov/",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=38225",
"https://en.wikipedia.org/wiki/Special:Random?r=37458",
"https://en.wikipedia.org/wiki/Special:Random?r=76865",
"https://en.wikipedia.org/wiki/Special:Random?r=60977",
"https://en.wikipedia.org/wiki/Special:Random?r=79595",
"https://en.wikipedia.org/wiki/Special:Random?r=45800",
"https://en.wikipedia.org/wiki/Special:Random?r=63369",
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=36559",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=79226",
"https://en.wikipedia.org/wiki/Special:Random?r=5947",
"https://en.wikipedia.org/wiki/Special:Random?r=82790"
],
"static_urls": [
"https://www.chase.com/",
"https://www.zillow.com/",
"https://www.homedepot.com/",
"https://www.weather.gov/",
"https://www.usa.gov/",
"https://www.amazon.com/",
"https://www.irs.gov/",
"https://www.indeed.com/",
"https://www.target.com/",
"https://www.walmart.com/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "🇺🇸 United States - Chicago",
"google_module": {
"base_lat": 41.8818,
"base_lon": -87.6231,
"lang_params": "hl=en&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://en.wikipedia.org/wiki/Special:Random?r=91153",
"https://en.wikipedia.org/wiki/Special:Random?r=28513",
"https://en.wikipedia.org/wiki/Special:Random?r=67099",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=90831",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=33001",
"https://en.wikipedia.org/wiki/Special:Random?r=75985",
"https://en.wikipedia.org/wiki/Special:Random?r=33229",
"https://en.wikipedia.org/wiki/Special:Random?r=24461",
"https://en.wikipedia.org/wiki/Special:Random?r=98857",
"https://en.wikipedia.org/wiki/Special:Random?r=5960",
"https://en.wikipedia.org/wiki/Special:Random?r=96406",
"https://www.chase.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=6462",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=13123",
"https://en.wikipedia.org/wiki/Special:Random?r=21194",
"https://en.wikipedia.org/wiki/Special:Random?r=31554",
"https://en.wikipedia.org/wiki/Special:Random?r=38388",
"https://en.wikipedia.org/wiki/Special:Random?r=70686",
"https://en.wikipedia.org/wiki/Special:Random?r=77287",
"https://en.wikipedia.org/wiki/Special:Random?r=46612",
"https://en.wikipedia.org/wiki/Special:Random?r=42869",
"https://www.cdc.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=90854",
"https://en.wikipedia.org/wiki/Special:Random?r=17179",
"https://en.wikipedia.org/wiki/Special:Random?r=20436",
"https://en.wikipedia.org/wiki/Special:Random?r=42404",
"https://en.wikipedia.org/wiki/Special:Random?r=16020"
],
"static_urls": [
"https://www.walmart.com/",
"https://www.irs.gov/",
"https://www.usps.com/",
"https://www.harvard.edu/",
"https://www.usa.gov/",
"https://www.bankofamerica.com/",
"https://www.target.com/",
"https://www.chase.com/",
"https://www.cdc.gov/",
"https://www.amazon.com/"
]
}
}

View File

@@ -8,43 +8,48 @@
},
"trust_module": {
"white_urls": [
"https://www.usa.gov/",
"https://www.cnn.com/travel/article/worlds-longest-cycling-tunnel/index.html",
"https://www.npr.org/2026/04/23/nx-s1-5795829/peace-talks-between-us-and-iran-at-a-standstill-as-trump-extends-ceasefire",
"https://www.chase.com/",
"https://www.usps.com/",
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
"https://www.cnn.com/2023/04/18/us/benadryl-tiktok-challenge-teen-death-wellness/index.html",
"https://www.cdc.gov/",
"https://www.cnn.com/2023/04/18/politics/schumer-senate-feinstein-vote-cardin/index.html",
"https://www.cnn.com/europe/live-news/russia-ukraine-war-news-04-18-23/index.html",
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
"https://www.walmart.com/",
"https://www.cnn.com/cnn-underscored/reviews/mmmat-silicone-mats?iid=CNNUnderscoredHPcontainer",
"https://www.bankofamerica.com/",
"https://www.npr.org/2026/04/23/g-s1-118440/up-first-newsletter-us-iran-john-phelan-trump-republican-democrat-midterm-fundraising-budget-reconciliation-ice",
"https://www.harvard.edu/",
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
"https://www.cnn.com/2023/04/14/entertainment/yellowjackets-90s-music/index.html",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
"https://en.wikipedia.org/wiki/Special:Random?r=68752",
"https://en.wikipedia.org/wiki/Special:Random?r=53060",
"https://www.amazon.com/",
"https://www.cnn.com/2023/04/18/politics/mccarthy-biden-debt-ceiling/index.html",
"https://en.wikipedia.org/wiki/Special:Random?r=92418",
"https://en.wikipedia.org/wiki/Special:Random?r=86361",
"https://en.wikipedia.org/wiki/Special:Random?r=17592",
"https://en.wikipedia.org/wiki/Special:Random?r=67344",
"https://www.cdc.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=95302",
"https://en.wikipedia.org/wiki/Special:Random?r=17599",
"https://en.wikipedia.org/wiki/Special:Random?r=91445",
"https://en.wikipedia.org/wiki/Special:Random?r=24926",
"https://en.wikipedia.org/wiki/Special:Random?r=43921",
"https://en.wikipedia.org/wiki/Special:Random?r=74456",
"https://en.wikipedia.org/wiki/Special:Random?r=82313",
"https://en.wikipedia.org/wiki/Special:Random?r=39046",
"https://www.irs.gov/",
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
"https://www.cnn.com/videos/politics/2023/04/18/jake-tapper-dominion-lawsuit-settlement-fox-news-statement-lead-vpx.cnn",
"https://www.target.com/"
"https://en.wikipedia.org/wiki/Special:Random?r=34233",
"https://en.wikipedia.org/wiki/Special:Random?r=6830",
"https://en.wikipedia.org/wiki/Special:Random?r=33586",
"https://en.wikipedia.org/wiki/Special:Random?r=2115",
"https://en.wikipedia.org/wiki/Special:Random?r=30973",
"https://en.wikipedia.org/wiki/Special:Random?r=28476",
"https://en.wikipedia.org/wiki/Special:Random?r=84084",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=29751",
"https://en.wikipedia.org/wiki/Special:Random?r=33084",
"https://www.chase.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=493",
"https://en.wikipedia.org/wiki/Special:Random?r=26203"
],
"static_urls": [
"https://www.usa.gov/",
"https://www.irs.gov/",
"https://www.cdc.gov/",
"https://www.harvard.edu/",
"https://www.chase.com/",
"https://www.bankofamerica.com/",
"https://www.amazon.com/",
"https://www.irs.gov/",
"https://www.usa.gov/",
"https://www.harvard.edu/",
"https://www.target.com/",
"https://www.usps.com/",
"https://www.bankofamerica.com/",
"https://www.walmart.com/",
"https://www.usps.com/"
"https://www.cdc.gov/",
"https://www.amazon.com/"
]
}
}

View File

@@ -0,0 +1,55 @@
{
"region_name": "United States - Kansas (Kansas City)",
"google_module": {
"base_lat": 39.1155,
"base_lon": -94.6268,
"lang_params": "hl=en-US&gl=US",
"valid_url_suffix": "com"
},
"trust_module": {
"white_urls": [
"https://www.zillow.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=63446",
"https://en.wikipedia.org/wiki/Special:Random?r=20375",
"https://en.wikipedia.org/wiki/Special:Random?r=22208",
"https://en.wikipedia.org/wiki/Special:Random?r=99155",
"https://www.walmart.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=61689",
"https://en.wikipedia.org/wiki/Special:Random?r=21338",
"https://en.wikipedia.org/wiki/Special:Random?r=27796",
"https://www.weather.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=97947",
"https://en.wikipedia.org/wiki/Special:Random?r=98052",
"https://en.wikipedia.org/wiki/Special:Random?r=4011",
"https://en.wikipedia.org/wiki/Special:Random?r=6663",
"https://en.wikipedia.org/wiki/Special:Random?r=37865",
"https://en.wikipedia.org/wiki/Special:Random?r=54485",
"https://en.wikipedia.org/wiki/Special:Random?r=94175",
"https://www.amazon.com/",
"https://en.wikipedia.org/wiki/Special:Random?r=65227",
"https://en.wikipedia.org/wiki/Special:Random?r=27418",
"https://en.wikipedia.org/wiki/Special:Random?r=17379",
"https://en.wikipedia.org/wiki/Special:Random?r=76752",
"https://en.wikipedia.org/wiki/Special:Random?r=54473",
"https://en.wikipedia.org/wiki/Special:Random?r=85182",
"https://en.wikipedia.org/wiki/Special:Random?r=67393",
"https://en.wikipedia.org/wiki/Special:Random?r=68475",
"https://www.irs.gov/",
"https://en.wikipedia.org/wiki/Special:Random?r=46036",
"https://en.wikipedia.org/wiki/Special:Random?r=13960",
"https://en.wikipedia.org/wiki/Special:Random?r=70871"
],
"static_urls": [
"https://www.usa.gov/",
"https://www.zillow.com/",
"https://www.weather.gov/",
"https://www.amazon.com/",
"https://www.indeed.com/",
"https://www.target.com/",
"https://www.irs.gov/",
"https://www.walmart.com/",
"https://www.chase.com/",
"https://www.homedepot.com/"
]
}
}

Some files were not shown because too many files have changed in this diff Show More