mirror of
https://github.com/hotyue/IP-Sentinel.git
synced 2026-06-04 00:09:58 +08:00
Compare commits
351 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dad8e9477b | ||
|
|
32aea06044 | ||
|
|
669c0b0cad | ||
|
|
8782bf1ff0 | ||
|
|
371bbc9783 | ||
|
|
14ac9fcbd7 | ||
|
|
44c17b1ad8 | ||
|
|
0ad88f21c0 | ||
|
|
284651f60f | ||
|
|
1fbef8c4df | ||
|
|
8c9285c68f | ||
|
|
287fcea1ce | ||
|
|
75cf579b12 | ||
|
|
29fbd8c409 | ||
|
|
270e6a89d1 | ||
|
|
eb8250b700 | ||
|
|
d29bcc8749 | ||
|
|
7670f3a712 | ||
|
|
c86f6e21ca | ||
|
|
adf77d47cc | ||
|
|
fb63cd00e4 | ||
|
|
6630e3a42e | ||
|
|
033d5310f8 | ||
|
|
0c2a43a2af | ||
|
|
aaeb7d12db | ||
|
|
b4e6894964 | ||
|
|
413415f999 | ||
|
|
4da4b6e02e | ||
|
|
888f298edc | ||
|
|
ede247e7ef | ||
|
|
b785241cca | ||
|
|
216065727c | ||
|
|
8178781dcd | ||
|
|
f23f06025b | ||
|
|
d5ccb245f2 | ||
|
|
6a31763c49 | ||
|
|
21dd59ebbd | ||
|
|
450a925c7f | ||
|
|
587e0d2e8d | ||
|
|
5ecf01cd52 | ||
|
|
3302067675 | ||
|
|
7683dbf56c | ||
|
|
793332a9ef | ||
|
|
0f50ca38ee | ||
|
|
8424b0c9bc | ||
|
|
0e240b66ee | ||
|
|
f464617366 | ||
|
|
17b525eae8 | ||
|
|
c9c6cc5cae | ||
|
|
70c328bbc5 | ||
|
|
86c9a5b15b | ||
|
|
9deaea5490 | ||
|
|
ca0055f769 | ||
|
|
4b388fc343 | ||
|
|
75d7e2b0f9 | ||
|
|
e81467f31f | ||
|
|
d497ed44ef | ||
|
|
f4aa566f01 | ||
|
|
d087687d38 | ||
|
|
05b91a736d | ||
|
|
1809168562 | ||
|
|
e52315798a | ||
|
|
a1b1168aa6 | ||
|
|
ccabed6bea | ||
|
|
7342559844 | ||
|
|
b85529e2c1 | ||
|
|
96ba81c611 | ||
|
|
bc87d9d9af | ||
|
|
6f91d30e82 | ||
|
|
392517514c | ||
|
|
b05789a367 | ||
|
|
7a1f974930 | ||
|
|
ef283dcbf3 | ||
|
|
ac0c4abd8b | ||
|
|
5a1194f8de | ||
|
|
a49976d54c | ||
|
|
aed5a5bf0f | ||
|
|
5793f13b9c | ||
|
|
fb58f25175 | ||
|
|
9c434fdbdc | ||
|
|
3c8cd0499e | ||
|
|
f26bb49692 | ||
|
|
8b0abf8d05 | ||
|
|
518b62444e | ||
|
|
ffc593f9bc | ||
|
|
84b5fc9f93 | ||
|
|
14761ee128 | ||
|
|
4d29b719ef | ||
|
|
a3d4de00bc | ||
|
|
aa3fb2e298 | ||
|
|
3fb71e2a60 | ||
|
|
41520782d1 | ||
|
|
24286ebb75 | ||
|
|
3f73825972 | ||
|
|
56b655af2d | ||
|
|
70d940584e | ||
|
|
0cdb4f8d3f | ||
|
|
67be930060 | ||
|
|
be82242ed1 | ||
|
|
67d6e35d9f | ||
|
|
f34e697016 | ||
|
|
56cfbb5485 | ||
|
|
d40b7928d0 | ||
|
|
ac2f8b0a1c | ||
|
|
caf7589b89 | ||
|
|
ebada9f455 | ||
|
|
d2dc1a20c3 | ||
|
|
d115f01d4a | ||
|
|
b1dc0ab79d | ||
|
|
c147843d39 | ||
|
|
ae67817eb4 | ||
|
|
27e48defb2 | ||
|
|
cc216e288e | ||
|
|
9f32bc990d | ||
|
|
3a981f24e3 | ||
|
|
a626283b54 | ||
|
|
12eaf89f48 | ||
|
|
5e1331bad0 | ||
|
|
e44418d381 | ||
|
|
c86f1e509b | ||
|
|
f7f2421843 | ||
|
|
014486e558 | ||
|
|
ce4a40d860 | ||
|
|
36847aeaa2 | ||
|
|
43adf55a4b | ||
|
|
838dc01ebc | ||
|
|
641055ab74 | ||
|
|
5c19b6a6e1 | ||
|
|
af2570f15d | ||
|
|
df77f397aa | ||
|
|
d6dee813c5 | ||
|
|
d20f576908 | ||
|
|
17dd927719 | ||
|
|
bff49cd2b9 | ||
|
|
49090f1b97 | ||
|
|
15324d0840 | ||
|
|
8b632fe4f9 | ||
|
|
11ff23bf94 | ||
|
|
332765a72e | ||
|
|
38869e8681 | ||
|
|
85cd1dc594 | ||
|
|
55f7ee0c8c | ||
|
|
d24be4da0b | ||
|
|
ae36155545 | ||
|
|
dc5560f8fd | ||
|
|
18985cb57d | ||
|
|
830d62ead8 | ||
|
|
5c8d9d6096 | ||
|
|
22d26079e4 | ||
|
|
c564ea0ab8 | ||
|
|
ec7bf0f2b9 | ||
|
|
be241ab6bd | ||
|
|
4b2985b4ef | ||
|
|
d4afb57f9f | ||
|
|
230a59bbb3 | ||
|
|
f4a5cf8306 | ||
|
|
b606fe02ff | ||
|
|
3375356143 | ||
|
|
d9255ecbca | ||
|
|
6ad6f6b4b3 | ||
|
|
a8caea3b6d | ||
|
|
1a49e18200 | ||
|
|
c223d7a476 | ||
|
|
eaa51358a8 | ||
|
|
00827b3b15 | ||
|
|
ccddaf4386 | ||
|
|
0f0ba46989 | ||
|
|
f83db38a6b | ||
|
|
ba5582ab4c | ||
|
|
fb4e1d9b31 | ||
|
|
2dea6e382b | ||
|
|
fa8eada97b | ||
|
|
c102f66234 | ||
|
|
68a50fdb4a | ||
|
|
aac83acb8f | ||
|
|
4be4d5e9ef | ||
|
|
1f925b307f | ||
|
|
49afe032d6 | ||
|
|
f0f054c8cd | ||
|
|
699e9ca31a | ||
|
|
76cace4ff6 | ||
|
|
9f3218ab7f | ||
|
|
8a61f518f5 | ||
|
|
e9d5023263 | ||
|
|
05b1e21bba | ||
|
|
4a496fdab3 | ||
|
|
8ae3a6534d | ||
|
|
3269376c94 | ||
|
|
7a92de4d62 | ||
|
|
5fbc1e3fb3 | ||
|
|
d73c3154f9 | ||
|
|
b3fbed4a94 | ||
|
|
71fe3bde51 | ||
|
|
c739f58cc5 | ||
|
|
2c50c72fcb | ||
|
|
8d16c549fc | ||
|
|
d74d6d8775 | ||
|
|
853e6c09e1 | ||
|
|
1f21ac9a7e | ||
|
|
28fd94eff5 | ||
|
|
7460935acc | ||
|
|
109ae6f319 | ||
|
|
6b3acf5787 | ||
|
|
b1ecbd4f9a | ||
|
|
4d091e4dd9 | ||
|
|
ae6559c850 | ||
|
|
5cfaebceab | ||
|
|
88f55cbab9 | ||
|
|
1204336612 | ||
|
|
49a65a5f11 | ||
|
|
7e5b836a49 | ||
|
|
18f80400ef | ||
|
|
eca4b41da4 | ||
|
|
a24a533165 | ||
|
|
d2b575fe85 | ||
|
|
cb0aa2049e | ||
|
|
981b9e4859 | ||
|
|
eeee1b6811 | ||
|
|
e6852d0c9d | ||
|
|
23ea08f981 | ||
|
|
580a3d7fd5 | ||
|
|
6eabb60c28 | ||
|
|
7fd432ffee | ||
|
|
351143e59d | ||
|
|
725e8ae8c9 | ||
|
|
1e9de46fc5 | ||
|
|
543ab5c8bd | ||
|
|
972cd02874 | ||
|
|
9c37cb9df3 | ||
|
|
2a8a6b6fa7 | ||
|
|
e4b4c747eb | ||
|
|
eabd33e6b2 | ||
|
|
233af7181f | ||
|
|
62fb19f0c5 | ||
|
|
54178ddcf1 | ||
|
|
92a65d8308 | ||
|
|
eaaa7dabf0 | ||
|
|
e797c8203f | ||
|
|
9ecf50c153 | ||
|
|
c02b7eecc9 | ||
|
|
6af8b6b25d | ||
|
|
7081aa77cc | ||
|
|
5e48edb030 | ||
|
|
5f0f677f59 | ||
|
|
7f0c3e3e29 | ||
|
|
c03f6ca9ba | ||
|
|
66f3ba7d06 | ||
|
|
511ba90378 | ||
|
|
01806d20dd | ||
|
|
049278c458 | ||
|
|
0aaa2d44a0 | ||
|
|
3f139a593e | ||
|
|
bee6fef69c | ||
|
|
f283a8a4c6 | ||
|
|
0d2433d850 | ||
|
|
a6b01bd8d5 | ||
|
|
8f2279b7e2 | ||
|
|
d37d26708d | ||
|
|
6234d7c49a | ||
|
|
f9a7bba32a | ||
|
|
068734da16 | ||
|
|
09a4108bcc | ||
|
|
a7f08ec7a7 | ||
|
|
f075fcce36 | ||
|
|
0bb96169e5 | ||
|
|
34320b2385 | ||
|
|
aeed9f0e57 | ||
|
|
c04a4c41e4 | ||
|
|
3b28ead0e4 | ||
|
|
d0ea5d09b1 | ||
|
|
a119973ec0 | ||
|
|
b8b91ac17e | ||
|
|
34f2c7e123 | ||
|
|
172f1e0209 | ||
|
|
1d5ed5d0cb | ||
|
|
1e150f26f1 | ||
|
|
03e735a44b | ||
|
|
011c1faad4 | ||
|
|
2325a8abdf | ||
|
|
201df489db | ||
|
|
2d680c5fc7 | ||
|
|
e77b7c0319 | ||
|
|
2283da7421 | ||
|
|
4a28f7f395 | ||
|
|
9a38fb62d0 | ||
|
|
fefd5dc60c | ||
|
|
89aa1ead33 | ||
|
|
a5f2fb53ed | ||
|
|
bd26f1011d | ||
|
|
cfaf156e03 | ||
|
|
75cf50ce0c | ||
|
|
e2b6bbc347 | ||
|
|
cd5160d1ea | ||
|
|
040827aa27 | ||
|
|
d00317a645 | ||
|
|
60317b4444 | ||
|
|
a0bb0f30f2 | ||
|
|
cc6f7bf958 | ||
|
|
583e0b00d8 | ||
|
|
c27f2fced9 | ||
|
|
8baa141339 | ||
|
|
2eceb43ac3 | ||
|
|
8ce9eb256b | ||
|
|
bf2cfb7da0 | ||
|
|
5dfaa19cca | ||
|
|
3404666b8e | ||
|
|
b64ab95658 | ||
|
|
f19d165ece | ||
|
|
602919dc18 | ||
|
|
722db9f6d1 | ||
|
|
970867f3c7 | ||
|
|
e22d8d3cd0 | ||
|
|
cfe6dd59c8 | ||
|
|
b46e257545 | ||
|
|
3e9a82a657 | ||
|
|
4cf687f436 | ||
|
|
e88cf4ac5b | ||
|
|
898349d22e | ||
|
|
9ea188cb6d | ||
|
|
03d4c6160a | ||
|
|
cf4433cdd6 | ||
|
|
ae80f25c67 | ||
|
|
5b2c294c61 | ||
|
|
a1595ab0c5 | ||
|
|
0be1e92ac5 | ||
|
|
cf3e5dca2f | ||
|
|
902f612d31 | ||
|
|
45475f14b7 | ||
|
|
30f396aefe | ||
|
|
7cf7117615 | ||
|
|
062305d126 | ||
|
|
f451aea643 | ||
|
|
64342b2846 | ||
|
|
d96b6e769a | ||
|
|
539de62eee | ||
|
|
d514106e65 | ||
|
|
7f9c8a4dea | ||
|
|
31014e571d | ||
|
|
f5aa68a8dc | ||
|
|
63bbbd549e | ||
|
|
5e40ed426b | ||
|
|
aebf3a9e90 | ||
|
|
8a3d7c305b | ||
|
|
2d580eaea2 | ||
|
|
d7ab695372 | ||
|
|
0c250dfd17 | ||
|
|
52b12c7057 | ||
|
|
2166753569 | ||
|
|
46e418dfd0 | ||
|
|
673e0ce3e6 | ||
|
|
6203249782 |
26
.github/workflows/daily_keywords.yml
vendored
26
.github/workflows/daily_keywords.yml
vendored
@@ -1,16 +1,19 @@
|
||||
name: Daily Trends Factory
|
||||
name: Daily Data Factory
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# 每天 UTC 18:00 运行 (北京时间凌晨 02:00)
|
||||
- cron: '0 18 * * *'
|
||||
# 每天 UTC 03:00 执行,为各节点全天随机拉取准备好弹药
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update-trends:
|
||||
update-data:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
@@ -23,15 +26,20 @@ jobs:
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Execute Trends Engine
|
||||
- name: Execute Trends Engine (搜索词库)
|
||||
run: python scripts/fetch_trends.py
|
||||
|
||||
- name: Commit and Push
|
||||
- name: Execute Trust URL Engine (活体新闻流融合)
|
||||
run: python scripts/fetch_trust_urls.py
|
||||
|
||||
- name: Commit and Push All Data
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
# 一揽子添加搜索词库和地区白名单的变化
|
||||
git add data/keywords/
|
||||
git add data/regions/
|
||||
|
||||
# 防御机制:如果没有新数据,就静默退出,不产生空提交
|
||||
if git diff --staged --quiet; then
|
||||
@@ -39,6 +47,6 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 策略:放弃危险的 amend 强制覆盖,采用带日期的标准安全提交
|
||||
git commit -m "chore(data): 🤖 自动机兵:刷新全战区热点词库 [$(date +'%Y-%m-%d')]"
|
||||
git push origin main
|
||||
# 策略:将两路数据的更新合并为一个原子提交
|
||||
git commit -m "chore(data): 🤖 自动机兵:同步全战区热点词库与活体新闻流 [$(date +'%Y-%m-%d')]"
|
||||
git push origin main
|
||||
|
||||
4
.github/workflows/ua_factory.yml
vendored
4
.github/workflows/ua_factory.yml
vendored
@@ -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:
|
||||
|
||||
136
README.md
136
README.md
@@ -5,32 +5,28 @@
|
||||

|
||||
|
||||
> **一个极度轻量、零感知、支持中枢遥控的 VPS IP 自动化养护与区域纠偏引擎。**
|
||||
> **💡 提示:如果本项目提升了您的节点稳定性,请点击右上角点亮 🌟 Star!您的支持是我们持续研发和维护指纹库的核心动力。**
|
||||
|
||||
📢 官方战术交流频道: 🛰️ [IP-Sentinel Matrix](https://t.me/IP_Sentinel_Matrix)
|
||||
|
||||
专为解决 VPS IP 被 Google 等数据库错误定位到中国大陆/香港(俗称“送中”)等问题而生。IP-Sentinel 已从单机脚本全面跃升为 **Master-Agent 分布式架构**。它像影子一样潜伏在全球各地的服务器后台,通过高度拟真的真实用户行为为你默默积累 IP 权重,并允许你通过 Telegram 随时随地对整个舰队进行毫秒级“点名”与“遥控”。
|
||||
|
||||
## ✨ 核心极客特性 (Evolution History)
|
||||
## ✨ 核心极客特性 (Core Architecture)
|
||||
|
||||
- 🎭 **[v3.5.2] 双轨身份与丝滑改名 (Silky Smooth Rename)**:彻底告别冰冷的机器码!引入不可变物理主键与自定义展示别名的“双轨制”。支持在 TG 面板直接回复新名称,Master 瞬间自动刷新底层数据库,底层采用 Base64 编码与静默回执,实现防注入、零刷屏的极速重命名闭环。
|
||||
- 🗺️ **[v3.5.2] 战区版图深度扩张 (Global Expansion)**:纯数据驱动热更新,全面响应社区需求!正式点亮台湾 (TW) 战区及台北锚点;深度扩容美国 (US) 6 大深水节点;并极速加开英国考文垂 (Coventry) 与加拿大蒙特利尔 (Montreal) 冷门高防区,完美复用本土智能词库。
|
||||
- 🌍 **[v3.5.0] 大洲战区与降维引擎 (Continental Grouping)**:随着全球版图的极速扩张,彻底重构底层地图索引。引入“战区(大洲)-国家-省州-城市”四级降维解析菜单,完美承载未来数十个国家的扩容,终端交互界面永远清爽干练。
|
||||
- 🧬 **[v3.5.0] SSOT 动态版本溯源 (Single Source of Truth)**:全系脚本彻底消灭硬编码版本号!引入企业级 DevOps 理念,部署时动态抓取云端信标并固化落盘,常驻进程与日志绝对继承本地基因,实现“改一处,全网同步”的极致架构。
|
||||
- 🎯 **[v3.4.0] 版本锚点与路由中枢 (Version-Linked Epoch)**:彻底告别“盲盒式更新”,全系引入全局版本号机制。边缘节点具备“身份自知”能力,安装脚本根据本地版本执行精准的路由跳转,实现新老架构的智能化无损跃迁。
|
||||
- 📡 **[v3.4.0] OTA 实时版本探针 (Version-Aware Radar)**:边缘哨兵现已接入云端“北极星”校准。每日战报自动扫描 GitHub 最新发布状态,发现版本落后即刻在 Telegram 战报底部亮起 OTA 预警,消除指挥官与前线的信息差。
|
||||
- 📡 **[v3.3.0] OTA 动态活体词库 (Dynamic Trends)**:彻底废弃静态搜索词,引入 GitHub Actions 云端流水线。每天自动抓取全战区当日 Google 热搜榜单,并通过边缘节点每日静默同步,让搜索行为永远贴合当地当天的真实网络脉搏。
|
||||
- 🔀 **[v3.3.0] 智能错峰调度 (Thundering Herd Mitigation)**:首创节点部署时间戳锚定逻辑。边缘节点按需智能分频(每日拉取词库,每月按 30 天周期错峰拉取千万级指纹库),化解“惊群效应”,抹平统一升级时的并发特征,隐匿于无形。
|
||||
- 🎯 **[v3.2.2] 多级容灾与高精度探针 (High-Precision Probe)**:重写战报模块与底层协议自适应逻辑,植入多级 ISP 容灾探针链路,并按“底层数据共识原则”智能清洗冗余 AS 号。确保在纯 V6、隧道或弱网环境下,数据获取依然 100% 精准畅通。
|
||||
- 🔄 **[v3.2.2] 平滑热更新装甲 (Smooth Upgrade Engine)**:全系植入状态机嗅探逻辑。再次执行部署脚本时将自动识别并继承历史配置、SQLite 数据库与锚定 IP,一键回车瞬间完成无损换代。
|
||||
- 🖧 **[v3.2.1] 底层路由死锁 (Hard-Bind Routing)**:底层探测引擎强力接管 curl 核心参数 (`--interface`),强制将发出的每一滴伪装流量死死绑定在您设定的物理网卡或隧道 IP 上,彻底杜绝双栈或多网卡环境下的流量溢出漏洞。
|
||||
- 👻 **[v3.2.0] 设备资产持久化 (Hash-Seeded Persona)**:彻底摒弃随机抽取指纹,引入基于节点物理 IP 的哈希锚定引擎。利用不可变哈希种子,为您的每台 VPS 永久锁定 3 个绝对专属设备,完美构建高权重真实家庭内网画像,根除“僵尸网络”同质化特征!
|
||||
- 🗺️ **[v3.1.0] 全球拓扑矩阵 (Global Nexus)**:守护版图横跨亚、欧、美三大洲。为每个国家注入极其硬核的“原生本地化”搜索词库与本土高权重站点(如政府、权威媒体、高铁网),真正实现拟真融入。
|
||||
- 📊 **深海声呐全维探针 (Deep Sea Sonar v4.0.4)**:内嵌强效正则去污的 JSON 提取引擎,无损展现免掩码的真实 IP 情报。聚合 Scamalytics、AbuseIPDB 等五大权威防欺诈库,精准嗅探代理/VPN特征、25端口及流媒体原生解锁状态,并自带 Google “送中”高危预警与污染趋势图谱。
|
||||
- ⚡ **无损高并发引擎 (WAL Concurrency)**:司令部 SQLite 数据库全面激活 `WAL` (Write-Ahead Logging) 模式与毫秒级排队算法。即使对 500 台边缘节点发起全军总攻,也能完美规避 `database is locked` 与 Telegram `429` 拦截。
|
||||
- 🪶 **抽脂级极简部署 (Zero-Bloat Native)**:全栈剔除第三方依赖,基于 Python3 原生标准库运行。安装强制注入 `--no-install-recommends` 防捆绑参数。无论是 128MB 内存的极简 NAT,还是 Alpine 游击队容器,均可如丝般顺滑运行。
|
||||
- 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**:引入扁平化四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持原位丝滑重绘 (In-place UI Edit),实现毫秒级模块热启停与跨地域深海声呐投放。
|
||||
- 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**,实现真正的全栈去 SSH 化运维。
|
||||
- 🛡️ **SSOT 溯源与热更新装甲 (Smooth Upgrade Engine)**:全系脚本彻底消灭硬编码,动态抓取云端版本信标。自带状态机嗅探逻辑,即便是手动在老节点执行安装,也仅需回车瞬间完成配置继承与无损换代。
|
||||
- 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**:接入 GitHub Actions 云端兵工厂,每日静默同步全球各大区真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。
|
||||
- 👻 **绝对时空对齐与高频错峰 (UTC-Seeded Scheduling)**:摒弃传统随机轮询,全栈强制接管底层时钟为**绝对 UTC 时间**。全舰队以 **20 分钟 (每日 72 次)** 的极高密度进行养护巡逻,叠加基于部署锚点的天然削峰与随机防并发休眠,完美化解十万级集群的“惊群效应”与 API 熔断。
|
||||
- 🖧 **极速预检与三级容灾架构 (Fail-Fast & Fallback)**:底层引擎强力接管发包参数 (`--interface`) 的同时,创新引入 **4 秒极速预检 (Fail-Fast)** 雷达与**三级阶梯脱壳**机制。无论是纯 IPv6 孤岛、WARP 劫持死锁还是复杂 NAT 嵌套,系统均能瞬间避开网络黑洞,彻底杜绝探针假死与流量溢出。
|
||||
|
||||
**—— 💎 骨干基建特征 ——**
|
||||
- 🏭 **自动化指纹兵工厂**:依托 GitHub Actions CI/CD 流水线,每月 1 日无人值守锻造 4000+ 带绝对物理分区的真实终端设备数据。
|
||||
- 🔒 **叹息之墙 (Zero-Trust HMAC)**:底层通讯引入 时间戳 + HMAC-SHA256 军用级动态签名。指令有效期仅 60 秒(阅后即焚),彻底免疫中间人抓包与重放攻击。
|
||||
- ☁️ **云端中枢 (Public Master)**:官方公共机器人 @OmniBeacon_bot,新手免自建,一键接入极速入伍!同时支持硬核极客私有化 SQLite 分布式部署。
|
||||
- 🎮 **TG 战术面板 (Command Center)**:全 Inline Keyboard 交互,一键下发伪装指令、索要战报、毫秒级抓取边缘节点实时运行日志。
|
||||
- 🏭 **全自动云端军工厂 (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)
|
||||
@@ -40,62 +36,69 @@
|
||||
```text
|
||||
📦 IP-Sentinel
|
||||
┣ 📂 .github/workflows/ # 🏭 自动化兵工厂:每月定时触发指纹生成的 CI/CD 流水线
|
||||
┣ 📂 master/ # 🧠 司令部:SQLite 存储、TG 监听与 Webhook 调度中心
|
||||
┣ 📂 core/ # 🛡️ 边缘哨兵:Webhook 被动监听、哈希锚定执行引擎
|
||||
┣ 📂 master/ # 🧠 司令部:SQLite 存储 (含 ip_trend_log 趋势跟踪表)、TG 监听与 Webhook 调度
|
||||
┣ 📂 core/ # 🛡️ 边缘哨兵:Webhook 被动监听、哈希锚定执行引擎 (集成深海声呐探测模块)
|
||||
┣ 📂 scripts/ # 🐍 兵工厂引擎:基于 Python 的多物理分区 UA 生成器
|
||||
┣ 📂 data/ # 🗂️ 全球数据规则库 (动态拓扑)
|
||||
┃ ┣ 📜 map.json # 🌍 全球区域大脑 (v3.5.0 大洲战区拓扑)
|
||||
┃ ┣ 📂 regions/ # 🧊 冷数据:按 [国家/省州/城市] 深度细分的 LBS 锚点
|
||||
┃ ┣ 📂 keywords/ # 🔥 热数据:按国家归类的动态搜索词库 (OTA 自动更新)
|
||||
┃ ┗ 📜 user_agents.txt # 🔥 热数据:由兵工厂每月锻造的绝对坐标专属设备库
|
||||
┣ 📜 version.txt # 🚩 双端版本信标:Agent/Master 独立解耦的 KV 环境配置 (v3.5.1)
|
||||
┣ 📜 version.txt # 🚩 双端版本信标:Agent/Master 独立解耦的 KV 环境配置
|
||||
┗ 📂 telemetry/ # 👁️🗨️ 玻璃房计划:Cloudflare Workers 透明计数器网关源码
|
||||
```
|
||||
|
||||
## 🚀 极速部署 (Quick Start)
|
||||
> 🛡️ **跨平台装甲支持**:Debian / Ubuntu / CentOS / RHEL / Alpine Linux / Arch Linux
|
||||
系统现提供两种接入模式,请根据您的战术需求选择:
|
||||
|
||||
v3.5.x 提供了两种接入模式,请根据您的战术需求选择:
|
||||
### 🔹 模式 A:私有独立模式 (全自主、强烈推荐)
|
||||
适合追求绝对数据隐私与舰队最高控制权的领主。
|
||||
|
||||
### 🔹 模式 A:官方公共模式 (最简、推荐)
|
||||
**适合不想折腾、只想快速养护 IP 的新兵。**
|
||||
|
||||
1. **关注机器人**:在 TG 中关注 [@OmniBeacon_bot](https://t.me/OmniBeacon_bot) 并发送 `/start`。
|
||||
2. **部署 Agent**:在目标 VPS 上执行以下指令,安装过程中**直接回车**使用官方机器人,并输入您的 Chat ID:
|
||||
```Bash
|
||||
bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh)
|
||||
> ☢️ **核按钮系统已就绪**:采用私有部署,您将解锁 **OTA 远程静默升级** 权限!所有私有前线节点均可通过您的 TG 面板实现一键全网代码热重载换代!
|
||||
|
||||
- **部署 Master (中枢大脑)**:找一台 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
|
||||
```
|
||||
3. **激活节点**:安装完成后,您的手机会收到一条 #REGISTER# 暗号,将其转发给机器人即可完成入库。
|
||||
|
||||
### 🔸 模式 B:私有独立模式 (全自主、硬核)
|
||||
**适合追求绝对数据隐私、需自建机器人的领主。**
|
||||
|
||||
1. **部署 Master**:找一台 VPS 作为大脑(仅需部署一台),执行:
|
||||
- 部署 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
|
||||
bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/master/install_master.sh)
|
||||
|
||||
curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh -o /tmp/ins_agent.sh && sudo bash /tmp/ins_agent.sh
|
||||
```
|
||||
2. **部署 Agent**:在需要养护的机器上执行 Agent 脚本,输入您自建机器人的 Token 以及与 Master 一致的配置。
|
||||
- 激活节点:安装完成后,您的手机会收到一条 #REGISTER# 注册暗号,将其转发给您自己的机器人即可完成编队入库。
|
||||
|
||||
### 🔸 模式 B:官方公共模式 (最简体验)
|
||||
适合不想折腾、只想快速体验养护效果的新兵。
|
||||
|
||||
- 关注机器人:在 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
|
||||
bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh)
|
||||
|
||||
curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/install.sh -o /tmp/ins_agent.sh && sudo bash /tmp/ins_agent.sh
|
||||
```
|
||||
3. **激活节点**:同上,将暗号转发给您自己的机器人即可。
|
||||
- 激活节点:同上,将收到的暗号转发给官方机器人即可。
|
||||
|
||||
### ⚠️ 架构级热升级指引 (Upgrade to v3.5.0)
|
||||
## 🆙 架构级无损热升级指引 (Upgrade Guide)
|
||||
|
||||
得益于 **v3.5.0 全新引入的 SSOT 版本锚点与状态机路由**,系统升级现已变得极其智能化。
|
||||
### 📡 方式一:OTA 远程静默升级 (私有中枢专属)
|
||||
如果您是私有中枢领主,当司令部首页 (`/start`) 或每日战报提示发现新版本时:
|
||||
|
||||
**如果您是从远古旧版 (v3.3.1 / v3.3.2) 升级:**
|
||||
1. 在终端再次运行对应的官方部署指令。
|
||||
2. 脚本会识别到您处于“前版本锚点时代”,会自动为您执行【跨代架构重组】。
|
||||
3. **关键动作**:由于节点命名防撞机制变更,升级后您的 TG 会收到一条新的 `#REGISTER#` 指令,请点击并发送一次以同步新身份。
|
||||
4. **清理**:在面板中手动剔除失联的旧节点即可。
|
||||
1. **升级 Master 司令部自身**:在司令部顶级菜单,点击最上方的 `[ 🆙 升级司令部至 vX.X.X ]`。中枢将释放幽灵进程静默重构,数秒后向您发送捷报。
|
||||
2. **升级全舰队 Agent**:在司令部顶级菜单,点击 `[ ☢️ 全舰队 OTA 热重载 ]`。
|
||||
3. **升级单节点 Agent**:进入 `🌍 全球战区雷达` -> 选择目标节点 -> 在统一终端面板点击 `[ 🆙 OTA 静默升级 ]`。
|
||||
*(⚠️ 节点收到指令后会在后台挂起静默拉取,全程无需登录 SSH,完成后将主动发回心跳确认!)*
|
||||
|
||||
**如果您已处于 v3.4.0+:**
|
||||
所有的升级已进入**“极致静默平滑模式”**。安装引擎会动态抓取云端 `version.txt`,自动修正本地 `config.conf` 的版本号,一键回车,3 秒即可完成全系组件的热重载换代!
|
||||
### 💻 方式二:SSH 终端平滑直装 (适用于官方网关或老旧节点)
|
||||
如果您的节点不支持 OTA,或者您的节点版本过于陈旧 (如 v3.3.1):
|
||||
|
||||
🗑️ 一键无痕卸载
|
||||
- 登录该节点的 SSH 终端,再次运行上面的 core/install.sh 官方安装指令。
|
||||
|
||||
- 安装引擎自带状态机嗅探逻辑,它会自动读取老旧数据,您只需一路回车,3 秒即可在本地完成配置继承、数据同步与新内核的无损覆盖热重载!
|
||||
|
||||
## 🗑️ 一键无痕卸载
|
||||
如果你需要清理某个边缘节点,只需重新运行 `core/install.sh` 并选择 **[2]**,或直接在节点终端执行:
|
||||
|
||||
```Bash
|
||||
@@ -103,7 +106,7 @@ bash /opt/ip_sentinel/core/uninstall.sh
|
||||
|
||||
```
|
||||
|
||||
### 🧓 传家宝老旧系统专用通道 (Debian 9)
|
||||
## 🧓 传家宝老旧系统专用通道 (Debian 9)
|
||||
|
||||
如果你的小鸡系统版本过低(如 Debian 9),由于官方 APT 源已关闭且 Python 版本过旧,无法使用主线版本,请使用 **Legacy 兼容分支** 部署。
|
||||
*(注意:该分支仅作基础维护,不享受新功能迭代,请尽可能升级你的系统)*
|
||||
@@ -112,20 +115,39 @@ bash /opt/ip_sentinel/core/uninstall.sh
|
||||
bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/legacy/core/install.sh)
|
||||
```
|
||||
|
||||
📡 战术联络 (Community)
|
||||
## 📡 战术联络 (Community)
|
||||
|
||||
如果你在使用过程中遇到任何疑难杂症,或者想围观大佬们的养护战报,欢迎加入我们的基地:
|
||||
- Telegram 频道: [@IP_Sentinel_Matrix](https://t.me/IP_Sentinel_Matrix)
|
||||
|
||||
🤝 参与贡献
|
||||
如果你想为项目增加新的节点区域(例如德国、英国、新加坡等),或者提供更丰富的本土化搜索词库,非常欢迎提交 Pull Request!
|
||||
## 🤝 参与贡献 (Contributors)
|
||||
|
||||
**v3.0 全球节点贡献规范:**
|
||||
**🌟 感谢以下所有为 IP-Sentinel 添砖加瓦的指挥官们!** 你们的每一次 PR 都在让这艘战舰的全球雷达覆盖得更广。
|
||||
|
||||
<a href="https://github.com/hotyue/IP-Sentinel/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=hotyue/IP-Sentinel" alt="Contributors" />
|
||||
</a>
|
||||
|
||||
如果你想为项目增加新的节点区域(例如德国、英国、大洋洲等),或者提供更丰富的本土化搜索词库,非常欢迎提交 Pull Request!
|
||||
|
||||
|
||||
> - 感谢 @xykt 本项目IP质量检测采用[xykt/IPQuality](https://github.com/xykt/IPQuality) 脚本!
|
||||
|
||||
**💡 全球节点贡献规范:**
|
||||
1. 在 `data/regions/国家代码/省州代码/` 目录下新增对应城市的配置 `.json`。
|
||||
2. 在 `data/keywords/` 目录下新增或完善配套国家的词库 `kw_XX.txt`。
|
||||
3. **最重要的一步:** 在 `data/map.json` 中登记你的国家、省州与城市信息。安装脚本将自动读取地图,在全球雷达中点亮你的节点!
|
||||
|
||||
⚠️ 免责声明
|
||||
## ⚠️ 免责声明
|
||||
|
||||
本项目仅供网络原理研究、个人 VPS 维护学习使用。请遵守当地法律法规及目标服务商的 TOS(服务条款),切勿用于恶意高频请求或任何非法用途。使用者需自行承担因不当使用造成的 IP 封禁或其他相关风险。
|
||||
|
||||
## 保持联系
|
||||
|
||||
[](https://blog.iot-architect.com)
|
||||
|
||||
如果你觉得这个项目对你有帮助,欢迎关注我的个人博客,我会定期分享技术教程。
|
||||
|
||||
|
||||
## Stargazers over time
|
||||
[](https://starchart.cc/hotyue/IP-Sentinel)
|
||||
@@ -20,14 +20,10 @@ 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 | cut -c 1-10)-${IP_HASH}"
|
||||
NODE_NAME="$(hostname | tr -cd 'a-zA-Z0-9' | cut -c 1-10)-${IP_HASH}"
|
||||
fi
|
||||
NODE_ALIAS="${NODE_ALIAS:-$NODE_NAME}"
|
||||
|
||||
# --- [重点升级 1: 守护进程防冲突自检] ---
|
||||
if pgrep -f "webhook.py $AGENT_PORT" > /dev/null; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 1. 尝试获取实时公网 IP
|
||||
RAW_IP=$(curl -${IP_PREF:-4} -s -m 5 api.ip.sb/ip | tr -d '[:space:]')
|
||||
@@ -44,27 +40,30 @@ 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.5.2 核心] 携带 6 字段双轨身份发起注册申请 (展示别名,暗号尾部追加 NODE_ALIAS)
|
||||
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}\`"
|
||||
|
||||
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 手机端完成授权!"
|
||||
# [静音手术] 仅在本地静默更新 IP 缓存,彻底切除重复的 TG 发信逻辑,做沉默的守夜人
|
||||
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 的裸奔逻辑,全网强制生成证书装甲
|
||||
CERT_FILE="${INSTALL_DIR}/core/cert.pem"
|
||||
KEY_FILE="${INSTALL_DIR}/core/key.pem"
|
||||
if [ ! -f "$CERT_FILE" ] || [ ! -f "$KEY_FILE" ]; then
|
||||
echo "🔐 [Agent] 正在生成本地自签名 TLS 加密证书 (2048位 RSA)..."
|
||||
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
|
||||
-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 签名防重放)
|
||||
cat > "${INSTALL_DIR}/core/webhook.py" << 'EOF'
|
||||
import http.server
|
||||
@@ -75,7 +74,7 @@ import os
|
||||
import html
|
||||
# ================== [v3.0.4 新增密码学与解析依赖] ==================
|
||||
import urllib.parse
|
||||
import urllib.request # [修复] 提升至全局作用域,防止局部变量遮蔽
|
||||
import urllib.request
|
||||
import hmac
|
||||
import hashlib
|
||||
import time
|
||||
@@ -83,6 +82,15 @@ import time
|
||||
|
||||
PORT = int(sys.argv[1])
|
||||
|
||||
# 🛡️ 防重放攻击 (Nonce 缓存池)
|
||||
USED_SIGNS = {}
|
||||
def clean_used_signs():
|
||||
now = time.time()
|
||||
# 清理过期签名 (超 60 秒的安全窗口)
|
||||
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 预共享密钥)
|
||||
AUTH_TOKEN = ""
|
||||
if os.path.exists('/opt/ip_sentinel/config.conf'):
|
||||
@@ -112,8 +120,9 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
return
|
||||
|
||||
try:
|
||||
current_time = int(time.time())
|
||||
# 校验 2:时间戳防重放 (误差 ±60秒 内有效,拒绝隔夜抓包重放)
|
||||
if abs(int(time.time()) - int(req_t)) > 60:
|
||||
if abs(current_time - int(req_t)) > 60:
|
||||
self.send_response(401)
|
||||
self.end_headers()
|
||||
self.wfile.write(b"401 Unauthorized: Request Expired\n")
|
||||
@@ -122,6 +131,14 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_response(401)
|
||||
self.end_headers()
|
||||
return
|
||||
|
||||
# 校验 2.5:基于 60秒 窗口的精确重放拦截 (拦截 MITM 并发洗劫)
|
||||
clean_used_signs()
|
||||
if req_sign in USED_SIGNS:
|
||||
self.send_response(401)
|
||||
self.end_headers()
|
||||
self.wfile.write(b"401 Unauthorized: Replay Attack Detected\n")
|
||||
return
|
||||
|
||||
# 校验 3:HMAC 数据完整性与身份合法性校验
|
||||
msg = f"{req_path}:{req_t}".encode('utf-8')
|
||||
@@ -133,17 +150,20 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.end_headers()
|
||||
self.wfile.write(b"401 Unauthorized: Signature Mismatch\n")
|
||||
return
|
||||
|
||||
# 鉴权通过,记录该签名至防重放内存池
|
||||
USED_SIGNS[req_sign] = current_time
|
||||
|
||||
# ================== 路由分发 (恢复为安全的精确匹配) ==================
|
||||
|
||||
# 路由 0: 全局统筹调度 (处理 /trigger_run 一键全节点维护)
|
||||
# 路由 0: 全局统筹调度
|
||||
if req_path == '/trigger_run':
|
||||
if os.path.exists('/opt/ip_sentinel/core/runner.sh'):
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: runner\n")
|
||||
subprocess.Popen(['bash', '/opt/ip_sentinel/core/runner.sh'])
|
||||
os.system("nohup bash /opt/ip_sentinel/core/runner.sh >/dev/null 2>&1 &")
|
||||
else:
|
||||
self.send_response(404)
|
||||
self.end_headers()
|
||||
@@ -155,7 +175,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: mod_google\n")
|
||||
subprocess.Popen(['bash', '/opt/ip_sentinel/core/mod_google.sh'])
|
||||
os.system("nohup bash /opt/ip_sentinel/core/mod_google.sh >/dev/null 2>&1 &")
|
||||
else:
|
||||
self.send_response(403)
|
||||
self.send_header("Content-type", "text/plain")
|
||||
@@ -169,7 +189,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: mod_trust\n")
|
||||
subprocess.Popen(['bash', '/opt/ip_sentinel/core/mod_trust.sh'])
|
||||
os.system("nohup bash /opt/ip_sentinel/core/mod_trust.sh >/dev/null 2>&1 &")
|
||||
else:
|
||||
self.send_response(403)
|
||||
self.send_header("Content-type", "text/plain")
|
||||
@@ -182,7 +202,7 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: tg_report\n")
|
||||
subprocess.Popen(['bash', '/opt/ip_sentinel/core/tg_report.sh'])
|
||||
os.system("nohup bash /opt/ip_sentinel/core/tg_report.sh >/dev/null 2>&1 &")
|
||||
|
||||
# 路由 4: 抓取并回传实时日志
|
||||
elif req_path == '/trigger_log':
|
||||
@@ -215,23 +235,45 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
|
||||
text_msg = f"📄 <b>[{node_alias}] 实时日志 (v{local_ver}):</b>\n<pre><code>{log_data}</code></pre>"
|
||||
|
||||
data = urllib.parse.urlencode({
|
||||
# [v4.0.3 体验升级] 引入 json 模块并改用 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}'}
|
||||
# [动态化] 彻底消灭硬编码,使用运行态版本号,并声明 JSON 头
|
||||
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 新增: 触发深海声呐] ==================
|
||||
elif req_path == '/trigger_quality':
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: trigger_quality\n")
|
||||
|
||||
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 终极防御版)
|
||||
elif req_path == '/trigger_rename':
|
||||
b64_alias = query.get('b64', [''])[0]
|
||||
@@ -256,26 +298,27 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
safe_alias = re.sub(r'[^a-zA-Z0-9\-\u4e00-\u9fa5]', '', decoded_alias)[:20]
|
||||
|
||||
if safe_alias:
|
||||
# 3. 强容错读写 config.conf
|
||||
# 3. 强容错读写 config.conf (引入 fcntl 排他锁与 r+ 模式防并发清空)
|
||||
config_path = '/opt/ip_sentinel/config.conf'
|
||||
with open(config_path, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
import fcntl
|
||||
with open(config_path, 'r+', encoding='utf-8', errors='ignore') as f:
|
||||
fcntl.flock(f, fcntl.LOCK_EX)
|
||||
lines = f.readlines()
|
||||
|
||||
alias_found = False
|
||||
config_dict = {}
|
||||
for i, line in enumerate(lines):
|
||||
if line.startswith('NODE_ALIAS='):
|
||||
lines[i] = f'NODE_ALIAS="{safe_alias}"\n'
|
||||
alias_found = True
|
||||
elif '=' in line and not line.startswith('#'):
|
||||
key, val = line.strip().split('=', 1)
|
||||
config_dict[key] = val.strip('"\'')
|
||||
|
||||
if not alias_found:
|
||||
lines.append(f'NODE_ALIAS="{safe_alias}"\n')
|
||||
|
||||
with open(config_path, 'w', encoding='utf-8') as f:
|
||||
alias_found = False
|
||||
for i, line in enumerate(lines):
|
||||
if line.startswith('NODE_ALIAS='):
|
||||
lines[i] = f'NODE_ALIAS="{safe_alias}"\n'
|
||||
alias_found = True
|
||||
break
|
||||
|
||||
if not alias_found:
|
||||
lines.append(f'NODE_ALIAS="{safe_alias}"\n')
|
||||
|
||||
f.seek(0)
|
||||
f.writelines(lines)
|
||||
f.truncate()
|
||||
fcntl.flock(f, fcntl.LOCK_UN)
|
||||
|
||||
# [v3.5.2 极致丝滑] 移除向 TG 推送冗余报文的逻辑,直接向 Master 回执成功状态即可
|
||||
self.send_response(200)
|
||||
@@ -292,7 +335,135 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_response(400)
|
||||
self.end_headers()
|
||||
self.wfile.write(b"400 Bad Request: Invalid Characters\n")
|
||||
|
||||
# ================== [v3.5.3 新增: 模块动态启停接口] ==================
|
||||
elif req_path == '/trigger_toggle':
|
||||
mod_name = query.get('mod', [''])[0]
|
||||
target_state = query.get('state', [''])[0].lower()
|
||||
|
||||
if mod_name not in ['google', 'trust'] or target_state not in ['true', 'false']:
|
||||
self.send_response(400)
|
||||
self.end_headers()
|
||||
self.wfile.write(b"400 Bad Request: Invalid parameters\n")
|
||||
return
|
||||
|
||||
config_key = f"ENABLE_{mod_name.upper()}="
|
||||
|
||||
try:
|
||||
config_path = '/opt/ip_sentinel/config.conf'
|
||||
import fcntl
|
||||
|
||||
with open(config_path, 'r+', encoding='utf-8', errors='ignore') as f:
|
||||
fcntl.flock(f, fcntl.LOCK_EX)
|
||||
lines = f.readlines()
|
||||
|
||||
found = False
|
||||
for i, line in enumerate(lines):
|
||||
if line.startswith(config_key):
|
||||
lines[i] = f'{config_key}"{target_state}"\n'
|
||||
found = True
|
||||
break
|
||||
|
||||
if not found:
|
||||
lines.append(f'{config_key}"{target_state}"\n')
|
||||
|
||||
f.seek(0)
|
||||
f.writelines(lines)
|
||||
f.truncate()
|
||||
fcntl.flock(f, fcntl.LOCK_UN)
|
||||
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/plain")
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: trigger_toggle\n")
|
||||
|
||||
except Exception as e:
|
||||
self.send_response(500)
|
||||
self.end_headers()
|
||||
self.wfile.write(f"500 Internal Error: {str(e)}\n".encode('utf-8'))
|
||||
|
||||
# ================== [v3.6.0 新增: 零信任 OTA 远程静默升级路由] ==================
|
||||
elif req_path == '/trigger_ota':
|
||||
try:
|
||||
# 动态读取最新 config 内存态
|
||||
config_mem = {}
|
||||
config_path = '/opt/ip_sentinel/config.conf'
|
||||
if os.path.exists(config_path):
|
||||
with open(config_path, 'r', errors='ignore') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if '=' in line and not line.startswith('#'):
|
||||
key, val = line.split('=', 1)
|
||||
config_mem[key] = val.strip('"\'')
|
||||
|
||||
# 🛡️ 熔断校验 1: Agent 本地是否开启了 OTA 授权
|
||||
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: 是否处于官方公共网关下 (强行硬编码拦截)
|
||||
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 语法树校验防砖机制
|
||||
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:
|
||||
for line in f:
|
||||
if line.startswith('REPO_RAW_URL='):
|
||||
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 注入或截断
|
||||
ota_script = f"""
|
||||
export SILENT_OTA="true"
|
||||
curl -fsSL {repo_url}/core/install.sh -o /tmp/ota_agent.sh
|
||||
if bash -n /tmp/ota_agent.sh; then
|
||||
bash /tmp/ota_agent.sh > /opt/ip_sentinel/logs/ota_upgrade.log 2>&1
|
||||
else
|
||||
MSG=$(echo '{err_msg_b64}' | base64 -d)
|
||||
curl -s -m 10 -X POST "{tg_url}" -d "chat_id={chat_id}" -d "text=$MSG" -d "parse_mode=Markdown" > /dev/null 2>&1
|
||||
echo "OTA Checksum Failed: Script corrupted" > /opt/ip_sentinel/logs/ota_upgrade.log
|
||||
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:
|
||||
self.send_response(500)
|
||||
self.end_headers()
|
||||
self.wfile.write(f"500 Internal Error: {str(e)}\n".encode('utf-8'))
|
||||
|
||||
else:
|
||||
self.send_response(404)
|
||||
self.end_headers()
|
||||
@@ -302,21 +473,50 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
|
||||
import socket
|
||||
# ================== [v3.0.3 变更: 引入多线程模型抵抗 Slowloris 攻击] ==================
|
||||
class ThreadedDualStackServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
||||
class ThreadedServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
||||
allow_reuse_address = True # 开启端口复用,防止热重启时端口冲突
|
||||
address_family = socket.AF_INET6 if socket.has_ipv6 else socket.AF_INET
|
||||
|
||||
# [终极修复 Issue #53] 废除极易引发 LXC 容器 "IPv4 耳聋" 的模糊双栈监听
|
||||
# 改为精准探底:直接读取配置文件中的公网 IP 类型,动态决定单一监听协议
|
||||
bind_addr = "0.0.0.0"
|
||||
ThreadedServer.address_family = socket.AF_INET
|
||||
|
||||
config_path = '/opt/ip_sentinel/config.conf'
|
||||
if os.path.exists(config_path):
|
||||
with open(config_path, 'r', errors='ignore') as f:
|
||||
for line in f:
|
||||
if line.startswith('PUBLIC_IP='):
|
||||
pub_ip = line.split('=', 1)[1].strip('"\'')
|
||||
# 如果注册的是 IPv6 节点,则精准监听 IPv6,否则一律兜底监听 IPv4
|
||||
if ':' in pub_ip:
|
||||
bind_addr = "::"
|
||||
ThreadedServer.address_family = socket.AF_INET6
|
||||
break
|
||||
|
||||
httpd = ThreadedServer((bind_addr, PORT), AgentHandler)
|
||||
|
||||
# ================== [v3.6.3 核心: 挂载 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)
|
||||
context.load_cert_chain(certfile=cert_path, keyfile=key_path)
|
||||
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
|
||||
except Exception as e:
|
||||
print(f"SSL 隧道构建失败,退化为 HTTP: {e}")
|
||||
# ======================================================================================
|
||||
|
||||
try:
|
||||
bind_addr = "::" if socket.has_ipv6 else ""
|
||||
with ThreadedDualStackServer((bind_addr, PORT), AgentHandler) as httpd:
|
||||
httpd.serve_forever()
|
||||
httpd.serve_forever()
|
||||
except Exception as e:
|
||||
sys.exit(1)
|
||||
# ====================================================================================
|
||||
EOF
|
||||
|
||||
# --- [重点升级 3: 真正的静默后台启动] ---
|
||||
echo "🚀 [Agent] 正在后台启动 Webhook 监听服务 (端口: $AGENT_PORT)..."
|
||||
nohup python3 "${INSTALL_DIR}/core/webhook.py" "$AGENT_PORT" > /dev/null 2>&1 &
|
||||
disown 2>/dev/null || true
|
||||
echo "✅ [Agent] 守护进程启动完毕,可安全关闭终端。"
|
||||
# --- [重点升级 3: 移交系统级守护进程接管 (阻塞模式)] ---
|
||||
echo "🚀 [Agent] 正在启动 Webhook 监听服务 (端口: $AGENT_PORT)..."
|
||||
exec python3 "${INSTALL_DIR}/core/webhook.py" "$AGENT_PORT"
|
||||
757
core/install.sh
757
core/install.sh
@@ -5,107 +5,198 @@
|
||||
# 核心功能: 战区分组菜单、模块按需开启、官方机器人一键配置、版本状态机路由
|
||||
# ==========================================================
|
||||
|
||||
# ==========================================================
|
||||
# 🛑 核心权限防线: 检查是否以 root 权限运行
|
||||
# ==========================================================
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo -e "\033[31m❌ 权限被拒绝: 部署 IP-Sentinel 需要最高系统权限。\033[0m"
|
||||
echo -e "💡 请切换到 root 用户 (执行 su root 或 sudo -i) 后重新运行指令。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 🟢 [防劫持沙盒] 创建具备随机哈希且仅 root 可见的专属安全工作区
|
||||
SECURE_TMP=$(mktemp -d /tmp/ips_install.XXXXXX)
|
||||
# 确保脚本退出、异常中断或被强杀时,自动销毁沙盒,不留痕迹
|
||||
trap 'rm -rf "$SECURE_TMP"' EXIT HUP INT QUIT TERM
|
||||
|
||||
# 你的 GitHub 仓库 Raw 数据直链前缀
|
||||
REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
|
||||
# 临时改为私库地址用于测试
|
||||
# REPO_RAW_URL="https://git.94211762.xyz/hotyue/IP-Sentinel/raw/branch/main"
|
||||
|
||||
INSTALL_DIR="/opt/ip_sentinel"
|
||||
CONFIG_FILE="${INSTALL_DIR}/config.conf"
|
||||
|
||||
# [核心: 动态提取 Agent 专属版本锚点 (KV 解析法)]
|
||||
TARGET_VERSION=$(curl -s -m 3 "${REPO_RAW_URL}/version.txt" | grep "^AGENT_VERSION=" | cut -d'=' -f2 | tr -d '[:space:]')
|
||||
# [修复] 增加 -L 与双栈容灾 (-4),解决纯 V6 或 V6 优先机器连接 GitHub Raw 易超时的问题
|
||||
TARGET_VERSION=$( (curl -sL -m 5 "${REPO_RAW_URL}/version.txt" || curl -4 -sL -m 5 "${REPO_RAW_URL}/version.txt") 2>/dev/null | grep "^AGENT_VERSION=" | cut -d'=' -f2 | tr -d '[:space:]')
|
||||
# 🛡️ 兜底防线:如果网络波动拉取失败,启用内置的安全兜底版本
|
||||
TARGET_VERSION=${TARGET_VERSION:-"3.5.1"}
|
||||
TARGET_VERSION=${TARGET_VERSION:-"4.0.6"}
|
||||
|
||||
# 轻量级版本号比对函数 (例如: version_lt "3.3.1" "3.4.0" 返回 true)
|
||||
version_lt() {
|
||||
test "$(printf '%s\n' "$1" "$2" | sort -V | head -n 1)" = "$1" && test "$1" != "$2"
|
||||
}
|
||||
|
||||
echo "========================================================"
|
||||
echo " 🛡️ 欢迎使用 IP-Sentinel (边缘节点 Edge Agent)"
|
||||
echo " 当前安装包版本: v${TARGET_VERSION}"
|
||||
echo "========================================================"
|
||||
# 1. 依赖检查与智能安装 (v3.5.4 兼容性升级: 支持 Alpine, Arch 及更完善的依赖链)
|
||||
echo -e "\n[1/7] 正在探测并安装基础环境依赖 (curl, jq, cron, procps, python3)..."
|
||||
|
||||
# 1. 依赖检查与安装 (新增 python3 用于轻量级 Webhook 服务)
|
||||
echo -e "\n[1/7] 正在安装必要环境依赖 (curl, jq, cron, procps, python3)..."
|
||||
if [ -f /etc/debian_version ]; then
|
||||
apt-get update -y >/dev/null 2>&1
|
||||
apt-get install -y curl jq cron procps python3 >/dev/null 2>&1
|
||||
elif [ -f /etc/redhat-release ]; then
|
||||
yum install -y curl jq cronie procps-ng python3 >/dev/null 2>&1
|
||||
systemctl enable crond && systemctl start crond
|
||||
else
|
||||
echo "⚠️ 未知系统,请确保已手动安装 curl, jq, pgrep 和 python3"
|
||||
# 定义必须检测的核心命令
|
||||
REQUIRED_CMDS=("curl" "jq" "crontab" "pgrep" "python3" "openssl")
|
||||
MISSING_CMDS=()
|
||||
|
||||
# 基础探测:预检查缺失的命令
|
||||
for cmd in "${REQUIRED_CMDS[@]}"; do
|
||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||
MISSING_CMDS+=("$cmd")
|
||||
fi
|
||||
done
|
||||
|
||||
# 如果有缺失,执行智能安装逻辑
|
||||
if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
|
||||
echo "⏳ 发现缺失依赖: ${MISSING_CMDS[*]},正在尝试自动补齐..."
|
||||
|
||||
# 嗅探包管理器
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
# Debian / Ubuntu 系列
|
||||
apt-get update -y >/dev/null 2>&1
|
||||
# [v3.6.3 抽脂级优化] 注入 --no-install-recommends 拒绝捆绑销售,大幅节省磁盘与内存
|
||||
apt-get install -y --no-install-recommends curl jq cron procps python3 openssl >/dev/null 2>&1
|
||||
systemctl enable cron >/dev/null 2>&1 && systemctl start cron >/dev/null 2>&1
|
||||
|
||||
elif command -v yum >/dev/null 2>&1 || command -v dnf >/dev/null 2>&1; then
|
||||
# RHEL / CentOS / AlmaLinux 系列
|
||||
PKG_MGR="yum"
|
||||
OPT_ARGS=""
|
||||
if command -v dnf >/dev/null 2>&1; then
|
||||
PKG_MGR="dnf"
|
||||
# [v3.6.3 抽脂级优化] 强行关闭 DNF 的弱依赖拉取
|
||||
OPT_ARGS="--setopt=install_weak_deps=False"
|
||||
fi
|
||||
$PKG_MGR install -y $OPT_ARGS curl jq cronie procps-ng python3 openssl >/dev/null 2>&1
|
||||
systemctl enable crond >/dev/null 2>&1 && systemctl start crond >/dev/null 2>&1
|
||||
|
||||
elif command -v apk >/dev/null 2>&1; then
|
||||
# Alpine 本身就是极致精简,无需特殊参数
|
||||
echo "Alpine 探测到系统类型为 Alpine Linux,正在执行轻量级安装..."
|
||||
# [修复] 新版 Alpine 已废弃 dcron。优先尝试 cronie,若失败则信任自带 busybox-cron,并移除屏蔽以便暴露报错
|
||||
apk add --no-cache curl jq cronie procps python3 bash openssl || apk add --no-cache curl jq procps python3 bash openssl
|
||||
mkdir -p /var/spool/cron/crontabs
|
||||
rc-update add crond default >/dev/null 2>&1
|
||||
service crond start >/dev/null 2>&1
|
||||
|
||||
elif command -v pacman >/dev/null 2>&1; then
|
||||
# Arch Linux 系列 (采用 --needed 防重复,剥离 -y 防部分升级炸系统)
|
||||
pacman -S --needed --noconfirm curl jq cronie procps-ng python openssl >/dev/null 2>&1
|
||||
mkdir -p /root/.cache/crontab 2>/dev/null
|
||||
systemctl enable cronie >/dev/null 2>&1 && systemctl start cronie >/dev/null 2>&1
|
||||
|
||||
else
|
||||
# 无法识别的系统:退出并给出清晰的引导信息 (同步更新防捆绑参数)
|
||||
echo -e "\033[31m❌ 自动安装失败:系统未知的包管理器。\033[0m"
|
||||
echo -e "\033[33m⚠️ 请根据您的操作系统,手动执行以下安装命令后重新运行本脚本:\033[0m"
|
||||
echo -e " Debian/Ubuntu: \033[36mapt-get update && apt-get install -y --no-install-recommends curl jq cron procps python3 openssl\033[0m"
|
||||
echo -e " CentOS/RHEL: \033[36myum install -y curl jq cronie procps-ng python3 openssl\033[0m"
|
||||
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq cronie procps python3 bash openssl\033[0m"
|
||||
# Arch 用户,如果出问题,应该用 -Syu 进行全系统安全更新
|
||||
echo -e " Arch Linux: \033[36mpacman -Syu --needed curl jq cronie procps-ng python openssl\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 安装后二次复检
|
||||
for cmd in "${REQUIRED_CMDS[@]}"; do
|
||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||
echo -e "\033[31m❌ 致命错误:核心命令 '$cmd' 仍未找到!\033[0m"
|
||||
echo -e "这通常是因为您的系统源配置错误或缺失基础组件库导致。"
|
||||
echo -e "请手动修复您的包管理器源,或联系 VPS 供应商重新格式化系统。"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo -e "\033[32m✅ 基础环境检测通过。\033[0m"
|
||||
|
||||
# 2. 交互式引导与动态地图解析 (v3.0 全球网络)
|
||||
echo -e "\n[2/7] 正在连线云端,拉取全球节点地图..."
|
||||
curl -sL "${REPO_RAW_URL}/data/map.json" -o "/tmp/map.json"
|
||||
|
||||
if [ ! -s "/tmp/map.json" ]; then
|
||||
curl -sL "${REPO_RAW_URL}/data/map.json" -o "${SECURE_TMP}/map.json"
|
||||
if [ ! -s "${SECURE_TMP}/map.json" ]; then
|
||||
echo -e "\033[31m❌ 拉取全球地图失败!请检查网络或 GitHub 仓库地址。\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\n请选择操作:"
|
||||
echo " 1) 🚀 部署边缘节点 (进入全球节点配置)"
|
||||
echo " 2) 🗑️ 一键卸载 IP-Sentinel"
|
||||
read -p "请输入选择 [1-2] (默认1): " ACTION_CHOICE
|
||||
# ==========================================================
|
||||
# [v3.6.0 核心] 拦截静默 OTA 升级模式 (强行接管执行流,跳过人工交互)
|
||||
# ==========================================================
|
||||
if [ "$SILENT_OTA" == "true" ]; then
|
||||
echo -e "\n⏳ [OTA] 静默升级指令已确认,正在剥离控制台交互..."
|
||||
ACTION_CHOICE=1
|
||||
UPGRADE_MODE="true"
|
||||
KEEP_LOGS="true"
|
||||
source "$CONFIG_FILE"
|
||||
else
|
||||
echo -e "\n请选择操作:"
|
||||
echo " 1) 🚀 部署边缘节点 (进入全球节点配置)"
|
||||
echo " 2) 🗑️ 一键卸载 IP-Sentinel"
|
||||
read -p "请输入选择 [1-2] (默认1): " ACTION_CHOICE
|
||||
|
||||
# [v3.5.2 修复] 防止用户直接回车导致变量为空,从而漏过下方的平滑升级判定
|
||||
ACTION_CHOICE=${ACTION_CHOICE:-1}
|
||||
# [v3.5.2 修复] 防止用户直接回车导致变量为空,从而漏过下方的平滑升级判定
|
||||
ACTION_CHOICE=${ACTION_CHOICE:-1}
|
||||
|
||||
if [ "$ACTION_CHOICE" == "2" ]; then
|
||||
echo -e "\n⏳ 正在拉取卸载程序..."
|
||||
curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "/tmp/ip_uninstall.sh"
|
||||
chmod +x "/tmp/ip_uninstall.sh"
|
||||
bash "/tmp/ip_uninstall.sh"
|
||||
rm -f "/tmp/ip_uninstall.sh"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ================== [v3.2.2 新增: 平滑升级模式嗅探] ==================
|
||||
UPGRADE_MODE="false"
|
||||
KEEP_LOGS="true"
|
||||
|
||||
if [ "$ACTION_CHOICE" == "1" ] && [ -f "$CONFIG_FILE" ]; then
|
||||
echo -e "\n\033[33m💡 哨兵雷达提示:检测到本机已部署过 IP-Sentinel。\033[0m"
|
||||
read -p "👉 是否按原配置直接进行平滑升级?(y/n, 默认y): " UPGRADE_CHOICE
|
||||
if [[ -z "$UPGRADE_CHOICE" || "$UPGRADE_CHOICE" =~ ^[Yy]$ ]]; then
|
||||
UPGRADE_MODE="true"
|
||||
read -p "👉 是否保留历史运行日志?(y/n, 默认y): " LOG_CHOICE
|
||||
if [[ "$LOG_CHOICE" =~ ^[Nn]$ ]]; then
|
||||
KEEP_LOGS="false"
|
||||
fi
|
||||
|
||||
# 将原配置读入环境变量,为后续跳过配置步骤提供燃料
|
||||
source "$CONFIG_FILE"
|
||||
echo -e "\033[32m✅ 已激活 [平滑升级模式],即将跳过基础配置,直接更新核心装甲...\033[0m"
|
||||
else
|
||||
echo -e "\033[33m🔄 您选择了重新配置,旧的哨兵数据将被彻底抹除。\033[0m"
|
||||
if [ "$ACTION_CHOICE" == "2" ]; then
|
||||
echo -e "\n⏳ 正在拉取卸载程序..."
|
||||
curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "${SECURE_TMP}/ip_uninstall.sh"
|
||||
chmod +x "${SECURE_TMP}/ip_uninstall.sh"
|
||||
bash "${SECURE_TMP}/ip_uninstall.sh"
|
||||
rm -f "${SECURE_TMP}/ip_uninstall.sh"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ================== [v3.2.2 新增: 平滑升级模式嗅探] ==================
|
||||
UPGRADE_MODE="false"
|
||||
KEEP_LOGS="true"
|
||||
|
||||
if [ "$ACTION_CHOICE" == "1" ] && [ -f "$CONFIG_FILE" ]; then
|
||||
echo -e "\n\033[33m💡 哨兵雷达提示:检测到本机已部署过 IP-Sentinel。\033[0m"
|
||||
read -p "👉 是否按原配置直接进行平滑升级?(y/n, 默认y): " UPGRADE_CHOICE
|
||||
if [[ -z "$UPGRADE_CHOICE" || "$UPGRADE_CHOICE" =~ ^[Yy]$ ]]; then
|
||||
UPGRADE_MODE="true"
|
||||
read -p "👉 是否保留历史运行日志?(y/n, 默认y): " LOG_CHOICE
|
||||
if [[ "$LOG_CHOICE" =~ ^[Nn]$ ]]; then
|
||||
KEEP_LOGS="false"
|
||||
fi
|
||||
|
||||
# 将原配置读入环境变量,为后续跳过配置步骤提供燃料
|
||||
source "$CONFIG_FILE"
|
||||
echo -e "\033[32m✅ 已激活 [平滑升级模式],即将跳过基础配置,直接更新核心装甲...\033[0m"
|
||||
else
|
||||
echo -e "\033[33m🔄 您选择了重新配置,旧的哨兵数据将被彻底抹除。\033[0m"
|
||||
fi
|
||||
fi
|
||||
# ====================================================================
|
||||
fi
|
||||
# ====================================================================
|
||||
|
||||
# ================== [v3.1.1/v3.2.2 优化: 安装前环境纯净度清理] ==================
|
||||
echo -e "\n⏳ 正在清理旧版守护进程与冗余任务..."
|
||||
# 1. 强制超度可能存活的 Webhook 及各类看门狗进程,释放端口
|
||||
pkill -9 -f "webhook.py" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "runner.sh" >/dev/null 2>&1 || true
|
||||
echo -e "\n⏳ 正在清理系统定时任务中的旧版条目..."
|
||||
|
||||
# 2. 清除系统定时任务 (Cron) 中的旧版条目
|
||||
if crontab -l >/dev/null 2>&1; then
|
||||
crontab -l | grep -v "ip_sentinel" > /tmp/cron_clean
|
||||
crontab /tmp/cron_clean
|
||||
rm -f /tmp/cron_clean
|
||||
fi
|
||||
# 1. 清除系统定时任务 (Cron) 中的旧版条目 (安全容错版)
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_clean" || true
|
||||
# [追加 >/dev/null 2>&1 堵死 Alpine 的脏话输出]
|
||||
[ -f "${SECURE_TMP}/cron_clean" ] && crontab "${SECURE_TMP}/cron_clean" >/dev/null 2>&1
|
||||
rm -f "${SECURE_TMP}/cron_clean"
|
||||
|
||||
# ==========================================
|
||||
# 🛑 [物理抹除] 彻底扫除 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
|
||||
# 清理 OpenRC 开机启动项
|
||||
rm -f /etc/local.d/ip_sentinel.start 2>/dev/null
|
||||
|
||||
# 3. 抹除旧版核心代码,杜绝代码冲突 (根据模式分流)
|
||||
if [ "$UPGRADE_MODE" == "true" ]; then
|
||||
# 升级模式:仅销毁核心引擎,严格保留 config 与 data
|
||||
rm -rf "${INSTALL_DIR}/core" 2>/dev/null
|
||||
# [修复] 升级模式:不再提前销毁核心引擎,改为后续下载成功后的原子化替换,彻底防止断网变砖!
|
||||
if [ "$KEEP_LOGS" == "false" ]; then
|
||||
rm -rf "${INSTALL_DIR}/logs" 2>/dev/null
|
||||
echo -e "🗑️ 历史日志已按指令清空。"
|
||||
@@ -128,13 +219,13 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
# 📍 动态零级菜单:战区(大洲)选择
|
||||
echo -e "\n\033[36m📍 【第零级】请选择目标战区 (Continent):\033[0m"
|
||||
jq -r '.continents[] | "\(.id)|\(.name)"' /tmp/map.json > /tmp/continents.txt
|
||||
jq -r '.continents[] | "\(.id)|\(.name)"' "${SECURE_TMP}/map.json" > "${SECURE_TMP}/continents.txt"
|
||||
i=1; CONT_MAP=()
|
||||
while IFS="|" read -r cont_id cont_name; do
|
||||
echo " $i) $cont_name"
|
||||
CONT_MAP[$i]="$cont_id"
|
||||
((i++))
|
||||
done < /tmp/continents.txt
|
||||
done < "${SECURE_TMP}/continents.txt"
|
||||
|
||||
read -p "请输入选择 [1-$((i-1))] (默认1): " CONT_SEL
|
||||
CONT_SEL=${CONT_SEL:-1}
|
||||
@@ -142,14 +233,14 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
# 📍 动态一级菜单:国家选择 (基于选中战区)
|
||||
echo -e "\n\033[36m📍 【第一级】正在检索 [$CONT_ID] 战区下的国家/地区...\033[0m"
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | \"\(.id)|\(.name)|\(.keyword_file)\"" /tmp/map.json > /tmp/countries.txt
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | \"\(.id)|\(.name)|\(.keyword_file)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/countries.txt"
|
||||
i=1; COUNTRY_MAP=(); KEYWORD_MAP=()
|
||||
while IFS="|" read -r c_id c_name k_file; do
|
||||
echo " $i) $c_name"
|
||||
COUNTRY_MAP[$i]="$c_id"
|
||||
KEYWORD_MAP[$i]="$k_file"
|
||||
((i++))
|
||||
done < /tmp/countries.txt
|
||||
done < "${SECURE_TMP}/countries.txt"
|
||||
|
||||
read -p "请输入选择 [1-$((i-1))] (默认1): " C_SEL
|
||||
C_SEL=${C_SEL:-1}
|
||||
@@ -159,11 +250,11 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
# 📍 动态二级菜单:省/州选择 (基于选中战区和国家)
|
||||
echo -e "\n\033[36m📍 【第二级】正在检索 [$COUNTRY_ID] 的行政区数据...\033[0m"
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | \"\(.id)|\(.name)\"" /tmp/map.json > /tmp/states.txt
|
||||
STATE_COUNT=$(wc -l < /tmp/states.txt)
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | \"\(.id)|\(.name)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/states.txt"
|
||||
STATE_COUNT=$(wc -l < "${SECURE_TMP}/states.txt")
|
||||
|
||||
if [ "$STATE_COUNT" -eq 1 ]; then
|
||||
IFS="|" read -r STATE_ID STATE_NAME < /tmp/states.txt
|
||||
IFS="|" read -r STATE_ID STATE_NAME < "${SECURE_TMP}/states.txt"
|
||||
echo -e "\033[32m💡 该国家下仅有单一配置 [$STATE_NAME],已自动跃迁。\033[0m"
|
||||
else
|
||||
i=1; STATE_MAP=()
|
||||
@@ -171,7 +262,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
echo " $i) $s_name"
|
||||
STATE_MAP[$i]="$s_id"
|
||||
((i++))
|
||||
done < /tmp/states.txt
|
||||
done < "${SECURE_TMP}/states.txt"
|
||||
read -p "请输入选择 [1-$((i-1))] (默认1): " S_SEL
|
||||
S_SEL=${S_SEL:-1}
|
||||
STATE_ID="${STATE_MAP[$S_SEL]}"
|
||||
@@ -179,26 +270,28 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
# 📍 动态三级菜单:城市选择 (基于战区、国家、州三层过滤)
|
||||
echo -e "\n\033[36m📍 【第三级】请锁定具体城市节点:\033[0m"
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | select(.id==\"$STATE_ID\") | .cities[] | \"\(.id)|\(.name)\"" /tmp/map.json > /tmp/cities.txt
|
||||
CITY_COUNT=$(wc -l < /tmp/cities.txt)
|
||||
jq -r ".continents[] | select(.id==\"$CONT_ID\") | .countries[] | select(.id==\"$COUNTRY_ID\") | .states[] | select(.id==\"$STATE_ID\") | .cities[] | \"\(.id)|\(.name)\"" "${SECURE_TMP}/map.json" > "${SECURE_TMP}/cities.txt"
|
||||
CITY_COUNT=$(wc -l < "${SECURE_TMP}/cities.txt")
|
||||
|
||||
if [ "$CITY_COUNT" -eq 1 ]; then
|
||||
IFS="|" read -r CITY_ID CITY_NAME < /tmp/cities.txt
|
||||
IFS="|" read -r CITY_ID CITY_NAME < "${SECURE_TMP}/cities.txt"
|
||||
echo -e "\033[32m💡 该区域下仅有单一城市 [$CITY_NAME],已自动锁定。\033[0m"
|
||||
else
|
||||
i=1; CITY_MAP=()
|
||||
i=1; CITY_MAP=(); CITY_NAME_MAP=()
|
||||
while IFS="|" read -r c_id c_name; do
|
||||
echo " $i) $c_name"
|
||||
CITY_MAP[$i]="$c_id"
|
||||
CITY_NAME_MAP[$i]="$c_name"
|
||||
((i++))
|
||||
done < /tmp/cities.txt
|
||||
done < "${SECURE_TMP}/cities.txt"
|
||||
read -p "请输入选择 [1-$((i-1))] (默认1): " CI_SEL
|
||||
CI_SEL=${CI_SEL:-1}
|
||||
CITY_ID="${CITY_MAP[$CI_SEL]}"
|
||||
CITY_NAME="${CITY_NAME_MAP[$CI_SEL]}"
|
||||
fi
|
||||
|
||||
# 清理临时文件 (增加清理 continents.txt)
|
||||
rm -f /tmp/map.json /tmp/continents.txt /tmp/countries.txt /tmp/states.txt /tmp/cities.txt
|
||||
rm -f "${SECURE_TMP}/map.json" "${SECURE_TMP}/continents.txt" "${SECURE_TMP}/countries.txt" "${SECURE_TMP}/states.txt" "${SECURE_TMP}/cities.txt"
|
||||
|
||||
# 本地工作目录初始化 (支持 v3.0 的深度层级)
|
||||
mkdir -p "${INSTALL_DIR}/core"
|
||||
@@ -206,46 +299,69 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
mkdir -p "${INSTALL_DIR}/data/regions/${COUNTRY_ID}/${STATE_ID}"
|
||||
mkdir -p "${INSTALL_DIR}/logs"
|
||||
|
||||
# 3. 功能模块前置开关 (按需加载)
|
||||
echo -e "\n[3/7] 请选择需要开启的养护模块 (按需开启,节省资源):"
|
||||
echo " 1) 📍 仅开启 [Google 区域纠偏] (默认,适合流媒体解锁机位漂移)"
|
||||
echo " 2) 🛡️ 仅开启 [IP 信用净化] (适合高风险机房 IP 降低 Scamalytics 分数)"
|
||||
echo " 3) 🔥 双管齐下 (同时开启以上两项)"
|
||||
read -p "请输入选择 [1-3] (默认1): " MODULE_CHOICE
|
||||
|
||||
# 3. 功能模块前置开关 (v3.5.3 默认全量加载,后续经由 TG 动态启停)
|
||||
echo -e "\n[3/7] 正在初始化养护模块 (默认全量部署,支持 TG 远程动态启停)..."
|
||||
ENABLE_GOOGLE="true"
|
||||
ENABLE_TRUST="false"
|
||||
case ${MODULE_CHOICE:-1} in
|
||||
2) ENABLE_GOOGLE="false"; ENABLE_TRUST="true" ;;
|
||||
3) ENABLE_GOOGLE="true"; ENABLE_TRUST="true" ;;
|
||||
*) ENABLE_GOOGLE="true"; ENABLE_TRUST="false" ;;
|
||||
esac
|
||||
ENABLE_TRUST="true"
|
||||
|
||||
# 4. 接入 Master 中枢配置
|
||||
echo -e "\n[4/7] 是否接入 Master 司令部?(需要配置与主控相同的 TG 机器人) (y/n)"
|
||||
echo -e "\n[4/7] 是否接入 Master 司令部进行远程联控? (y/n)"
|
||||
read -p "请输入选择 [y/n] (默认n): " TG_CHOICE
|
||||
TG_TOKEN=""
|
||||
CHAT_ID=""
|
||||
AGENT_PORT="9527"
|
||||
if [[ "$TG_CHOICE" =~ ^[Yy]$ ]]; then
|
||||
echo -e "\n\033[33m💡 提示:您可以选择使用自己的机器人,或者直接回车使用官方公共机器人。\033[0m"
|
||||
echo -e "\033[33m⚠️ 注意:若使用官方机器人,请务必先在 TG 中关注 @OmniBeacon_bot 并发送 /start\033[0m"
|
||||
echo -e "\n请选择中枢接入模式 (推荐私有部署,支持后续 OTA 远程静默升级):"
|
||||
echo " 1) 🛡️ 私有独立中枢 (需提供自建 Bot Token,推荐)"
|
||||
echo " 2) ☁️ 官方公共网关 (@OmniBeacon_bot,新手免配置)"
|
||||
read -p "请输入选择 [1-2] (默认1): " MASTER_TYPE
|
||||
MASTER_TYPE=${MASTER_TYPE:-1}
|
||||
|
||||
read -p "请输入您的 Telegram Bot Token (回车使用官方默认): " USER_TOKEN
|
||||
|
||||
if [ -z "$USER_TOKEN" ]; then
|
||||
if [ "$MASTER_TYPE" == "2" ]; then
|
||||
TG_TOKEN="OFFICIAL_GATEWAY_MODE"
|
||||
TG_API_URL="https://omni-gateway.samanthaestime296.workers.dev"
|
||||
ENABLE_OTA="false"
|
||||
echo -e "\033[32m✅ 已自动连接官方安全网关 (@OmniBeacon_bot)。\033[0m"
|
||||
echo -e "\033[33m👉 请确保您已关注官方机器人并发送过 /start,否则将无法接收消息。\033[0m"
|
||||
echo -e "\033[33m👉 请确保您已在 TG 中关注官方机器人并发送过 /start,否则将无法接收消息。\033[0m"
|
||||
# [v3.6.0 安全熔断]
|
||||
echo -e "\n\033[33m⚠️ 【安全熔断提示】\033[0m"
|
||||
echo -e "\033[33m由于您使用了官方公共网关,为防止潜在的滥用或供应链风险,本节点的 [OTA 远程升级] 权限已被系统底层强制禁用。\033[0m"
|
||||
echo -e "\033[33m💡 若未来需要启用 OTA,请自建私有中枢后重新部署本节点。\033[0m"
|
||||
else
|
||||
# [v3.6.0 优化] 使用 OSC 8 终端超链接协议,实现“点击即打开”的极客交互
|
||||
echo -e "\n\033[36m📘 私有 Bot 创建教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/\033\\👉 [点击此处直接在浏览器中打开]\033]8;;\033\\ 👈\033[0m"
|
||||
echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather/ )\033[0m"
|
||||
read -p "请输入您的私有 Telegram Bot Token: " RAW_TOKEN
|
||||
USER_TOKEN=$(echo "$RAW_TOKEN" | tr -cd 'a-zA-Z0-9_:-')
|
||||
# 🛡️ 核心防误触修复:拦截空回车或粘贴换行导致的跳过 Bug
|
||||
while [ -z "$USER_TOKEN" ]; do
|
||||
read -p "⚠️ Token 不能为空或包含非法字符,请重新输入: " RAW_TOKEN
|
||||
USER_TOKEN=$(echo "$RAW_TOKEN" | tr -cd 'a-zA-Z0-9_:-')
|
||||
done
|
||||
|
||||
TG_TOKEN="$USER_TOKEN"
|
||||
TG_API_URL="https://api.telegram.org/bot${TG_TOKEN}/sendMessage"
|
||||
echo -e "\033[32m✅ 已记录您的私有机器人 Token。\033[0m"
|
||||
|
||||
# [v3.6.0] 私有模式开放 OTA 授权向导
|
||||
echo -e "\n\033[36m[4.1/7] OTA 远程静默升级授权\033[0m"
|
||||
echo -e "💡 开启后,您可以在 TG 面板一键将本节点热更新至最新版本。"
|
||||
read -p "是否允许本节点接收 OTA 升级指令?(y/n, 默认y): " OTA_CHOICE
|
||||
if [[ "$OTA_CHOICE" =~ ^[Nn]$ ]]; then
|
||||
ENABLE_OTA="false"
|
||||
echo -e "🛡️ \033[33m已关闭 OTA 权限,本节点未来将只能通过 SSH 手动升级。\033[0m"
|
||||
else
|
||||
ENABLE_OTA="true"
|
||||
echo -e "✅ \033[32m已开启 OTA 权限,核按钮已挂载至您的私有中枢。\033[0m"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\033[33m💡 提示:如果您不知道自己的 Chat ID,可以关注 @userinfobot 获取。\033[0m"
|
||||
read -p "请输入你的 Chat ID (与主控一致): " CHAT_ID
|
||||
echo -e "\n\033[33m💡 提示:如果您不知道下方自己的 Chat ID 是什么,可以关注 @userinfobot 获取。\033[0m"
|
||||
echo -e "\033[36m📘 查看图文教程: \033[4m\033]8;;https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/\033\\👉 [点击此处直接在浏览器中打开]\033]8;;\033\\ 👈\033[0m"
|
||||
echo -e "\033[90m (若您的终端较老不支持点击,请手动复制: https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot/ )\033[0m"
|
||||
read -p "请输入你的 Chat ID (必须准确,否则无法联控): " RAW_CHAT_ID
|
||||
# 强制只保留数字和负号,封死注入
|
||||
CHAT_ID=$(echo "$RAW_CHAT_ID" | tr -cd '0-9-')
|
||||
|
||||
# ================== [v3.0.3 变更: 智能随机高位端口生成系统] ==================
|
||||
echo -e "\n\033[36m[4.2/7] 正在构建 Webhook 安全通信隧道...\033[0m"
|
||||
@@ -303,7 +419,8 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
if [ ${#IP_OPTIONS[@]} -eq 0 ]; then
|
||||
echo -e "\033[33m⚠️ 雷达受阻:未能自动探测到公网 IP,请手动指定。\033[0m"
|
||||
read -p "请输入您要绑定的公网 IP (v4 或 v6): " PUBLIC_IP
|
||||
read -p "请输入您要绑定的公网 IP (v4 或 v6): " RAW_PUBLIC_IP
|
||||
PUBLIC_IP=$(echo "$RAW_PUBLIC_IP" | tr -cd 'a-fA-F0-9.:[]')
|
||||
[[ "$PUBLIC_IP" == *":"* ]] && IP_PREF="6" || IP_PREF="4"
|
||||
else
|
||||
echo "📍 发现可用出口 IP,请选择要注册与养护的锚点:"
|
||||
@@ -367,7 +484,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
|
||||
# ================== [v3.5.2 新增: 节点不可变主键与展示别名] ==================
|
||||
IP_HASH=$(echo "${SAFE_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}"
|
||||
NODE_NAME="$(hostname | tr -cd 'a-zA-Z0-9' | cut -c 1-10)-${IP_HASH}"
|
||||
NODE_ALIAS="$NODE_NAME"
|
||||
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
@@ -431,6 +548,9 @@ BIND_IP="$BIND_IP"
|
||||
# [v3.5.2新增: 双轨身份系统]
|
||||
NODE_NAME="$NODE_NAME"
|
||||
NODE_ALIAS="$NODE_ALIAS"
|
||||
|
||||
# [v3.6.0新增: OTA 权限标识]
|
||||
ENABLE_OTA="$ENABLE_OTA"
|
||||
EOF
|
||||
|
||||
# ================== [v3.0.3 变更: 敏感配置文件权限收敛] ==================
|
||||
@@ -474,13 +594,14 @@ if [ "$UPGRADE_MODE" == "true" ]; then
|
||||
BIND_IP="$NEW_BIND_IP"
|
||||
else
|
||||
# 如果是未来再升级,配置文件已是最新,直接提取变量供安装脚本尾部使用
|
||||
SAFE_PUBLIC_IP=$(grep "^PUBLIC_IP=" "$CONFIG_FILE" | cut -d'"' -f2)
|
||||
# [修复] 避免 cut 提取无引号变量失败,直接复用已 source 的原生变量
|
||||
SAFE_PUBLIC_IP="${PUBLIC_IP}"
|
||||
fi
|
||||
|
||||
# [v3.5.2 热修复] 兼容老版本没有 NODE_NAME 和 NODE_ALIAS 的情况,无损补齐
|
||||
if ! grep -q "^NODE_NAME=" "$CONFIG_FILE"; then
|
||||
TMP_HASH=$(echo "${SAFE_PUBLIC_IP:-127.0.0.1}" | md5sum | cut -c 1-4 | tr 'a-z' 'A-Z')
|
||||
NODE_NAME="$(hostname | cut -c 1-10)-${TMP_HASH}"
|
||||
NODE_NAME="$(hostname | tr -cd 'a-zA-Z0-9' | cut -c 1-10)-${TMP_HASH}"
|
||||
NODE_ALIAS="$NODE_NAME"
|
||||
echo "NODE_NAME=\"$NODE_NAME\"" >> "$CONFIG_FILE"
|
||||
echo "NODE_ALIAS=\"$NODE_ALIAS\"" >> "$CONFIG_FILE"
|
||||
@@ -492,79 +613,320 @@ if [ "$UPGRADE_MODE" == "true" ]; then
|
||||
echo "NODE_ALIAS=\"$NODE_ALIAS\"" >> "$CONFIG_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# [v3.6.0 热修复] 兼容老版本没有 ENABLE_OTA 的情况,无损补齐默认关闭以防滥用
|
||||
if ! grep -q "^ENABLE_OTA=" "$CONFIG_FILE"; then
|
||||
echo "ENABLE_OTA=\"false\"" >> "$CONFIG_FILE"
|
||||
ENABLE_OTA="false"
|
||||
else
|
||||
ENABLE_OTA=$(grep "^ENABLE_OTA=" "$CONFIG_FILE" | cut -d'"' -f2)
|
||||
fi
|
||||
fi
|
||||
# ========================================================================
|
||||
|
||||
# 6. 拉取全套组件 (按需下载,绝不浪费空间)
|
||||
echo -e "\n[6/7] 正在根据模块开关部署核心引擎与热数据..."
|
||||
# 确保目录在升级模式下也能被正确建立
|
||||
mkdir -p "${INSTALL_DIR}/core"
|
||||
# 6. 拉取全套组件 (原子化升级,防断网变砖)
|
||||
echo -e "\n[6/7] 正在部署核心引擎与热数据..."
|
||||
mkdir -p "${INSTALL_DIR}/data/keywords"
|
||||
|
||||
# 基础公共组件
|
||||
curl -sL "${REPO_RAW_URL}/core/runner.sh" -o "${INSTALL_DIR}/core/runner.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/updater.sh" -o "${INSTALL_DIR}/core/updater.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/tg_report.sh" -o "${INSTALL_DIR}/core/tg_report.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/agent_daemon.sh" -o "${INSTALL_DIR}/core/agent_daemon.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "${INSTALL_DIR}/core/uninstall.sh"
|
||||
curl -sL "${REPO_RAW_URL}/data/user_agents.txt" -o "${INSTALL_DIR}/data/user_agents.txt"
|
||||
# [核心修复] 开辟临时下载区,确保下载 100% 成功后再替换旧核心
|
||||
TMP_CORE="${SECURE_TMP}/core_update"
|
||||
mkdir -p "$TMP_CORE"
|
||||
|
||||
# 动态按需组件
|
||||
if [ "$ENABLE_GOOGLE" == "true" ]; then
|
||||
curl -sL "${REPO_RAW_URL}/core/mod_google.sh" -o "${INSTALL_DIR}/core/mod_google.sh"
|
||||
# [v3.2.2 修复] 动态匹配词库下载逻辑
|
||||
if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
curl -sL "${REPO_RAW_URL}/data/keywords/${KEYWORD_FILE}" -o "${INSTALL_DIR}/data/keywords/${KEYWORD_FILE}"
|
||||
else
|
||||
# 升级模式:利用已有的 REGION_CODE 更新通用词库
|
||||
curl -sL "${REPO_RAW_URL}/data/keywords/kw_${REGION_CODE}.txt" -o "${INSTALL_DIR}/data/keywords/kw_${REGION_CODE}.txt" 2>/dev/null || true
|
||||
fi
|
||||
# 拉取核心代码至临时区
|
||||
curl -sL "${REPO_RAW_URL}/core/runner.sh" -o "${TMP_CORE}/runner.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/updater.sh" -o "${TMP_CORE}/updater.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/tg_report.sh" -o "${TMP_CORE}/tg_report.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/agent_daemon.sh" -o "${TMP_CORE}/agent_daemon.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/uninstall.sh" -o "${TMP_CORE}/uninstall.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/mod_google.sh" -o "${TMP_CORE}/mod_google.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/mod_trust.sh" -o "${TMP_CORE}/mod_trust.sh"
|
||||
curl -sL "${REPO_RAW_URL}/core/mod_quality.sh" -o "${TMP_CORE}/mod_quality.sh"
|
||||
|
||||
# 🛡️ 防砖终极校验:检查关键文件是否真实存在且不为空
|
||||
if [ ! -s "${TMP_CORE}/runner.sh" ] || [ ! -s "${TMP_CORE}/agent_daemon.sh" ]; then
|
||||
echo -e "\033[31m❌ 致命错误:核心代码拉取失败!网络阻断或 GitHub Raw 异常。\033[0m"
|
||||
echo "🛡️ 防砖机制触发:已中止覆盖,旧版哨兵引擎仍安全存活中。"
|
||||
rm -rf "$TMP_CORE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_TRUST" == "true" ]; then
|
||||
curl -sL "${REPO_RAW_URL}/core/mod_trust.sh" -o "${INSTALL_DIR}/core/mod_trust.sh"
|
||||
# 🟢 [原子化交接核心]: 校验完美通过,新代码已在本地备妥!
|
||||
# 此时再以雷霆手段镇压旧进程,杜绝遗言陷阱与断网变砖的可能!
|
||||
echo "⏳ 新引擎校验通过,正在抹杀旧版守护进程..."
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl kill --signal=SIGKILL ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
|
||||
systemctl stop ip-sentinel-runner.timer ip-sentinel-updater.timer ip-sentinel-report.timer ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
pkill -9 -f "webhook.py" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "runner.sh" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "tg_report.sh" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "updater.sh" >/dev/null 2>&1 || true
|
||||
pkill -9 -f "sentinel_scheduler.sh" >/dev/null 2>&1 || true
|
||||
|
||||
# 执行代码目录的物理替换
|
||||
rm -rf "${INSTALL_DIR}/core" 2>/dev/null
|
||||
mv "$TMP_CORE" "${INSTALL_DIR}/core"
|
||||
chmod +x ${INSTALL_DIR}/core/*.sh
|
||||
|
||||
# 7. 配置系统定时任务 (高频调度与看门狗)
|
||||
echo -e "\n[7/7] 正在注入系统定时任务与看门狗进程..."
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_backup
|
||||
|
||||
# 核心养护模块: 每 30 分钟触发一次
|
||||
echo "*/30 * * * * ${INSTALL_DIR}/core/runner.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
# 养料更新模块: (v3.3.0升级) 每天凌晨 3 点触发,由中枢自动进行分频调度
|
||||
echo "0 3 * * * ${INSTALL_DIR}/core/updater.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
|
||||
# [v3.3.0 新增] 初始化 UA 指纹库更新时间戳,确立 30 天滚动周期的计算锚点
|
||||
echo $(date +%s) > "${INSTALL_DIR}/core/.ua_last_update"
|
||||
|
||||
# 如果配置了联控,启动 Webhook 与战报任务
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
# 每天早上 8 点发送昨天的统计战报
|
||||
echo "0 8 * * * ${INSTALL_DIR}/core/tg_report.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
|
||||
# [v3.0.1新增修改 3: 删除原来的 curl 取 IP,直接使用我们上方锁定的 BIND_IP]
|
||||
# 并提前写入 IP 缓存,彻底阻断 agent_daemon 首次启动时的重复推送
|
||||
# [修复竞态]: 提前写入公网 IP 缓存,彻底阻断 agent_daemon 首次启动时的抢跑推送
|
||||
echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip"
|
||||
|
||||
# 双保险守护进程看门狗
|
||||
echo "@reboot nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> /tmp/cron_backup
|
||||
echo "* * * * * nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> /tmp/cron_backup
|
||||
|
||||
# 安装时立刻启动一次边缘守护进程
|
||||
nohup bash "${INSTALL_DIR}/core/agent_daemon.sh" >/dev/null 2>&1 &
|
||||
# 拉取热数据与词库
|
||||
curl -sL "${REPO_RAW_URL}/data/user_agents.txt" -o "${INSTALL_DIR}/data/user_agents.txt"
|
||||
if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
curl -sL "${REPO_RAW_URL}/data/keywords/${KEYWORD_FILE}" -o "${INSTALL_DIR}/data/keywords/${KEYWORD_FILE}"
|
||||
else
|
||||
# 升级模式:利用已有的 REGION_CODE 更新通用词库
|
||||
curl -sL "${REPO_RAW_URL}/data/keywords/kw_${REGION_CODE}.txt" -o "${INSTALL_DIR}/data/keywords/kw_${REGION_CODE}.txt" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
crontab /tmp/cron_backup
|
||||
rm -f /tmp/cron_backup
|
||||
# 7. 配置系统定时任务 (高频调度与看门狗)
|
||||
echo -e "\n[7/7] 正在注入系统守护进程与调度器..."
|
||||
|
||||
# [时钟同步核心] 获取部署时的绝对 UTC 时间锚点,用于打散全球节点的云端拉取并发
|
||||
DEPLOY_UTC_HOUR=$(date -u +%H)
|
||||
DEPLOY_UTC_MIN=$(date -u +%M)
|
||||
|
||||
# [v3.3.0 新增] 初始化 UA 指纹库更新时间戳,确立 30 天滚动周期的计算锚点 (强制 UTC)
|
||||
echo $(date -u +%s) > "${INSTALL_DIR}/core/.ua_last_update"
|
||||
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
echo "💡 检测到 Systemd 环境,正在部署原生守护服务..."
|
||||
|
||||
# 1. Runner 核心养护模块服务与定时器
|
||||
cat > /etc/systemd/system/ip-sentinel-runner.service << EOF
|
||||
[Unit]
|
||||
Description=IP-Sentinel Runner Service
|
||||
After=network.target
|
||||
[Service]
|
||||
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
SyslogIdentifier=ip-sentinel
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash ${INSTALL_DIR}/core/runner.sh
|
||||
User=root
|
||||
CPUSchedulingPolicy=idle
|
||||
IOSchedulingClass=idle
|
||||
EOF
|
||||
|
||||
cat > /etc/systemd/system/ip-sentinel-runner.timer << EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Runner Service
|
||||
[Timer]
|
||||
# [频率优化] 改用严格的 20 分钟步进,杜绝 OTA 瞬间的并发走火!
|
||||
OnCalendar=*:0/20
|
||||
RandomizedDelaySec=180
|
||||
Persistent=true
|
||||
Unit=ip-sentinel-runner.service
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOF
|
||||
|
||||
# 2. Updater 养料更新模块服务与定时器
|
||||
cat > /etc/systemd/system/ip-sentinel-updater.service << EOF
|
||||
[Unit]
|
||||
Description=IP-Sentinel Updater Service
|
||||
After=network.target
|
||||
[Service]
|
||||
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
SyslogIdentifier=ip-sentinel
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash ${INSTALL_DIR}/core/updater.sh
|
||||
User=root
|
||||
CPUSchedulingPolicy=idle
|
||||
IOSchedulingClass=idle
|
||||
EOF
|
||||
|
||||
cat > /etc/systemd/system/ip-sentinel-updater.timer << EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Updater Service
|
||||
[Timer]
|
||||
# [绝对 UTC 锚点] 每天精确在部署的时刻触发,实现全球请求的天然削峰
|
||||
OnCalendar=*-*-* ${DEPLOY_UTC_HOUR}:${DEPLOY_UTC_MIN}:00 UTC
|
||||
Persistent=true
|
||||
Unit=ip-sentinel-updater.service
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now ip-sentinel-runner.timer ip-sentinel-updater.timer
|
||||
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
# 3. TG 战报服务与定时器
|
||||
cat > /etc/systemd/system/ip-sentinel-report.service << EOF
|
||||
[Unit]
|
||||
Description=IP-Sentinel Telegram Report Service
|
||||
After=network.target
|
||||
[Service]
|
||||
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
SyslogIdentifier=ip-sentinel
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash ${INSTALL_DIR}/core/tg_report.sh
|
||||
User=root
|
||||
CPUSchedulingPolicy=idle
|
||||
IOSchedulingClass=idle
|
||||
EOF
|
||||
|
||||
cat > /etc/systemd/system/ip-sentinel-report.timer << EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Telegram Report Service
|
||||
[Timer]
|
||||
# [绝对 UTC 锚点] 全球统一:每天 UTC 16:00 准时向司令部发送战报
|
||||
OnCalendar=*-*-* 16:00:00 UTC
|
||||
Unit=ip-sentinel-report.service
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOF
|
||||
|
||||
# 4. [排雷修复] Agent Daemon Webhook 监听守护服务 (Type=simple, 常驻执行)
|
||||
cat > /etc/systemd/system/ip-sentinel-agent-daemon.service << EOF
|
||||
[Unit]
|
||||
Description=IP-Sentinel Agent Daemon Service
|
||||
After=network.target
|
||||
[Service]
|
||||
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
SyslogIdentifier=ip-sentinel
|
||||
Type=simple
|
||||
ExecStart=/bin/bash ${INSTALL_DIR}/core/agent_daemon.sh
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
User=root
|
||||
CPUSchedulingPolicy=idle
|
||||
IOSchedulingClass=idle
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送
|
||||
# 强制使用无参数 curl 裸奔探测,对齐 agent_daemon 的认知,防止双栈机型 IPv4/v6 认知错乱导致重启误报
|
||||
DAEMON_IP=$( (curl -s -m 5 api.ip.sb/ip || curl -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
|
||||
[ -n "$DAEMON_IP" ] && echo "$DAEMON_IP" > "${INSTALL_DIR}/core/.last_ip" || echo "$(echo "$SAFE_PUBLIC_IP" | tr -d '[]')" > "${INSTALL_DIR}/core/.last_ip"
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now ip-sentinel-report.timer
|
||||
systemctl enable --now ip-sentinel-agent-daemon.service
|
||||
fi
|
||||
else
|
||||
echo "💡 未检测到 Systemd,正在配置备用调度器 (兼容 Alpine/OpenRC)..."
|
||||
|
||||
# ==========================================
|
||||
# 🛑 智能环境嗅探: 判定是否为受限的 Alpine 容器环境
|
||||
# ==========================================
|
||||
IS_RESTRICTED_ALPINE="false"
|
||||
if [ -f /etc/alpine-release ]; then
|
||||
# 探测虚拟化类型:/proc/vz(OpenVZ), environ包含lxc(LXC), /.dockerenv(Docker)
|
||||
if [ -d /proc/vz ] || grep -qa container=lxc /proc/1/environ 2>/dev/null || [ -f /.dockerenv ]; then
|
||||
IS_RESTRICTED_ALPINE="true"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$IS_RESTRICTED_ALPINE" == "true" ]; then
|
||||
echo -e "⚠️ 探测到受限的 LXC/OpenVZ Alpine 环境,系统自带 Cron 极易假死。"
|
||||
echo -e "🔧 自动降维打击:启用 [自定义高可用死循环调度器] 接管全局任务..."
|
||||
|
||||
# 1. 禁用原有的 Cron 大管家 (防止冲突)
|
||||
rc-update del crond default >/dev/null 2>&1 || true
|
||||
rc-service crond stop >/dev/null 2>&1 || true
|
||||
pkill -9 crond >/dev/null 2>&1 || true
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_clean" || true
|
||||
[ -f "${SECURE_TMP}/cron_clean" ] && crontab "${SECURE_TMP}/cron_clean" >/dev/null 2>&1
|
||||
rm -f "${SECURE_TMP}/cron_clean"
|
||||
|
||||
# 2. 写入我们的死循环守护进程
|
||||
# [极客修复] 将 << 'EOF' 变为 << EOF,以允许在安装时将部署时刻的 DEPLOY_UTC 变量作为硬编码注入脚本中
|
||||
cat > ${INSTALL_DIR}/core/sentinel_scheduler.sh << EOF
|
||||
#!/bin/bash
|
||||
while true; do
|
||||
# 强制获取绝对 UTC 时分,免疫系统错误时区
|
||||
MIN=\$(date -u +%M)
|
||||
HOUR=\$(date -u +%H)
|
||||
# [频率优化] 匹配 20 分钟步进 (00, 20, 40)
|
||||
if [ "\$MIN" == "00" ] || [ "\$MIN" == "20" ] || [ "\$MIN" == "40" ]; then
|
||||
/bin/bash /opt/ip_sentinel/core/runner.sh >/dev/null 2>&1
|
||||
fi
|
||||
# [绝对 UTC 锚点] 基于部署时刻的锚点触发热数据更新,天然并发削峰
|
||||
if [ "\$HOUR" == "${DEPLOY_UTC_HOUR}" ] && [ "\$MIN" == "${DEPLOY_UTC_MIN}" ]; then
|
||||
/bin/bash /opt/ip_sentinel/core/updater.sh >/dev/null 2>&1
|
||||
fi
|
||||
# [绝对 UTC 锚点] 统一 UTC 16:00 发送战报
|
||||
if [ "\$HOUR" == "16" ] && [ "\$MIN" == "00" ]; then
|
||||
/bin/bash /opt/ip_sentinel/core/tg_report.sh >/dev/null 2>&1
|
||||
fi
|
||||
if ! pgrep -f 'webhook.py' >/dev/null; then
|
||||
/bin/bash /opt/ip_sentinel/core/agent_daemon.sh >/dev/null 2>&1 &
|
||||
fi
|
||||
sleep 60
|
||||
done
|
||||
EOF
|
||||
chmod +x ${INSTALL_DIR}/core/sentinel_scheduler.sh
|
||||
|
||||
# 3. 写入 OpenRC 开机自启
|
||||
if command -v rc-update >/dev/null 2>&1 && [ -d "/etc/local.d" ]; then
|
||||
echo "nohup bash ${INSTALL_DIR}/core/sentinel_scheduler.sh >/dev/null 2>&1 &" > /etc/local.d/ip_sentinel_scheduler.start
|
||||
chmod +x /etc/local.d/ip_sentinel_scheduler.start
|
||||
rc-update add local default >/dev/null 2>&1
|
||||
else
|
||||
# 连 OpenRC 都没有的极端环境,写入 profile 兜底
|
||||
grep -q "sentinel_scheduler" /etc/profile || echo "nohup bash ${INSTALL_DIR}/core/sentinel_scheduler.sh >/dev/null 2>&1 &" >> /etc/profile
|
||||
fi
|
||||
|
||||
# 4. 立即后台启动
|
||||
[ -n "$PUBLIC_IP" ] && echo "$PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip"
|
||||
nohup bash ${INSTALL_DIR}/core/sentinel_scheduler.sh >/dev/null 2>&1 &
|
||||
|
||||
else
|
||||
# ==========================================
|
||||
# 🟢 走常规调度路线 (正常的 Linux 或 KVM 型 Alpine)
|
||||
# ==========================================
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > "${SECURE_TMP}/cron_backup" || true
|
||||
# [频率优化] 调整为 */20
|
||||
echo "*/20 * * * * ${INSTALL_DIR}/core/runner.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
|
||||
# [绝对 UTC 锚点] 每天精确在部署的 UTC 时刻触发
|
||||
echo "${DEPLOY_UTC_MIN} ${DEPLOY_UTC_HOUR} * * * ${INSTALL_DIR}/core/updater.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
|
||||
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
# [绝对 UTC 锚点] 统一 UTC 16:00
|
||||
echo "0 16 * * * ${INSTALL_DIR}/core/tg_report.sh >/dev/null 2>&1" >> "${SECURE_TMP}/cron_backup"
|
||||
echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip"
|
||||
# [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送
|
||||
# 强制使用无参数 curl 裸奔探测,对齐 agent_daemon 的认知,防止双栈机型 IPv4/v6 认知错乱导致重启误报
|
||||
DAEMON_IP=$( (curl -s -m 5 api.ip.sb/ip || curl -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
|
||||
[ -n "$DAEMON_IP" ] && echo "$DAEMON_IP" > "${INSTALL_DIR}/core/.last_ip" || echo "$(echo "$SAFE_PUBLIC_IP" | tr -d '[]')" > "${INSTALL_DIR}/core/.last_ip"
|
||||
|
||||
if command -v rc-update >/dev/null 2>&1 && [ -d "/etc/local.d" ]; then
|
||||
echo "nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" > /etc/local.d/ip_sentinel.start
|
||||
chmod +x /etc/local.d/ip_sentinel.start
|
||||
rc-update add local default >/dev/null 2>&1
|
||||
else
|
||||
echo "@reboot nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> "${SECURE_TMP}/cron_backup"
|
||||
fi
|
||||
|
||||
echo "* * * * * pgrep -f 'webhook.py' >/dev/null || nohup bash ${INSTALL_DIR}/core/agent_daemon.sh >/dev/null 2>&1 &" >> "${SECURE_TMP}/cron_backup"
|
||||
|
||||
nohup bash "${INSTALL_DIR}/core/agent_daemon.sh" >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
[ -f "${SECURE_TMP}/cron_backup" ] && crontab "${SECURE_TMP}/cron_backup" >/dev/null 2>&1
|
||||
|
||||
if [ -d "/etc/crontabs" ] && [ -f "/var/spool/cron/crontabs/root" ]; then
|
||||
cp -f /var/spool/cron/crontabs/root /etc/crontabs/root 2>/dev/null || true
|
||||
chmod 600 /etc/crontabs/root 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if command -v rc-service >/dev/null 2>&1; then
|
||||
rc-service crond restart >/dev/null 2>&1 || crond -b >/dev/null 2>&1
|
||||
else
|
||||
pkill -9 crond 2>/dev/null || true
|
||||
crond -b >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
rm -f "${SECURE_TMP}/cron_backup"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ================== [v3.4.0 核心: 状态机驱动的热更新路由] ==================
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
|
||||
# [v3.5.2 核心] 发送携带双轨身份的注册指令 (追加 NODE_ALIAS 作为第 6 个字段)
|
||||
REG_MSG="#REGISTER#|${REGION_CODE}|${NODE_NAME}|${SAFE_PUBLIC_IP}|${AGENT_PORT}|${NODE_ALIAS}"
|
||||
# [v3.6.0 核心] 发送携带全套身份属性的注册指令 (追加 ENABLE_OTA 作为第 7 个字段)
|
||||
REG_MSG="#REGISTER#|${REGION_CODE}|${NODE_NAME}|${SAFE_PUBLIC_IP}|${AGENT_PORT}|${NODE_ALIAS}|${ENABLE_OTA}"
|
||||
|
||||
if [ "$UPGRADE_MODE" == "true" ]; then
|
||||
# 读取本地老版本号,如果没有则视为远古版本 v3.3.1
|
||||
@@ -572,31 +934,34 @@ if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
[ -z "$OLD_VERSION" ] && OLD_VERSION="3.3.1"
|
||||
|
||||
# [路由表 1]: 跨代兼容 (老版本 < v3.3.2)
|
||||
# 必须强制下发带有 #REGISTER# 的警告,引导长官重新同步哈希身份
|
||||
if version_lt "$OLD_VERSION" "3.3.2"; then
|
||||
echo -e "\n📡 [路由枢纽] 正在执行跨代架构重组 (v${OLD_VERSION} -> v${TARGET_VERSION})..."
|
||||
curl -s -X POST "${TG_API_URL}" \
|
||||
-d "chat_id=${CHAT_ID}" \
|
||||
-d "parse_mode=Markdown" \
|
||||
-d "text=✨ *IP-Sentinel 引擎热更新完成!*
|
||||
TEXT_MSG="✨ *IP-Sentinel 引擎热更新完成!*
|
||||
📍 节点:\`${NODE_ALIAS}\`
|
||||
🌐 IP:\`${SAFE_PUBLIC_IP}\`
|
||||
🚀 状态:v${TARGET_VERSION} OTA 动态活体引擎已部署
|
||||
|
||||
⚠️ *战区架构已重组,请务必点击下方指令并发送,以同步新的防撞档案:*
|
||||
\`${REG_MSG}\`" >/dev/null 2>&1
|
||||
\`${REG_MSG}\`"
|
||||
|
||||
# [v4.0.3 体验升级] 注入交互式控制台按钮
|
||||
JSON_PAYLOAD=$(jq -n --arg cid "$CHAT_ID" --arg txt "$TEXT_MSG" --arg cb "manage:${NODE_NAME}" '{chat_id: $cid, text: $txt, parse_mode: "Markdown", reply_markup: {inline_keyboard: [[{text: "⚙️ 调出该节点控制台", callback_data: $cb}]]}}')
|
||||
curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD" >/dev/null 2>&1
|
||||
|
||||
echo -e "\033[32m✅ 升级通知已推送!请前往 TG 点击注册指令完成身份同步!\033[0m"
|
||||
|
||||
# [路由表 2]: 现代静默升级 (老版本 >= v3.3.2)
|
||||
else
|
||||
echo -e "\n📡 [路由枢纽] 正在执行静默平滑升级 (v${OLD_VERSION} -> v${TARGET_VERSION})..."
|
||||
curl -s -X POST "${TG_API_URL}" \
|
||||
-d "chat_id=${CHAT_ID}" \
|
||||
-d "parse_mode=Markdown" \
|
||||
-d "text=✨ *IP-Sentinel 引擎热更新完成!*
|
||||
TEXT_MSG="✨ *IP-Sentinel 引擎热更新完成!*
|
||||
📍 节点:\`${NODE_ALIAS}\`
|
||||
🌐 IP:\`${SAFE_PUBLIC_IP}\`
|
||||
🚀 状态:v${TARGET_VERSION} OTA 动态活体引擎已部署" >/dev/null 2>&1
|
||||
🚀 状态:v${TARGET_VERSION} OTA 动态活体引擎已部署"
|
||||
|
||||
# [v4.0.3 体验升级] 注入交互式控制台按钮
|
||||
JSON_PAYLOAD=$(jq -n --arg cid "$CHAT_ID" --arg txt "$TEXT_MSG" --arg cb "manage:${NODE_NAME}" '{chat_id: $cid, text: $txt, parse_mode: "Markdown", reply_markup: {inline_keyboard: [[{text: "⚙️ 调出该节点控制台", callback_data: $cb}]]}}')
|
||||
curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD" >/dev/null 2>&1
|
||||
|
||||
echo -e "\033[32m✅ 升级成功通知已推送到您的 Telegram!\033[0m"
|
||||
fi
|
||||
|
||||
@@ -611,16 +976,17 @@ if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
else
|
||||
# [全新安装路由]
|
||||
echo -e "\n📡 正在向指挥部发送注册暗号..."
|
||||
PUSH_RESULT=$(curl -s -X POST "${TG_API_URL}" \
|
||||
-d "chat_id=${CHAT_ID}" \
|
||||
-d "parse_mode=Markdown" \
|
||||
-d "text=✨ *IP-Sentinel 部署成功!*
|
||||
TEXT_MSG="✨ *IP-Sentinel 部署成功!*
|
||||
📍 区域:${REGION_NAME}
|
||||
🌐 IP:${SAFE_PUBLIC_IP}
|
||||
🔌 端口:${AGENT_PORT}
|
||||
|
||||
🔑 *请点击下方指令复制并回复给机器人:*
|
||||
\`${REG_MSG}\`")
|
||||
\`${REG_MSG}\`"
|
||||
|
||||
# [v4.0.3 体验升级] 注入交互式控制台按钮
|
||||
JSON_PAYLOAD=$(jq -n --arg cid "$CHAT_ID" --arg txt "$TEXT_MSG" --arg cb "manage:${NODE_NAME}" '{chat_id: $cid, text: $txt, parse_mode: "Markdown", reply_markup: {inline_keyboard: [[{text: "⚙️ 调出该节点控制台", callback_data: $cb}]]}}')
|
||||
PUSH_RESULT=$(curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD")
|
||||
|
||||
if echo "$PUSH_RESULT" | grep -q '"ok":true'; then
|
||||
echo -e "\033[32m✅ 注册信息已推送到您的 Telegram,请按指令完成最终激活!\033[0m"
|
||||
@@ -638,7 +1004,7 @@ else
|
||||
echo "🎉 边缘节点 (Agent) 部署流程彻底完成!"
|
||||
fi
|
||||
echo "📍 你的本地守护区域已锁定为: $REGION_NAME"
|
||||
echo "⚙️ 哨兵现已开启 [每30分钟] 的高频高拟真养护循环。"
|
||||
echo "⚙️ 哨兵现已开启 [每20分钟] 的高频高拟真养护循环。"
|
||||
if [[ -n "$TG_TOKEN" ]]; then
|
||||
echo "📡 Webhook 监听已启动 (端口: $AGENT_PORT) 并向中枢发送了注册请求。"
|
||||
|
||||
@@ -657,9 +1023,11 @@ if [[ -n "$TG_TOKEN" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\033[33m⚠️ 警告:请务必确保本机及云服务商安全组放行了 TCP $AGENT_PORT 端口!\033[0m"
|
||||
echo -e "\n\033[31m⚠️ 【高危警告】您的节点身份已永久锁定为公网 IP: $SAFE_PUBLIC_IP\033[0m"
|
||||
echo -e "\033[33m为确保 Master 司令部能够成功下发指令,您【必须】前往云服务商 (如 AWS/Oracle/阿里云 等) 的网页控制台中,将安全组 (Security Group) 防火墙的 TCP $AGENT_PORT 端口彻底放行!\033[0m"
|
||||
echo -e "\033[31m⛔ 禁止尝试通过修改脚本强行绑定局域网/内网 IP 来绕过通信阻断,这无异于掩耳盗铃,将彻底摧毁本系统“公网IP信用养护”的核心目标!\033[0m\n"
|
||||
if [ -n "$FW_MSG" ]; then
|
||||
echo "💡 检测到本地防火墙开启,您可以尝试执行以下命令放行:"
|
||||
echo "💡 检测到本地系统防火墙开启,您可以尝试执行以下命令放行本机端口 (注意: 云端安全组仍需您手动放行):"
|
||||
echo -e "\033[36m $FW_MSG\033[0m"
|
||||
fi
|
||||
# ====================================================================
|
||||
@@ -668,12 +1036,21 @@ echo "🗑️ 若未来需卸载,可重新运行本脚本选择[2]或执行: b
|
||||
echo "========================================================"
|
||||
|
||||
# ================== [v3.1.2 新增: 玻璃房透明装机统计] ==================
|
||||
echo -e "\n📡 正在向开源社区汇报装机量 (完全匿名,不收集IP)..."
|
||||
AGENT_COUNT=$(curl -s -m 3 "https://ip-sentinel-count.samanthaestime296.workers.dev/ping/agent" || echo "")
|
||||
# [修复] 仅在全新部署时触发统计,平滑升级/OTA 时绝对不触发,防止配额耗尽与数据注水
|
||||
if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
echo -e "\n📡 正在向开源社区汇报装机量 (完全匿名,不收集IP)..."
|
||||
AGENT_COUNT=$(curl -s -m 3 "https://ip-sentinel-count.samanthaestime296.workers.dev/ping/agent" || echo "")
|
||||
|
||||
if [ -n "$AGENT_COUNT" ] && [[ "$AGENT_COUNT" =~ ^[0-9]+$ ]]; then
|
||||
echo -e "\033[32m✅ 感谢您成为全球第 ${AGENT_COUNT} 名 IP-Sentinel 哨兵!\033[0m"
|
||||
else
|
||||
echo -e "\033[32m✅ 感谢您加入 IP-Sentinel 哨兵阵列!\033[0m"
|
||||
if [ -n "$AGENT_COUNT" ] && [[ "$AGENT_COUNT" =~ ^[0-9]+$ ]]; then
|
||||
echo -e "\033[32m✅ 感谢您成为全球第 ${AGENT_COUNT} 名 IP-Sentinel 节点维护者!\033[0m"
|
||||
else
|
||||
echo -e "\033[32m✅ 感谢您部署 IP-Sentinel!\033[0m"
|
||||
fi
|
||||
fi
|
||||
echo -e "\n"
|
||||
|
||||
# ================== [新增: 安装成功高光时刻 Star 引导] ==================
|
||||
echo -e "\n========================================================"
|
||||
echo -e "⭐ \033[33m开源不易,如果 IP-Sentinel 提升了您的节点稳定性,请赐予我们一枚星标!\033[0m"
|
||||
echo -e "💡 \033[32m您的每一颗 Star 都是我们持续对抗风控、维护更新指纹库的核心动力。\033[0m"
|
||||
echo -e "👉 \033[36m\033[4m\033]8;;https://github.com/hotyue/IP-Sentinel\033\\点击此处直达 GitHub 仓库点亮 Star 🌟\033[0m\033]8;;\033\\"
|
||||
echo -e "========================================================\n"
|
||||
|
||||
@@ -22,9 +22,21 @@ if ! type log >/dev/null 2>&1; then
|
||||
# [v3.4.0 核心] 提取当前配置中的版本锚点
|
||||
local local_ver="${AGENT_VERSION:-未知}"
|
||||
|
||||
# 保证日志目录存在
|
||||
mkdir -p "${INSTALL_DIR}/logs"
|
||||
# 统一日志格式,注入 [版本号] 追踪标识
|
||||
printf "[$(date '+%Y-%m-%d %H:%M:%S')] [v%-5s] [%-5s] [%-7s] [%s] %s\n" "$local_ver" "$2" "$1" "$REGION_CODE" "$3" >> "${INSTALL_DIR}/logs/sentinel.log"
|
||||
|
||||
# 日志格式注入 [版本号] 追踪标识
|
||||
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3")
|
||||
# [时区对齐] 强制无视本地时区,以绝对 UTC 时间写入日志
|
||||
echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] $core_msg" >> "${INSTALL_DIR}/logs/sentinel.log"
|
||||
|
||||
# 强制推送到 Systemd Journal (如果系统支持)
|
||||
if command -v logger >/dev/null 2>&1; then
|
||||
logger -t ip-sentinel "$core_msg"
|
||||
else
|
||||
# 降级输出到 stdout,让 Systemd 捕获
|
||||
echo "$core_msg"
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -82,8 +94,8 @@ fi
|
||||
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}..."
|
||||
@@ -97,14 +109,21 @@ CURL_BIND_OPT=""
|
||||
DYNAMIC_IP_PREF="-${IP_PREF:-4}" # 默认提取用户配置
|
||||
|
||||
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
# 智能探测:带冒号为 V6,带点号为 V4
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
log "$MODULE_NAME" "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
log "$MODULE_NAME" "INFO " "底层路由锁定: 绑定 IPv4 出口及协议 ($BIND_IP)"
|
||||
# [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
|
||||
log "$MODULE_NAME" "WARN " "检测到配置的出口 IP ($RAW_BIND_IP) 已丢失,自动降级为系统默认路由出网!"
|
||||
CURL_BIND_OPT=""
|
||||
else
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
# 智能探测:带冒号为 V6,带点号为 V4
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
log "$MODULE_NAME" "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
log "$MODULE_NAME" "INFO " "底层路由锁定: 绑定 IPv4 出口及协议 ($BIND_IP)"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -143,53 +162,134 @@ for ((i=1; i<=TOTAL_ACTIONS; i++)); do
|
||||
|
||||
log "$MODULE_NAME" "EXEC " "动作[$i/$TOTAL_ACTIONS]完成 | HTTP状态: $CODE | 抖动坐标: $ACTION_LAT, $ACTION_LON"
|
||||
|
||||
# 【核心升级】行为拉伸:每次动作后强制休眠 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
|
||||
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)
|
||||
# --- [结果纠偏自检 (V4.0.9 终极三核雷达: URL跳转 + Premium + Music)] ---
|
||||
# 战术揭秘:汲取开源社区顶级探针的精髓!
|
||||
# 1. 传统 URL 跳转探测:捕捉 www.google.com 底层 302 重定向域名的真实归属。
|
||||
# 2. YT Premium 深度探测:提取核心 contentRegion 变量,并强匹配 www.google.cn 送中特征。
|
||||
# 3. 严格一致性校验:任何一端出现非预期偏移,立即判定为漂移,彻底消除虚假“成功”。
|
||||
|
||||
# 分离状态码与 URL
|
||||
PROBE_CODE=$(echo "$PROBE_RESULT" | cut -d'|' -f1)
|
||||
FINAL_URL=$(echo "$PROBE_RESULT" | cut -d'|' -f2)
|
||||
log "$MODULE_NAME" "INFO " "启动三核交叉验证 (URL跳转 + YT Premium + YT Music) 穿透获取 GeoIP..."
|
||||
|
||||
# 0. 致命拦截:网络断开、DNS 解析失败或严重超时
|
||||
if [ "$PROBE_CODE" == "000" ] || [ -z "$FINAL_URL" ]; then
|
||||
STATUS="🚨 探针失效 (网络阻断或底层路由异常)"
|
||||
# 核心 1: 传统 URL 跳转探测 (请求 www 才能触发准确跳转)
|
||||
JUMP_HDR=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -sI "http://www.google.com/")
|
||||
JUMP_LOC=$(echo "$JUMP_HDR" | grep -i "^location:" | tr -d '\r\n')
|
||||
JUMP_GL=""
|
||||
|
||||
if [ -z "$JUMP_LOC" ]; then
|
||||
# 无跳转 (HTTP 200) 通常意味着原生被定位于 US
|
||||
JUMP_GL="US"
|
||||
elif [[ "$JUMP_LOC" == *".google.cn"* ]] || [[ "$JUMP_LOC" == *"gl=CN"* ]]; then
|
||||
JUMP_GL="CN"
|
||||
elif [[ "$JUMP_LOC" == *"gl="* ]]; then
|
||||
JUMP_GL=$(echo "$JUMP_LOC" | grep -o 'gl=[A-Za-z]\{2\}' | head -n 1 | cut -d'=' -f2 | tr 'a-z' 'A-Z')
|
||||
else
|
||||
# 核心战术:精准提取最终 URL 的域名部分
|
||||
ACTUAL_DOMAIN=$(echo "$FINAL_URL" | awk -F/ '{print $3}')
|
||||
|
||||
# [V3.2.1 优化] 使用通配符 * 剔除任意前缀 (无论是 www.google. 还是 ipv4.google.)
|
||||
ACTUAL_SUFFIX=${ACTUAL_DOMAIN#*google.}
|
||||
# 从域名中提取区域后缀 (如 .co.jp -> JP, .com.hk -> HK, .de -> DE)
|
||||
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="" ;;
|
||||
*)
|
||||
# 提取标准两字母后缀 (.de, .fr, .nl)
|
||||
LAST_EXT=$(echo "$JUMP_DOMAIN" | awk -F'.' '{print $NF}' | tr 'a-z' 'A-Z')
|
||||
if [ ${#LAST_EXT} -eq 2 ]; then
|
||||
JUMP_GL="$LAST_EXT"
|
||||
else
|
||||
JUMP_GL="US"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# 1. 优先验证:绝对匹配目标后缀 (彻底杜绝 com 包含于 com.hk 的陷阱)
|
||||
if [ "$ACTUAL_SUFFIX" == "$VALID_URL_SUFFIX" ]; then
|
||||
STATUS="✅ 目标区域达成 ($ACTUAL_SUFFIX)"
|
||||
# 核心 2: YouTube Premium 探测
|
||||
YT_PR_GL=""
|
||||
# [修复] 必须带上本轮循环的专属 UA (-A "$SESSION_UA"),防止被 Google CDN 丢进无状态爬虫兜底页
|
||||
YT_PR_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L -A "$SESSION_UA" "https://www.youtube.com/premium")
|
||||
if [[ "$YT_PR_HTML" == *"www.google.cn"* ]]; then
|
||||
YT_PR_GL="CN"
|
||||
else
|
||||
# 穷举风控变量提取
|
||||
YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"contentRegion":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
fi
|
||||
|
||||
# 2. 核心拦截:精准捕捉送中特征 (com.hk)
|
||||
elif [ "$ACTUAL_SUFFIX" == "com.hk" ]; then
|
||||
if [ "$REGION_CODE" == "HK" ]; then
|
||||
STATUS="✅ 目标区域达成 (HK 专属 com.hk)"
|
||||
# 核心 3: YouTube Music 探测
|
||||
YT_MU_GL=""
|
||||
# [修复] 同样加持 UA 装甲,强行唤出完整版前端框架
|
||||
YT_MU_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L -A "$SESSION_UA" "https://music.youtube.com/")
|
||||
if [[ "$YT_MU_HTML" == *"www.google.cn"* ]]; then
|
||||
YT_MU_GL="CN"
|
||||
else
|
||||
# [修复] Music 的核心配置变量是 INNERTUBE_CONTEXT_GL
|
||||
YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
fi
|
||||
|
||||
# [基准对齐] 提取配置大区 (兼容州级穿透),并修正英国的 ISO 代码
|
||||
TARGET_CC="${REGION_CODE%%-*}"
|
||||
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB"
|
||||
|
||||
# --- 终极审判逻辑 (以 YouTube 核心业务为主导,兼顾底层雷达权重) ---
|
||||
IS_CN=0
|
||||
VALID_PROBES=0
|
||||
|
||||
# 1. 扫描所有探针,统计有效性并执行“送中”一票否决
|
||||
for val in "$JUMP_GL" "$YT_PR_GL" "$YT_MU_GL"; do
|
||||
if [ -n "$val" ]; then
|
||||
((VALID_PROBES++))
|
||||
[ "$val" == "CN" ] && IS_CN=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $VALID_PROBES -eq 0 ]; then
|
||||
STATUS="🚨 探针失效 (三核全部熔断,可能遭严重风控拦截)"
|
||||
elif [ $IS_CN -eq 1 ]; then
|
||||
STATUS="❌ 严重高危!三核雷达判定 IP 已被中国大陆锁定 (送中)!"
|
||||
else
|
||||
# 2. 评估核心流媒体业务是否达标 (只要 YT_PR 或 YT_MU 其一达标,即视为成功)
|
||||
YT_MATCH=0
|
||||
[ "$YT_PR_GL" == "$TARGET_CC" ] && YT_MATCH=1
|
||||
[ "$YT_MU_GL" == "$TARGET_CC" ] && YT_MATCH=1
|
||||
|
||||
if [ $YT_MATCH -eq 1 ]; then
|
||||
# 3. 核心业务达标,进一步评估底层路由权重
|
||||
if [ -n "$JUMP_GL" ] && [ "$JUMP_GL" != "$TARGET_CC" ]; then
|
||||
# YT 解锁了,但基础跳转 IP 库漂移了 (降级为 ✅,但备注底层漂移)
|
||||
STATUS="✅ 目标区域达成 (YT主导成功, Jump副雷达漂移至 ${JUMP_GL}) | Prem: ${YT_PR_GL:-无} | Music: ${YT_MU_GL:-无}"
|
||||
else
|
||||
STATUS="❌ 严重漂移!判定为送中区 (实际跳往 $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)"
|
||||
# YouTube 流媒体核心未能解锁目标区域,宣判漂移
|
||||
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际 (Jump: ${JUMP_GL:-无} | Prem: ${YT_PR_GL:-无} | Music: ${YT_MU_GL:-无})"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
266
core/mod_quality.sh
Executable file
266
core/mod_quality.sh
Executable file
@@ -0,0 +1,266 @@
|
||||
#!/bin/bash
|
||||
# ==========================================================
|
||||
# IP-Sentinel: 深海声呐 (IP 质量全维异步检测模块 v4.0.0)
|
||||
# ==========================================================
|
||||
|
||||
source /opt/ip_sentinel/config.conf
|
||||
|
||||
# ==========================================
|
||||
# 1. 动态网络锚定与协议自适应 (专为多 IP / NAT 架构打造)
|
||||
# ==========================================
|
||||
DYNAMIC_IP_PREF="${IP_PREF:-4}"
|
||||
PROBE_ARGS=("-y" "-j" "-f") # 默认注入: 自动确认、JSON格式、明文无掩码IP
|
||||
|
||||
# 强壮正则:支持 V4, V6 以及带有 [] 护甲的 V6 (兼容多 IP 站群机)
|
||||
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
|
||||
# 恢复使用官方原生参数 -i,不再进行徒劳的底层劫持
|
||||
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,双栈 CDN 保底,外加文件防伪强校验)
|
||||
PROBE_SCRIPT="/opt/ip_sentinel/core/ip_probe.sh"
|
||||
|
||||
# [校验 1] 验证本地残留脚本是否损坏 (防止之前被墙或拦截返回了 HTML 报错页)
|
||||
if [ -f "$PROBE_SCRIPT" ] && ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
|
||||
rm -f "$PROBE_SCRIPT"
|
||||
fi
|
||||
|
||||
if [ ! -s "$PROBE_SCRIPT" ]; then
|
||||
# 🛡️ 首选防线: 严格遵守从 GitHub 官方主干拉取,捍卫纯净底线
|
||||
curl -sL -m 10 "https://raw.githubusercontent.com/xykt/IPQuality/main/ip.sh" -o "$PROBE_SCRIPT" 2>/dev/null
|
||||
|
||||
# 🚑 文件防伪校验: 如果纯 V6 无法解析 GitHub 返回了 HTML 报错页,剔除它!
|
||||
if ! grep -q "xykt" "$PROBE_SCRIPT" 2>/dev/null; then
|
||||
rm -f "$PROBE_SCRIPT" 2>/dev/null
|
||||
# 降级到双栈 CDN 节点兜底 (仅在 GitHub 彻底失效时启用)
|
||||
curl -sL -m 15 "https://IP.Check.Place" -o "$PROBE_SCRIPT" 2>/dev/null
|
||||
fi
|
||||
chmod +x "$PROBE_SCRIPT" 2>/dev/null
|
||||
fi
|
||||
|
||||
# ==========================================
|
||||
# 3. 极速预检与容灾打靶系统
|
||||
# ==========================================
|
||||
|
||||
# 封装链路预检函数 (4秒极速探路,拒绝死等)
|
||||
preflight_check() {
|
||||
local curl_args=("-s" "-m" "4")
|
||||
# 提取网卡和协议约束
|
||||
for ((i=1; i<=$#; i++)); do
|
||||
if [[ "${!i}" == "-i" ]]; then
|
||||
local next=$((i+1))
|
||||
curl_args+=("--interface" "${!next}")
|
||||
elif [[ "${!i}" == "-4" ]]; then
|
||||
curl_args+=("-4")
|
||||
elif [[ "${!i}" == "-6" ]]; then
|
||||
curl_args+=("-6")
|
||||
fi
|
||||
done
|
||||
# 验证该路由设置是否能成功连通外部网络
|
||||
curl "${curl_args[@]}" "https://www.cloudflare.com/cdn-cgi/trace" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 📡 寻路雷达:测定哪一组参数可以走通
|
||||
FINAL_ARGS=()
|
||||
if preflight_check "${PROBE_ARGS[@]}"; then
|
||||
# 阶梯 0: 原定参数 (带 BIND_IP 和协议) 通畅
|
||||
FINAL_ARGS=("${PROBE_ARGS[@]}")
|
||||
else
|
||||
# 阶梯 1: 剥离物理网卡限制,只保留协议限制
|
||||
FALLBACK_ARGS=("-y" "-j" "-${DYNAMIC_IP_PREF}")
|
||||
if preflight_check "${FALLBACK_ARGS[@]}"; then
|
||||
FINAL_ARGS=("${FALLBACK_ARGS[@]}")
|
||||
else
|
||||
# 阶梯 2: 终极裸跑 (不限网卡,不限协议)
|
||||
FINAL_ARGS=("-y" "-j")
|
||||
fi
|
||||
fi
|
||||
|
||||
# ==========================================
|
||||
# 4. 终极实弹打靶
|
||||
# ==========================================
|
||||
|
||||
# 此时 FINAL_ARGS 已经被证实是连通的,我们只执行 1 次 ip.sh
|
||||
# 将超时放宽至 300 秒,给第三方 API (如 ipregistry) 充足的响应时间
|
||||
RAW_OUTPUT=$(timeout 300 bash "$PROBE_SCRIPT" "${FINAL_ARGS[@]}" 2>/dev/null)
|
||||
JSON_DATA="{${RAW_OUTPUT#*\{}"
|
||||
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
|
||||
curl -s -X POST "${TG_API_URL}" \
|
||||
-d "chat_id=${CHAT_ID}" \
|
||||
-d "parse_mode=Markdown" \
|
||||
-d "text=❌ *深海声呐探测失败*
|
||||
📍 节点:\`${NODE_ALIAS}\`
|
||||
🌐 锁定IP:\`${PUBLIC_IP}\`
|
||||
⚠️ *未收到有效回波。检测源超时或数据解析受阻。*" >/dev/null
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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)
|
||||
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)
|
||||
|
||||
# [修复] 清洗 API 阻断返回的 null 值,保障面板整洁
|
||||
[ "$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 解锁指标 (带解锁类型)
|
||||
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" == *"机房"* ]] || [[ "$status" == *"待支持"* ]]; then
|
||||
# 捕捉 Netflix "仅自制"、ChatGPT "仅网页"、TikTok "机房" 等半残状态
|
||||
echo "🟡 ${status} ${reg}"
|
||||
elif [[ "$status" == *"屏蔽"* ]] || [[ "$status" == *"失败"* ]] || [[ "$status" == *"中国"* ]] || [[ "$status" == *"禁"* ]]; then
|
||||
# 捕捉 "屏蔽"、"失败"、"禁会员"、"中国"(送中)
|
||||
echo "🔴 ${status}"
|
||||
else
|
||||
echo "⚪ ${status}"
|
||||
fi
|
||||
}
|
||||
|
||||
NF_STAT=$(parse_media "Netflix")
|
||||
YT_STAT=$(parse_media "Youtube")
|
||||
DP_STAT=$(parse_media "DisneyPlus")
|
||||
TK_STAT=$(parse_media "TikTok")
|
||||
GPT_STAT=$(parse_media "ChatGPT")
|
||||
APV_STAT=$(parse_media "AmazonPrimeVideo")
|
||||
|
||||
# 提取原生 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=""
|
||||
# [修复] 官方 JSON 已经去除了方括号,直接匹配 CN 或者状态包含中国
|
||||
if [[ "$RAW_YT_REG" == "CN" ]] || [[ "$RAW_YT_STAT" == *"中国"* ]]; then
|
||||
# [修复] 采用 Bash 扩展转义 ($'...'),彻底解决直接打印 \n 字符的问题
|
||||
WARNING_MSG=$'\n🚨 **[高危] 该节点已被 Google 判定为中国大陆 (送中)!**\n'
|
||||
fi
|
||||
|
||||
# 7. 组装情报级 Markdown 战报
|
||||
# 提取本地运行态版本与生成时间戳
|
||||
LOCAL_VER="${AGENT_VERSION:-未知}"
|
||||
# [时区对齐] 深海声呐战报落款强制采用绝对 UTC 时间
|
||||
CURRENT_TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
|
||||
# [体验修复] 探针返回的 IP 带有星号掩码,强制使用中枢下发的真实 IP 拼接,以防直达链接失效!
|
||||
LINK_IP=$(echo "$PUBLIC_IP" | tr -d '[]')
|
||||
|
||||
REPORT="🎯 *IP-Sentinel 深海声呐报告*
|
||||
📍 节点:\`${NODE_ALIAS}\`
|
||||
🌐 地址:\`${IP_ADDR}\`${WARNING_MSG}
|
||||
|
||||
*🏢 物理身份与网络属性*
|
||||
\`AS${ASN}\` | \`${ORG}\`
|
||||
**定位:** \`${COUNTRY} - ${CITY}\`
|
||||
**属性:** \`${IP_TYPE}\` | \`${USAGE_TYPE}\`
|
||||
**探针:** ${IS_PROXY}
|
||||
|
||||
*🛡️ 欺诈雷达 (0为最优)*
|
||||
• **Scamalytics:** \`${SCAM_SCORE}/100\`
|
||||
• **AbuseIPDB:** \`${ABUSE_SCORE}/100\`
|
||||
• **IPQS:** \`${IPQS_SCORE}/100\`
|
||||
• **IP2Location:** \`${IP2L_SCORE}/100\`
|
||||
• **IPAPI 风险率:** \`${FRAUD_RISK}\`
|
||||
|
||||
*🎬 核心业务解锁*
|
||||
• **YouTube:** ${YT_STAT}
|
||||
• **Netflix:** ${NF_STAT}
|
||||
• **Disney+:** ${DP_STAT}
|
||||
• **PrimeVideo:** ${APV_STAT}
|
||||
• **TikTok:** ${TK_STAT}
|
||||
• **ChatGPT:** ${GPT_STAT}
|
||||
|
||||
*✉️ 邮局与污染度*
|
||||
• **25 端口出站:** ${P25_TEXT}
|
||||
• **DNS 污染库:** 严重 \`${DNS_BLACK}\` | 轻微 \`${DNS_MARK}\`
|
||||
|
||||
_👉 [🔍 详细信用图谱直达 (Scamalytics)](https://scamalytics.com/ip/${LINK_IP})_
|
||||
|
||||
⏱️ \`${CURRENT_TIME}\` | ⚙️ \`v${LOCAL_VER}\`"
|
||||
|
||||
# [修复] 剥离显示层的 N/A,确保传给 Master 趋势数据库的是纯数字 (无效则记为0)
|
||||
SAFE_SCAM_SCORE=$(echo "$SCAM_SCORE" | tr -cd '0-9')
|
||||
[ -z "$SAFE_SCAM_SCORE" ] && SAFE_SCAM_SCORE="0"
|
||||
|
||||
# [v4.0.2 扩容] 提取 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)
|
||||
|
||||
# [修复] 废除会导致中文 UTF-8 字节被劈裂(产生乱码 )的 awk 暴力截断。
|
||||
# 原始状态文本极短(如"解锁"、"屏蔽"、"US"),只需洗掉隐形换行符即可安全传输。
|
||||
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}"
|
||||
|
||||
# 8. 挂载内联键盘并直送指挥部
|
||||
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
|
||||
@@ -11,7 +11,7 @@ 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://git.94211762.xyz/hotyue/IP-Sentinel/raw/branch/main"
|
||||
# REPO_RAW_URL="https://raw.githubusercontent.com/hotyue/IP-Sentinel/v3.6.2-rc"
|
||||
|
||||
# 1. 基础环境校验
|
||||
[ ! -f "$CONFIG_FILE" ] && exit 1
|
||||
@@ -45,7 +45,8 @@ fi
|
||||
log_msg() {
|
||||
local TYPE=$1
|
||||
local MSG=$2
|
||||
local TIME=$(date "+%Y-%m-%d %H:%M:%S")
|
||||
# [时区对齐] 强制无视本地时区,以绝对 UTC 时间生成日志时间戳
|
||||
local TIME=$(date -u "+%Y-%m-%d %H:%M:%S UTC")
|
||||
# [v3.4.0 核心] 提取当前配置中的版本锚点
|
||||
local local_ver="${AGENT_VERSION:-未知}"
|
||||
|
||||
@@ -99,14 +100,21 @@ CURL_BIND_OPT=""
|
||||
DYNAMIC_IP_PREF="-${IP_PREF:-4}" # 默认提取用户配置
|
||||
|
||||
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
# 智能探测:带冒号为 V6,带点号为 V4
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
log_msg "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
log_msg "INFO " "底层路由锁定: 绑定 IPv4 出口及协议 ($BIND_IP)"
|
||||
# [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
|
||||
log_msg "WARN " "检测到配置的出口 IP ($RAW_BIND_IP) 已丢失,自动降级为系统默认路由出网!"
|
||||
CURL_BIND_OPT=""
|
||||
else
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
# 智能探测:带冒号为 V6,带点号为 V4
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
log_msg "INFO " "底层路由锁定: 绑定 IPv6 出口及协议 ($BIND_IP)"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
log_msg "INFO " "底层路由锁定: 绑定 IPv4 出口及协议 ($BIND_IP)"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -15,6 +15,14 @@ if [ ! -f "$CONFIG_FILE" ]; then
|
||||
fi
|
||||
source "$CONFIG_FILE"
|
||||
|
||||
# ================== [新增: 文件排他锁,防止并发重入引发内存雪崩] ==================
|
||||
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
|
||||
@@ -25,14 +33,24 @@ log() {
|
||||
|
||||
# 保证日志目录存在
|
||||
mkdir -p "${INSTALL_DIR}/logs"
|
||||
|
||||
# 日志格式注入 [版本号] 追踪标识
|
||||
printf "[$(date '+%Y-%m-%d %H:%M:%S')] [v%-5s] [%-5s] [%-7s] [%s] %s\n" "$local_ver" "$level" "$module" "$REGION_CODE" "$msg" >> "$LOG_FILE"
|
||||
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$level" "$module" "$REGION_CODE" "$msg")
|
||||
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 秒内,彻底打散全球并发请求
|
||||
# 配合每 20 分钟的调度周期,将随机休眠控制在 0 到 180 秒内,彻底打散全球并发请求
|
||||
if [ -t 1 ]; then
|
||||
log "SYSTEM" "INFO " "💻 检测到人工终端干预,跳过静默休眠,立即执行任务!"
|
||||
else
|
||||
@@ -73,7 +91,8 @@ fi
|
||||
if [ -n "$TARGET_MOD" ] && [ -x "${INSTALL_DIR}/core/${TARGET_MOD}" ]; then
|
||||
log "SYSTEM" "INFO" "命中触发条件,加载并执行子模块: ${MOD_NAME}"
|
||||
# 核心降耗逻辑:使用 nice -n 19 赋予进程最低 CPU 优先级,绝不抢占 VPS 正常业务的资源
|
||||
nice -n 19 bash "${INSTALL_DIR}/core/${TARGET_MOD}"
|
||||
# [安全修复] 注入 200>&-,强行关闭子进程对排他锁的继承权!防止子进程假死导致全局死锁
|
||||
nice -n 19 bash "${INSTALL_DIR}/core/${TARGET_MOD}" 200>&-
|
||||
else
|
||||
log "SYSTEM" "ERROR" "配置了模块 ${MOD_NAME},但未找到对应的可执行脚本: ${TARGET_MOD}"
|
||||
fi
|
||||
|
||||
@@ -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
|
||||
@@ -18,6 +18,22 @@ if [ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ================== [v4.0.8 核心: 防并发风暴与 60 秒冷却机制] ==================
|
||||
LOCK_FILE="${INSTALL_DIR}/core/.report_lock"
|
||||
if [ -f "$LOCK_FILE" ]; then
|
||||
LAST_RUN=$(cat "$LOCK_FILE" 2>/dev/null)
|
||||
NOW=$(date +%s)
|
||||
# 校验 LAST_RUN 是否为有效数字,并比对 60 秒冷却期
|
||||
if [[ "$LAST_RUN" =~ ^[0-9]+$ ]]; then
|
||||
if [ $((NOW - LAST_RUN)) -lt 60 ]; then
|
||||
echo "[$(date -u '+%Y-%m-%d %H:%M:%S UTC')] [v${AGENT_VERSION:-未知}] [WARN ] [Report ] [SYSTEM] ⚠️ 战报请求过于频繁,触发 60 秒防并发风暴拦截。" >> "${INSTALL_DIR}/logs/sentinel.log"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo $(date +%s) > "$LOCK_FILE"
|
||||
# ==============================================================================
|
||||
|
||||
# 2. 节点元数据抓取 (v3.2.2 协议自适应与多级容灾版)
|
||||
# [v3.5.2 核心: 引入双轨身份架构]
|
||||
if [ -z "$NODE_NAME" ]; then
|
||||
@@ -31,11 +47,17 @@ CURL_BIND_OPT=""
|
||||
DYNAMIC_IP_PREF="-${IP_PREF:-4}"
|
||||
|
||||
if [[ -n "$BIND_IP" && "$BIND_IP" =~ ^[0-9a-fA-F:\.]+$ ]]; then
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
# [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=""
|
||||
else
|
||||
CURL_BIND_OPT="--interface $BIND_IP"
|
||||
if [[ "$BIND_IP" == *":"* ]]; then
|
||||
DYNAMIC_IP_PREF="-6"
|
||||
elif [[ "$BIND_IP" == *"."* ]]; then
|
||||
DYNAMIC_IP_PREF="-4"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -78,19 +100,27 @@ else
|
||||
IP_TYPE="$ISP_INFO 🏠"
|
||||
fi
|
||||
|
||||
# 动态国旗
|
||||
case "$REGION_CODE" in
|
||||
"JP") FLAG="🇯🇵" ;;
|
||||
"US") FLAG="🇺🇸" ;;
|
||||
"DE") FLAG="🇩🇪" ;;
|
||||
"SG") FLAG="🇸🇬" ;;
|
||||
"HK") FLAG="🇭🇰" ;;
|
||||
"GB"|"UK") FLAG="🇬🇧" ;;
|
||||
# 动态国旗 (与中枢全视界雷达对齐)
|
||||
BASE_CC="${REGION_CODE%%-*}" # 兼容提取带有横杠的区域 (如 US-CA 提取为 US)
|
||||
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 小时的日志
|
||||
LOG_CONTENT=$(find "$LOG_FILE" -mtime -1 -exec cat {} \; 2>/dev/null)
|
||||
# 3. 截取过去 24 小时的日志 (每天72次轮询,保留最新 1000 行足以覆盖单日战报)
|
||||
LOG_CONTENT=$(tail -n 1000 "$LOG_FILE" 2>/dev/null)
|
||||
|
||||
if [ -z "$LOG_CONTENT" ]; then
|
||||
read -r -d '' MSG <<EOT
|
||||
@@ -156,8 +186,8 @@ else
|
||||
# 组装战报尾部 (最近快照)
|
||||
MSG="$MSG
|
||||
|
||||
🕒 **最近执行快照 [${LAST_MOD:-"System"}]:**
|
||||
时间: ${LAST_TIME:-"暂无数据"}
|
||||
🕒 **最近执行快照: \`${LAST_MOD:-"System"} \`**
|
||||
时间: ${LAST_TIME:-"暂无数据"} (节点本地)
|
||||
结论: ${LAST_SCORE:-"暂无数据"}"
|
||||
|
||||
fi
|
||||
@@ -167,37 +197,60 @@ fi
|
||||
# ==========================================
|
||||
# 从配置文件提取当前本地版本,若无则默认为未知
|
||||
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 推送 (接入安全网关)
|
||||
# 5. 调用 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"
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ==========================================================
|
||||
# 脚本名称: uninstall.sh (IP-Sentinel 一键卸载脚本 - 动态锚点版)
|
||||
# 核心功能: 无痕清理守护进程、定时任务、运行目录及临时缓存
|
||||
# ==========================================================
|
||||
|
||||
# ==========================================================
|
||||
# 🛑 核心权限防线: 检查是否以 root 权限运行
|
||||
# ==========================================================
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo -e "\033[31m❌ 权限被拒绝: 卸载 IP-Sentinel 需要最高系统权限。\033[0m"
|
||||
echo -e "💡 请切换到 root 用户 (执行 su root 或 sudo -i) 后重新运行指令。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INSTALL_DIR="/opt/ip_sentinel"
|
||||
|
||||
echo "========================================================"
|
||||
@@ -18,13 +26,33 @@ if [ -f "$CONFIG_FILE" ]; then
|
||||
fi
|
||||
echo "========================================================"
|
||||
|
||||
# 1. 停止运行中的守护进程与主控模块 (涵盖所有历史版本进程)
|
||||
echo "[1/3] 正在终止后台守护进程与所有养护任务..."
|
||||
# 1. 停止并删除 Systemd 服务 (适配新架构)
|
||||
echo "[1/4] 正在停止并删除 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 \
|
||||
ip-sentinel-agent-daemon.service >/dev/null 2>&1
|
||||
rm -f /etc/systemd/system/ip-sentinel-runner.service
|
||||
rm -f /etc/systemd/system/ip-sentinel-runner.timer
|
||||
rm -f /etc/systemd/system/ip-sentinel-updater.service
|
||||
rm -f /etc/systemd/system/ip-sentinel-updater.timer
|
||||
rm -f /etc/systemd/system/ip-sentinel-report.service
|
||||
rm -f /etc/systemd/system/ip-sentinel-report.timer
|
||||
rm -f /etc/systemd/system/ip-sentinel-agent-daemon.service
|
||||
systemctl daemon-reload
|
||||
systemctl reset-failed
|
||||
else
|
||||
echo "💡 未检测到 Systemd,跳过此步骤..."
|
||||
fi
|
||||
|
||||
# 使用 pkill 替代传统的 pgrep | xargs,指令更短、容错率更高
|
||||
# 2. 停止运行中的守护进程与主控模块 (兜底清理老版进程)
|
||||
echo "[2/4] 正在终止后台守护进程与所有养护任务..."
|
||||
pkill -9 -f "tg_daemon.sh" >/dev/null 2>&1
|
||||
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1
|
||||
# [v3.4.0 优化] 确保清理所有 python3 调起的 Webhook 实例
|
||||
pkill -9 -f "python3.*webhook.py" >/dev/null 2>&1
|
||||
pkill -9 -f "webhook.py" >/dev/null 2>&1
|
||||
pkill -9 -f "runner.sh" >/dev/null 2>&1
|
||||
@@ -32,25 +60,38 @@ 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
|
||||
|
||||
# 2. 清除系统定时任务 (Cron)
|
||||
echo "[2/3] 正在清理系统定时任务 (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
|
||||
# 3. 清除系统定时任务 (Cron)
|
||||
echo "[3/4] 正在清理系统定时任务 (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
|
||||
# 清理 OpenRC 开机启动项
|
||||
rm -f /etc/local.d/ip_sentinel.start 2>/dev/null
|
||||
rm -f /etc/local.d/ip_sentinel_scheduler.start 2>/dev/null
|
||||
|
||||
# 清理极端环境写在 /etc/profile 里的兜底启动项
|
||||
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
|
||||
|
||||
# 3. 删除所有文件、日志与临时缓存
|
||||
echo "[3/3] 正在抹除核心程序、配置文件与系统痕迹..."
|
||||
# 4. 删除所有文件、日志与临时缓存
|
||||
echo "[4/4] 正在抹除核心程序、配置文件与系统痕迹..."
|
||||
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 随机端口,请您按需手动关闭。"
|
||||
|
||||
@@ -11,6 +11,8 @@ 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
|
||||
@@ -23,9 +25,21 @@ log() {
|
||||
# [v3.4.0 核心] 提取当前配置中的版本锚点
|
||||
local local_ver="${AGENT_VERSION:-未知}"
|
||||
|
||||
# 保证日志目录存在
|
||||
mkdir -p "${INSTALL_DIR}/logs"
|
||||
|
||||
# 日志格式注入 [版本号] 追踪标识
|
||||
printf "[$(date '+%Y-%m-%d %H:%M:%S')] [v%-5s] [%-5s] [%-7s] [%s] %s\n" "$local_ver" "$2" "$1" "$REGION_CODE" "$3" >> "$LOG_FILE"
|
||||
local core_msg=$(printf "[v%-5s] [%-5s] [%-7s] [%s] %s" "$local_ver" "$2" "$1" "$REGION_CODE" "$3")
|
||||
# [时区对齐] 强制无视本地时区,以绝对 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
|
||||
}
|
||||
|
||||
log "Updater" "INFO " "========== 触发后台静默 OTA 热数据更新 =========="
|
||||
@@ -40,7 +54,12 @@ CURL_CMD="curl -${IP_PREF:-4} -sL"
|
||||
if [ -n "$BIND_IP" ]; then
|
||||
# curl 的 --interface 参数不支持带方括号的 IPv6 地址,必须强行脱壳
|
||||
RAW_BIND_IP=$(echo "$BIND_IP" | tr -d '[]')
|
||||
CURL_CMD="$CURL_CMD --interface $RAW_BIND_IP"
|
||||
# [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
|
||||
CURL_CMD="$CURL_CMD --interface $RAW_BIND_IP"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ==========================================================
|
||||
@@ -115,6 +134,22 @@ if [ -n "$REGION_JSON_FILE" ] && [ -f "$REGION_JSON_FILE" ]; then
|
||||
fi
|
||||
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"
|
||||
|
||||
# 🛡️ 供应链防毒:验证脚本内是否包含原作者特有签名,防止被墙重定向为 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 行)
|
||||
# ==========================================================
|
||||
|
||||
127
data/keywords/kw_AE.txt
Normal file
127
data/keywords/kw_AE.txt
Normal file
@@ -0,0 +1,127 @@
|
||||
محكمة
|
||||
uae eid al adha flights
|
||||
eid
|
||||
nepal vs usa
|
||||
kyle busch
|
||||
nba scores
|
||||
knicks vs cavaliers
|
||||
ثمانيه
|
||||
الاتحاد ضد القادسية
|
||||
ثمانية
|
||||
تكبيرات العيد
|
||||
خبر
|
||||
thunder vs spurs
|
||||
lottery
|
||||
emirates tel aviv proposal
|
||||
santos vs san lorenzo
|
||||
nvidia earnings
|
||||
the boys
|
||||
nvidia stock
|
||||
nvidia
|
||||
taijul islam
|
||||
muhammad rizwan
|
||||
10th result 2026
|
||||
scotland vs usa
|
||||
thomas massie
|
||||
whatsapp
|
||||
spurs
|
||||
eli junior kroupi
|
||||
etihad rail
|
||||
babar azam
|
||||
shan masood
|
||||
isnr
|
||||
good morning
|
||||
ipl 2026 schedule
|
||||
nba games today
|
||||
epl table
|
||||
three-language formula
|
||||
kerala ministers list 2026
|
||||
الف
|
||||
sco vs nep
|
||||
trump iran
|
||||
aaron rai
|
||||
dubai
|
||||
pistons vs cavaliers
|
||||
मौसम
|
||||
bangladesh vs pakistan
|
||||
വിപണി
|
||||
ronda rousey
|
||||
موعد اذان الفجر
|
||||
filgoal
|
||||
charlotte tilbury
|
||||
dhurandhar
|
||||
الهند
|
||||
eurovision
|
||||
donald trump
|
||||
usa vs nep
|
||||
icc
|
||||
timberwolves vs spurs
|
||||
cavaliers vs pistons
|
||||
fa cup
|
||||
بنيامين نتنياهو
|
||||
mohamed salah
|
||||
swatch x ap
|
||||
കൊക്കെയ്ന്
|
||||
cat
|
||||
ओमान
|
||||
games
|
||||
sslc result 2026
|
||||
shapoor zadran
|
||||
karuppu movie review
|
||||
x
|
||||
real madrid
|
||||
iceman
|
||||
رئيس مصر
|
||||
live cricket score
|
||||
saudi arabia
|
||||
copa do brasil
|
||||
changpeng zhao
|
||||
premier league table
|
||||
india gold import duty hike
|
||||
cincinnati vs inter miami
|
||||
ഇസ്രായേല്
|
||||
gold rate today
|
||||
prateek yadav
|
||||
thunderstorm
|
||||
iron dome
|
||||
spurs vs timberwolves
|
||||
osasuna vs atlético madrid standings
|
||||
الشارقة
|
||||
أوساسونا ضد أتلتيكو مدريد
|
||||
osasuna vs atlético madrid
|
||||
cbse 12th result 2026
|
||||
jcd prabhakar
|
||||
iran war ceasefire
|
||||
scotland vs nepal
|
||||
dhurandhar 2 netflix uae
|
||||
nba schedule
|
||||
lakers vs thunder
|
||||
nurses day
|
||||
عبدالرحمن أبو زهرة
|
||||
qatar airways
|
||||
udhayanidhi stalin
|
||||
mahmudul hasan joy
|
||||
eid holidays 2026
|
||||
sam altman
|
||||
എയര് ഇന്ത്യ
|
||||
uae einvoicing deadline extension 2026
|
||||
le havre vs marseille
|
||||
five guys
|
||||
وزير
|
||||
aadhav arjuna
|
||||
trisha krishnan
|
||||
when is mother's day
|
||||
mothers day india
|
||||
joshua van
|
||||
lakers vs okc
|
||||
international mother's day
|
||||
76ers vs knicks
|
||||
levante vs osasuna
|
||||
عيد الأضحى
|
||||
الهلال ضد الخلود
|
||||
is discord down
|
||||
ufo files
|
||||
اختبار دراسي
|
||||
novak djokovic
|
||||
نظام تعليمي
|
||||
dubai news uae news abu dhabi news uae weather dubai weather uae economy dirham exchange rate dubai traffic dubai metro dubai airport flights emirates airline etihad airways uae tourism dubai hotels burj khalifa dubai mall abu dhabi tourism uae visa news khaleej times gulf news the national emirates247 uae government uae central bank etisalat du telecom uae noon uae amazon ae careem uae talabat uae dubai jobs uae real estate dubai news today breaking news uae weather today دبي أخبار الطقس الإمارات سعر الدرهم
|
||||
200
data/keywords/kw_AU.txt
Normal file
200
data/keywords/kw_AU.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
john edmondson high school
|
||||
v8 supercars
|
||||
live nation
|
||||
marvel stadium
|
||||
2026 supercars championship
|
||||
ticketmaster
|
||||
accor stadium
|
||||
united states navy
|
||||
air show
|
||||
vietnam
|
||||
labor government cgt changes
|
||||
phil gould
|
||||
aircraft
|
||||
dp world tour
|
||||
newcastle knights
|
||||
erskine park
|
||||
ludwig kaiser
|
||||
bindi irwin
|
||||
lorraine monforte
|
||||
shohei ohtani
|
||||
brad banducci
|
||||
invasive species
|
||||
brian to o
|
||||
penrith panthers winger news
|
||||
léa seydoux
|
||||
anthony albanese capital gains tax
|
||||
trump family irs settlement
|
||||
scotland vs usa
|
||||
qantaslink regional flight sale
|
||||
chris minns
|
||||
james vlassakis
|
||||
tism
|
||||
doomben cup
|
||||
chengdu j-10
|
||||
adam scott us open 2026
|
||||
sony playstation
|
||||
rugby world cup
|
||||
jeremy clarkson
|
||||
hawthorn football club
|
||||
kouat noi
|
||||
iu
|
||||
rick and morty
|
||||
mayfield fire
|
||||
jay shetty
|
||||
taylan may
|
||||
daniel macpherson
|
||||
atlassian
|
||||
royal caribbean
|
||||
luke sayers
|
||||
xavier coates
|
||||
panthers vs dragons
|
||||
dane gagai
|
||||
el niño
|
||||
sir doug nicholls
|
||||
greg marzhew
|
||||
st kilda vs richmond
|
||||
qantas flight diverted tahiti
|
||||
strait of hormuz
|
||||
protein
|
||||
streamer
|
||||
mcg
|
||||
wests tigers vs sea eagles
|
||||
asofa-solomona vs burgess boxing
|
||||
rottnest shark
|
||||
fijian drua vs waratahs
|
||||
keldon johnson
|
||||
julius randle
|
||||
jason statham
|
||||
aeu
|
||||
tom campbell
|
||||
south morang
|
||||
monica elfriede witt
|
||||
airplane
|
||||
alex twal
|
||||
honda motor company
|
||||
penny lancaster
|
||||
tim tszyu vs errol spence
|
||||
hilary duff
|
||||
antisemitism
|
||||
bank australia
|
||||
norman o bryan
|
||||
us-iran
|
||||
david jones food hall review
|
||||
commonwealth bank stock drop
|
||||
michael voss carlton departure
|
||||
sony a7rvi specs
|
||||
great western highway
|
||||
joondalup
|
||||
minas tirith lego
|
||||
dr william tam
|
||||
zac mainwaring
|
||||
qatar airways helsinki tokyo flights
|
||||
1877 el nino
|
||||
road user charges
|
||||
demi moore
|
||||
bhp share price
|
||||
michael richards
|
||||
kylie minogue netflix documentary
|
||||
plea
|
||||
goog
|
||||
nba scores
|
||||
lamb of god and trivium australia tour
|
||||
nba live
|
||||
north korea
|
||||
yahoo
|
||||
car
|
||||
downdetector
|
||||
mary fowler
|
||||
jeff probst
|
||||
matt damon ben affleck lawsuit
|
||||
mal anderson
|
||||
north adelaide golf course
|
||||
afl trade news zak butters
|
||||
daniel johns newcastle property sale
|
||||
launceston couple tattslotto win
|
||||
vce subject offerings analysis
|
||||
toowoomba
|
||||
will warbrick
|
||||
alex pereira
|
||||
vijay
|
||||
harry edwards
|
||||
panthers vs raiders
|
||||
richmond vs adelaide
|
||||
arman tsarukyan
|
||||
islam makhachev
|
||||
bangladesh vs pakistan
|
||||
streamed
|
||||
sanfl
|
||||
auckland fc vs adelaide united
|
||||
robert toia
|
||||
manly sea eagles
|
||||
swatch x audemars piguet royal oak
|
||||
josh addo-carr
|
||||
dollar
|
||||
dhurandhar 2 ott
|
||||
sydney
|
||||
highlanders vs waratahs
|
||||
outlander episode 9
|
||||
beaudesert
|
||||
airbus a380
|
||||
lebron james
|
||||
sydney roosters
|
||||
michele bullock
|
||||
kapila chandrasena
|
||||
deandre ayton
|
||||
st. george illawarra dragons
|
||||
car chase
|
||||
woolworths soft plastics recycling
|
||||
star fox nintendo switch
|
||||
latrell mitchell
|
||||
ev bill
|
||||
australia women's national football team
|
||||
tyson smoothy
|
||||
jake clifford
|
||||
swatch
|
||||
henley beach
|
||||
isis brides arrival
|
||||
vera wang 2026 met gala
|
||||
power outage
|
||||
milton fire
|
||||
gws name change
|
||||
mike wells
|
||||
eta aquarids meteor shower
|
||||
f1 news
|
||||
sony playstation lawsuit
|
||||
teams
|
||||
jarred vanderbilt
|
||||
kane cornes
|
||||
peter daicos
|
||||
chris phelan
|
||||
diana, princess of wales
|
||||
wesfarmers
|
||||
anz class action lawsuit outcome
|
||||
negative gearing
|
||||
christian horner
|
||||
craig silvey
|
||||
nepal vs oman
|
||||
shane flanagan
|
||||
james hopes
|
||||
budget
|
||||
teacher
|
||||
nick foot
|
||||
the rookie the bandit
|
||||
deine mariner
|
||||
nate caddy
|
||||
cairns post
|
||||
rba
|
||||
nyt strands hints
|
||||
product recall
|
||||
sharks vs tigers
|
||||
siosifa talakai
|
||||
sydney vs melbourne
|
||||
brodie grundy
|
||||
nba jayson tatum
|
||||
australia world athletics relays record
|
||||
kimi antonelli miami penalty
|
||||
mitchell freeway crash
|
||||
roosters vs broncos
|
||||
bondi beach
|
||||
tai tuivasa
|
||||
130
data/keywords/kw_BD.txt
Normal file
130
data/keywords/kw_BD.txt
Normal file
@@ -0,0 +1,130 @@
|
||||
what
|
||||
movie
|
||||
android 17 qpr1 beta 3
|
||||
nepal vs usa
|
||||
bangladesh railway
|
||||
peñarol vs corinthians
|
||||
নামাজের সময়সূচি
|
||||
al naser
|
||||
julián quiñones
|
||||
mechelen vs club brugge
|
||||
দুর্নীতি দমন কমিশন
|
||||
cockroach janata party
|
||||
colorado vs san jose
|
||||
the daily star
|
||||
1
|
||||
conmebol libertadores
|
||||
columbus vs new york city
|
||||
search
|
||||
independiente petrolero vs botafogo
|
||||
flamengo vs estudiantes
|
||||
the boys season 5 episode 8 release date
|
||||
icc test championship points table
|
||||
icc
|
||||
তাইজুল ইসলাম
|
||||
taijul islam
|
||||
cricket live
|
||||
tapmad
|
||||
muhammad rizwan
|
||||
শিক্ষা প্রতিষ্ঠান
|
||||
babar azam
|
||||
পদোন্নতি
|
||||
messi
|
||||
shan masood
|
||||
মুহাম্মদ ইউনূস
|
||||
argentina world cup squad
|
||||
world cup 2026 schedule
|
||||
argentina
|
||||
আয়কর
|
||||
rayan
|
||||
bangladesh vs pakistan live
|
||||
japan vs papua new guinea
|
||||
stock now
|
||||
রাজনৈতিক দল
|
||||
scotland vs nepal
|
||||
জ্বালানি
|
||||
cartoon
|
||||
brest vs angers
|
||||
cook islands vs samoa
|
||||
nashville vs lafc
|
||||
উপাচার্য
|
||||
বাংলাদেশ ছাত্রলীগ
|
||||
hsc result
|
||||
জন্ম নিবন্ধন
|
||||
ssc result
|
||||
cook islands vs indonesia
|
||||
ny red bulls vs new york city
|
||||
philadelphia vs columbus
|
||||
bangladesh vs pakistan
|
||||
usa vs nepal
|
||||
bus ticket
|
||||
railway
|
||||
বাংলাদেশ রেলওয়ে
|
||||
ইরান
|
||||
ভিসা
|
||||
বাংলাদেশের শিক্ষামন্ত্রী
|
||||
এসএসসি ২০২৬ রসায়ন প্রশ্ন
|
||||
zakir hasan
|
||||
vd satheesan
|
||||
evika siliņa
|
||||
france world cup squad
|
||||
bangladesh pratidin
|
||||
ea sports fc mobile
|
||||
আইনজীবী
|
||||
japan vs cook islands
|
||||
বৃষ্টির আবহাওয়ার খবর
|
||||
audemars piguet swatch watches royal pop
|
||||
pcos renamed pmos
|
||||
scotland vs usa
|
||||
prateek yadav
|
||||
river plate vs gimnasia lp
|
||||
new england vs nashville
|
||||
নবম পে স্কেল
|
||||
বাংলাদেশ ব্যাংক
|
||||
রূপপুর পারমাণবিক বিদ্যুৎ কেন্দ্র
|
||||
brazil football team
|
||||
australia national cricket team
|
||||
world cup 2026
|
||||
world test championship
|
||||
verify bank statements visa applications
|
||||
থাইল্যান্ড
|
||||
daily ittefaq
|
||||
ঢাকা বিশ্ববিদ্যালয়
|
||||
google
|
||||
tin
|
||||
argentina football team
|
||||
রিকশা
|
||||
যানবাহন
|
||||
ipl match
|
||||
rayo vallecano vs girona fc standings
|
||||
মমিনুল হক
|
||||
প্রধান শিক্ষক
|
||||
ব্রাজিল জাতীয় ফুটবল দল
|
||||
প্রেম
|
||||
আনসার ভিডিপি উন্নয়ন ব্যাংক নিয়োগ
|
||||
তৃষা কৃষ্ণন
|
||||
ban vs aus
|
||||
mtv splitsvilla 16
|
||||
naagin 7 episode 40
|
||||
raja shivaji movie box office collection
|
||||
vasco vs athletico-pr
|
||||
mehidy hasan miraz
|
||||
বিজয় দেবরকোন্ডা
|
||||
আজান আওয়াইস
|
||||
education board result
|
||||
kylian mbappé
|
||||
cruise ship hantavirus outbreak
|
||||
প্রার্থী
|
||||
rabindra sangeet
|
||||
nashville vs d.c. united
|
||||
federico valverde
|
||||
weather forecast tomorrow
|
||||
fifa world cup 2026 schedule
|
||||
পাসপোর্ট
|
||||
japan vs vanuatu
|
||||
secret files
|
||||
বাংলাদেশ জাতীয়তাবাদী দল
|
||||
torino vs sassuolo
|
||||
levante vs osasuna
|
||||
fitbit air tracker
|
||||
dhaka news bangladesh news bangladesh weather dhaka weather bangladesh economy taka exchange rate dhaka traffic hazrat shahjalal airport flights bangladesh tourism coxs bazar travel sylhet news chittagong news bangladesh visa news daily star bdnews24 prothom alo dhaka tribune banglanews bangladesh government bangladesh bank btrc grameenphone banglalink robi daraz bangladesh nagad bkash bangladesh news today breaking news bangladesh weather today dhaka jobs আজকের খবর ঢাকা আবহাওয়া বাংলাদেশ টাকা বিনিময় হার
|
||||
@@ -1,35 +1,200 @@
|
||||
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
|
||||
6ix9ine
|
||||
byron allen
|
||||
paul rudd
|
||||
paul mescal
|
||||
el nino
|
||||
geena davis
|
||||
the cure olivia rodrigo
|
||||
ryan reynolds
|
||||
amy sedaris
|
||||
white lotus
|
||||
the testaments
|
||||
aubrey plaza
|
||||
bchl
|
||||
bruce springsteen
|
||||
ludwig kaiser
|
||||
louis varland
|
||||
survivor 51
|
||||
government
|
||||
karl urban
|
||||
the testaments episodes
|
||||
bangladesh vs pakistan
|
||||
ryan breslow
|
||||
sajid khan
|
||||
nanaimo clippers
|
||||
david byrne
|
||||
steven spielberg
|
||||
wnba standings
|
||||
jon stewart
|
||||
brendan fraser
|
||||
ben simmons
|
||||
betmgm
|
||||
raleigh
|
||||
spurs coach
|
||||
ctv news montreal
|
||||
mike matheson
|
||||
aqua
|
||||
billet canadien de montreal
|
||||
avalanche colorado
|
||||
ole ole ole
|
||||
benson sabres
|
||||
gucci
|
||||
victoria day parade
|
||||
gta 6
|
||||
dhurandhar
|
||||
nep vs sco
|
||||
nemesis netflix
|
||||
coco jones
|
||||
maxim lapierre
|
||||
jalen duren
|
||||
antonio cipriano
|
||||
shohei ohtani
|
||||
ringo starr
|
||||
keyshawn davis
|
||||
colin jost
|
||||
dhurandhar 2
|
||||
holly holm
|
||||
gina carano fast and furious
|
||||
mackenzie shirilla sentence
|
||||
cris cyborg
|
||||
gina carano husband
|
||||
new york times
|
||||
내일 날씨
|
||||
belfast
|
||||
harrison barnes
|
||||
memorial cup 2026
|
||||
largo
|
||||
terrence shannon jr.
|
||||
keldon johnson
|
||||
goldie hawn
|
||||
whisper my name drake
|
||||
pitt
|
||||
hit the wall lyrics gracie abrams
|
||||
el niño weather canada
|
||||
joel mcgillis
|
||||
monica witt
|
||||
sienna miller
|
||||
dodgers
|
||||
john tortorella
|
||||
western university
|
||||
fifa world cup 2026
|
||||
survivor 50 recap
|
||||
pedro pascal
|
||||
bernadette peters
|
||||
weather edmonton
|
||||
tom hanks
|
||||
subnautica 2 release time
|
||||
stephen colbert
|
||||
wnba
|
||||
bc hydro
|
||||
明天的天氣
|
||||
ukraine
|
||||
kelowna
|
||||
julia louis-dreyfus
|
||||
vegas golden knights
|
||||
backrooms movie
|
||||
ducks
|
||||
carter hart
|
||||
luka doncic
|
||||
austin reaves
|
||||
isaiah hartenstein
|
||||
apple iphone 18 pro
|
||||
candace parker
|
||||
jared mccain
|
||||
jaylin williams
|
||||
weather vancouver
|
||||
surrey shooting
|
||||
deandre ayton
|
||||
bet365
|
||||
canucks news
|
||||
ponzi
|
||||
pk subban
|
||||
ian moore
|
||||
michael burry
|
||||
chernobyl
|
||||
mikael granlund
|
||||
brett howden
|
||||
aadhav arjuna
|
||||
sean strickland wife
|
||||
fête des mères
|
||||
noah kahan
|
||||
arman tsarukyan
|
||||
dricus du plessis
|
||||
odyssey movie
|
||||
citadel season 2
|
||||
dagestan
|
||||
santé
|
||||
amitabh bachchan
|
||||
wolves
|
||||
nintendo switch 2 price increase
|
||||
alexander volkov
|
||||
de'aaron fox
|
||||
devin vassell
|
||||
naz reid
|
||||
wade wilson killer
|
||||
swatch x audemars piguet royal oak
|
||||
cason wallace
|
||||
jake laravia
|
||||
alex caruso
|
||||
luguentz dort
|
||||
sir david attenborough
|
||||
leon must die forever
|
||||
air canada jet fuel shortage
|
||||
ryan strome
|
||||
jansen harkins
|
||||
nat wolff
|
||||
steve carell
|
||||
flight
|
||||
carter bryant
|
||||
lola consuelos
|
||||
chicago pd
|
||||
stephon castle
|
||||
vancouver news
|
||||
paul mccartney
|
||||
salman khan
|
||||
dario amodei
|
||||
randy jackson health
|
||||
cape breton hiker search
|
||||
angelina jolie
|
||||
meteor shower 2026
|
||||
national emergency alert system test
|
||||
mitch marner
|
||||
daisy edgar jones
|
||||
jackson lacombe
|
||||
nepal vs oman
|
||||
christopher nolan
|
||||
jelly roll
|
||||
lakers vs okc
|
||||
julius randle
|
||||
mamata banerjee
|
||||
aaj tak
|
||||
star wars
|
||||
oil
|
||||
johnston canyon
|
||||
aaj tak live
|
||||
mats zuccarello
|
||||
paris jackson
|
||||
atlas - cruz azul
|
||||
cruz azul
|
||||
jake paul
|
||||
lafc vs san diego fc
|
||||
micheal jackson
|
||||
aziz ansari
|
||||
downtown toronto power outage today
|
||||
matt damon
|
||||
seattle mariners
|
||||
fraud
|
||||
margot robbie
|
||||
steve erceg
|
||||
hacks
|
||||
jabari smith jr.
|
||||
patton oswalt
|
||||
pavel talankin oscar
|
||||
bmo marathon
|
||||
jack della maddalena
|
||||
b
|
||||
adam scott
|
||||
canada immigration news
|
||||
bruce cassidy
|
||||
nugent hopkins
|
||||
nhl playoff bracket
|
||||
|
||||
@@ -1,60 +1,200 @@
|
||||
real madrid vs bayern
|
||||
kicker
|
||||
mbappe
|
||||
flashscore
|
||||
sport1
|
||||
vini jr
|
||||
bet365
|
||||
kompany
|
||||
jude bellingham
|
||||
upamecano
|
||||
gute zeiten, schlechte zeiten
|
||||
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
|
||||
kampf der realitystars
|
||||
манчестер юнайтед – лидс
|
||||
catherine deneuve
|
||||
bobzin
|
||||
sprit
|
||||
kev
|
||||
abschiebung
|
||||
steuer
|
||||
masters rory mcilroy
|
||||
senat der vereinigten staaten
|
||||
gzsz-vorschau
|
||||
hinrichtung
|
||||
martin luther king
|
||||
enhanced games
|
||||
the cure olivia rodrigo lyrics
|
||||
jörn klasen
|
||||
boris becker
|
||||
opferfest
|
||||
erich altenkopf
|
||||
baywa
|
||||
mecklenburg-vorpommern
|
||||
beckum
|
||||
raub
|
||||
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
|
||||
syrer
|
||||
germany’s next topmodel halbfinale
|
||||
aaron rodgers
|
||||
сергей лавров
|
||||
vanessa trump
|
||||
byd aktie
|
||||
starlink
|
||||
paris jackson
|
||||
sputnik spring break
|
||||
üstra streik
|
||||
reem alabali radovan
|
||||
ellen pompeo
|
||||
abschreckung
|
||||
chase
|
||||
weltbienentag 2026
|
||||
mitteldeutscher rundfunk
|
||||
unfall a1
|
||||
polizei nordrhein-westfalen
|
||||
spider noir
|
||||
kernkraftwerk
|
||||
el niño 2026
|
||||
a1 sperrung
|
||||
nübel
|
||||
ebolafieber
|
||||
wm spielplan
|
||||
depeche mode
|
||||
a81
|
||||
el niño
|
||||
bauer sucht frau international
|
||||
rick and morty
|
||||
bernard arnault
|
||||
banksy
|
||||
prognose
|
||||
arnault
|
||||
bill cassidy
|
||||
tine acke
|
||||
andi knoll
|
||||
забастовка
|
||||
internationaler museumstag 2026
|
||||
rosja
|
||||
museumstag 2026
|
||||
caren miosga caren miosga
|
||||
stuttgart lauf
|
||||
bild zeitung
|
||||
italien auto in menschenmenge
|
||||
joel mattli
|
||||
royal pop swatch
|
||||
s-bahn münchen
|
||||
sportschau fußball-bundesliga
|
||||
bangladesh vs pakistan
|
||||
jessica mann
|
||||
frankenpost
|
||||
msci world
|
||||
fabio di giannantonio
|
||||
die landarztpraxis
|
||||
ed sheeran repeat it
|
||||
juniper
|
||||
spandau
|
||||
lotto jackpot
|
||||
fendt
|
||||
hpv-impfstoff
|
||||
elba
|
||||
omar marmoush
|
||||
polska
|
||||
apple aktie
|
||||
boris cherny
|
||||
nino de angelo
|
||||
hendrik wüst
|
||||
börse heute
|
||||
axel prahl
|
||||
kindertag
|
||||
veranstaltungen heute
|
||||
kampf der realitystars 2026
|
||||
playmobil
|
||||
ted
|
||||
krankenversicherung
|
||||
lockheed c 5
|
||||
siemens
|
||||
california
|
||||
sfc energy
|
||||
alexandra popp
|
||||
zornige ameise
|
||||
владимир молчанов
|
||||
14 mai feiertag
|
||||
west texas intermediate
|
||||
sing meinen song – das tauschkonzert giovanni zarrella
|
||||
kim jong un
|
||||
droneshield
|
||||
lebron james
|
||||
sandra hüller
|
||||
t-aktie
|
||||
albert riera
|
||||
dfb pokalfinale 2026
|
||||
wetter bamberg
|
||||
detektiv conan
|
||||
gta 6
|
||||
automobilindustrie
|
||||
börsengang
|
||||
erneuerbare energien
|
||||
air france-klm
|
||||
bombenentschärfung köln
|
||||
franck honorat
|
||||
xbox
|
||||
ronnie o’sullivan
|
||||
givairo read
|
||||
streitkräfte
|
||||
austrian darts open
|
||||
hondius
|
||||
владимир путин
|
||||
feuerwerk tanzbrunnen köln
|
||||
golf
|
||||
sonntagsfrage
|
||||
ole book
|
||||
malika und joel
|
||||
energiewende
|
||||
elektromobilität
|
||||
wdr kölner treff
|
||||
polen
|
||||
generation deutschland
|
||||
sc dhfk leipzig
|
||||
9 мая
|
||||
schokolade
|
||||
amazon alexa+
|
||||
buckelwal timmy timmy wal
|
||||
esc 2026
|
||||
barbara schöneberger
|
||||
wetter regensburg
|
||||
mile high city
|
||||
tennessee
|
||||
flyers – hurricanes
|
||||
ban vs pak
|
||||
berufsbildungsbericht
|
||||
wehrdienst
|
||||
stau a2
|
||||
umfrage sachsen-anhalt
|
||||
samsung galaxy s25 one ui 8.5
|
||||
timmy news
|
||||
hermann göring
|
||||
nordex
|
||||
alan ritchson
|
||||
tesla, inc.
|
||||
украинцы
|
||||
novo nordisk
|
||||
daimler truck
|
||||
we
|
||||
angelina jolie
|
||||
westfalia rhynern
|
||||
rosenheim24
|
||||
oliver zipse
|
||||
eisheiligen 2026
|
||||
finanztrends
|
||||
wetter lübeck
|
||||
gracie abrams
|
||||
dolly parton
|
||||
connor storrie
|
||||
wetter
|
||||
wetter kassel
|
||||
venus
|
||||
newcastle-krankheit
|
||||
wetter ulm
|
||||
wetter erlangen
|
||||
west bengal election 2026
|
||||
gamestop
|
||||
american water works company
|
||||
tesla roadster
|
||||
bengal election 2026
|
||||
arnold schwarzenegger
|
||||
star wars tag
|
||||
united states army
|
||||
republikanische partei
|
||||
omr 2026
|
||||
rezession
|
||||
franz wagner
|
||||
la galaxy – whitecaps
|
||||
kuba
|
||||
frankreich
|
||||
wetter mannheim
|
||||
spacex
|
||||
hurricanes – flyers
|
||||
audi in der formel 1
|
||||
hornissen
|
||||
lindsey vonn
|
||||
spirit airlines
|
||||
bruins – sabres
|
||||
mammoth – golden knights
|
||||
|
||||
@@ -1,35 +1,200 @@
|
||||
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
|
||||
bajrakitiyabha
|
||||
sara aagesen
|
||||
enrique santiago
|
||||
linea 6
|
||||
estados unidos
|
||||
stephen colbert
|
||||
la nueva españa
|
||||
riquelme
|
||||
daily mail
|
||||
rock fm
|
||||
spacex
|
||||
vivienda en españa
|
||||
inuncat
|
||||
devin vassell
|
||||
querella
|
||||
la isla de las tentaciones 10
|
||||
iker casillas
|
||||
cope directo
|
||||
noticiastrabajo
|
||||
cusco - medellín
|
||||
gemini omni
|
||||
cher
|
||||
ondacero
|
||||
supervivientes 2026
|
||||
dean wade
|
||||
eva longoria
|
||||
byd
|
||||
es radio
|
||||
el diario
|
||||
jorge rey
|
||||
vivienda
|
||||
benjamín prado
|
||||
noam bettan
|
||||
el ejido
|
||||
bono
|
||||
ley
|
||||
bangladesh vs pakistan
|
||||
dylan harper
|
||||
alex caruso
|
||||
天气
|
||||
elcorreo
|
||||
pumas - pachuca
|
||||
sam merrill
|
||||
pistons - cavaliers
|
||||
mls
|
||||
paranaense - flamengo
|
||||
irene montero
|
||||
premier padel
|
||||
carlos bardem
|
||||
zegama
|
||||
sueños de libertad
|
||||
a que hora abren los colegios electorales en andalucia
|
||||
karlos arguiñano
|
||||
política
|
||||
argentina
|
||||
posiciones de barcelona sc contra aucas
|
||||
bonoloto hoy
|
||||
guadalajara - cruz azul
|
||||
taxi
|
||||
diario sur
|
||||
m
|
||||
uber
|
||||
timberwolves - spurs
|
||||
universitario - atlético grau
|
||||
extranjeria
|
||||
cavaliers - pistons
|
||||
relojes audemars piguet swatch
|
||||
josé coronado
|
||||
simon dutton
|
||||
florentino pérez real madrid
|
||||
pamplona
|
||||
lotería nacional sorteos
|
||||
diario de sevilla
|
||||
tiempo zaragoza
|
||||
nieve
|
||||
segunda semifinal eurovisión 2026
|
||||
devrim ozkan
|
||||
baba miller
|
||||
san isidro
|
||||
gema ruiz
|
||||
ceará - atlético mineiro
|
||||
santos del hielo
|
||||
la isla de las tentaciones
|
||||
jacuipense - palmeiras
|
||||
deutsche bank
|
||||
venezuela
|
||||
brasil
|
||||
santoral hoy
|
||||
playstation plus
|
||||
cox
|
||||
sorteo bonoloto
|
||||
madre de omar montes
|
||||
diari de girona
|
||||
virgen de fatima
|
||||
liga dimayor
|
||||
debate elecciones andalucía
|
||||
tiempo sevilla
|
||||
airbus a400m atlas
|
||||
lebron james
|
||||
royal pop
|
||||
trade republic
|
||||
el independiente
|
||||
congreso
|
||||
prelista seleccion española futbol
|
||||
sidosa
|
||||
salud
|
||||
vivienda vacía
|
||||
juan gómez-jurado
|
||||
galicia
|
||||
diari de tarragona
|
||||
nominados supervivientes
|
||||
diario de burgos
|
||||
impago
|
||||
elecciones andalucía
|
||||
eldiario
|
||||
liga mx
|
||||
alexander volkov
|
||||
liga 1
|
||||
marc márquez motogp
|
||||
la casa de papel continua
|
||||
américa - santa fe
|
||||
el tiempo murcia
|
||||
vargas
|
||||
tiempo
|
||||
weather
|
||||
bwin
|
||||
marisa jara
|
||||
lola indigo
|
||||
jared mccain
|
||||
eltiempo
|
||||
tiempo bilbao
|
||||
tiempo hoy
|
||||
el tiempo hoy
|
||||
nba hoy
|
||||
junior - cerro
|
||||
aemet malaga
|
||||
star fox nintendo switch
|
||||
telescopio espacial james webb
|
||||
tolima - nacional
|
||||
barracas central - olimpia
|
||||
independiente rivadavia - fluminense
|
||||
multa
|
||||
2026
|
||||
bad bunny
|
||||
spurs - timberwolves
|
||||
anthony edwards
|
||||
blake lively
|
||||
heidi klum
|
||||
santiago segura
|
||||
knicks - 76ers
|
||||
robinho
|
||||
ashley graham
|
||||
pogacar
|
||||
wetter
|
||||
dinero en efectivo
|
||||
itv
|
||||
gene hackman
|
||||
carrera f1 miami
|
||||
heraldo de aragon
|
||||
alberto durán cornada
|
||||
tiempo valencia
|
||||
g20
|
||||
luis zahera
|
||||
despido laboral
|
||||
shakira
|
||||
renfe
|
||||
alianza lima - cd moquegua
|
||||
eleccion bellea del foc alicante
|
||||
meteocat
|
||||
meme vito quiles begoña gomez
|
||||
rockets - lakers
|
||||
sports
|
||||
sorteo once
|
||||
juana acosta
|
||||
raptors - cavaliers
|
||||
magic - pistons
|
||||
raul ruiz torero
|
||||
dia
|
||||
precio de la luz
|
||||
fútbol
|
||||
pension
|
||||
formula 1
|
||||
hacienda
|
||||
precio de la luz hoy
|
||||
metro madrid
|
||||
tiempo en zaragoza
|
||||
euribor hoy
|
||||
austin reaves
|
||||
estafa
|
||||
lakers vs rockets
|
||||
cienciano - atlético mineiro
|
||||
anthropic
|
||||
prórroga alquileres congreso
|
||||
aemet valencia
|
||||
aemet
|
||||
huelga gasolineras
|
||||
el tiempo
|
||||
nepotismo
|
||||
instituto cervantes
|
||||
airbus
|
||||
|
||||
@@ -1,59 +1,200 @@
|
||||
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
|
||||
jacob elordi
|
||||
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
|
||||
ulys
|
||||
massimo rivola
|
||||
siri hustvedt
|
||||
uranium appauvri
|
||||
gaël fickou
|
||||
guy savoy
|
||||
bilbao
|
||||
dacia
|
||||
lefties france
|
||||
nrj
|
||||
alexandre bompard
|
||||
pont neuf
|
||||
pix
|
||||
éléphant
|
||||
cyril féraud
|
||||
nrj direct
|
||||
aurore bergé
|
||||
gérard larcher
|
||||
la montagne
|
||||
starship
|
||||
états-unis
|
||||
jean philippe tanguy
|
||||
matthieu jalibert
|
||||
simon abkarian
|
||||
pérou
|
||||
yael braun pivet
|
||||
rail
|
||||
libye
|
||||
nolwenn leroy
|
||||
est republicain
|
||||
allan saint-maximin
|
||||
bernard cazeneuve
|
||||
conflit
|
||||
thomas massie
|
||||
gîtes de france cyberattaque
|
||||
martin ney
|
||||
urgo
|
||||
avril besson
|
||||
paul seixas
|
||||
légume
|
||||
ici tout commence besseau bianca
|
||||
antoine dupont blessure
|
||||
cafe de la paix bastia
|
||||
24 mai
|
||||
coco jones
|
||||
25 mai férié
|
||||
emmanuel grégoire
|
||||
ukraine
|
||||
l'est républicain
|
||||
rick et morty
|
||||
ebola virus
|
||||
gaël monfils
|
||||
gala
|
||||
morandini
|
||||
bbc news
|
||||
vosges matin
|
||||
romain grosjean
|
||||
astrologie
|
||||
famille nombreuse
|
||||
william, prince de galles
|
||||
elon musk
|
||||
marius colucci
|
||||
un si grand soleil en avance
|
||||
escroquerie
|
||||
vautours
|
||||
bangladesh vs pakistan
|
||||
ici tout commence
|
||||
ouest-france
|
||||
de'aaron fox
|
||||
kim higelin
|
||||
deva cassel
|
||||
la chaîne météo
|
||||
alain giresse
|
||||
leapmotor b05 autonomie
|
||||
mistral ai
|
||||
antoine de maximy
|
||||
yves de gaulle
|
||||
ici tout commence du 15 mai 2026
|
||||
ferretti
|
||||
drones ukrainiens lettonie
|
||||
arvid de kleijn
|
||||
salaire
|
||||
addiction
|
||||
poulet
|
||||
michel fugain
|
||||
rabah slimani
|
||||
refus d'obtempérer
|
||||
albert ii de monaco
|
||||
magasin ouvert jeudi 14 mai
|
||||
nouvelle lune
|
||||
billetterie fff
|
||||
ivan gazidis
|
||||
kate middleton
|
||||
donald gibb
|
||||
14 mai férié
|
||||
14 mai
|
||||
marco rubio
|
||||
wetter
|
||||
chaleur
|
||||
concours lépine
|
||||
autoroute
|
||||
pairi daiza
|
||||
football club de nantes
|
||||
lebron james
|
||||
peter jackson
|
||||
statistiques de match du joueur lakers – thunder d'oklahoma city
|
||||
fourmis
|
||||
caribbean princess
|
||||
ilya sutskever
|
||||
thierry frémaux
|
||||
gruissan
|
||||
jeudi 14 mai
|
||||
hantavirus map live
|
||||
jours fériés mai 2026
|
||||
donald trump
|
||||
hantavirus symptome
|
||||
raphael arnault
|
||||
noam bettan
|
||||
militaire
|
||||
navire
|
||||
robert fico
|
||||
arménie
|
||||
agriculteur
|
||||
weather
|
||||
ufc live streaming
|
||||
meteo le mans
|
||||
olivier galzi
|
||||
loto résultats loto
|
||||
lamour est dans le pré
|
||||
læticia hallyday
|
||||
gérald kierzek
|
||||
hollande francois
|
||||
tom liebscher
|
||||
purepeople
|
||||
actualite
|
||||
pekin express
|
||||
victor wembanyama
|
||||
eurodreams 7 mai 2026
|
||||
l équipe
|
||||
top chef 2026
|
||||
crédit agricole
|
||||
ajay mitchell
|
||||
bracelet connecté google fitbit air
|
||||
bandi netflix
|
||||
borne
|
||||
chems-eddine hafiz
|
||||
christophe licata
|
||||
un milliard
|
||||
kj apa
|
||||
saints de glace 2026
|
||||
8 mai férié
|
||||
nintendo star fox
|
||||
dany leprince
|
||||
menu mcdeal
|
||||
cyril hanouna
|
||||
artemis ii
|
||||
6 mai
|
||||
gouverneur de la banque de france
|
||||
chaine meteo
|
||||
gap
|
||||
jaylin williams
|
||||
meteo toulon
|
||||
éliminé koh lanta
|
||||
5 mai
|
||||
bath rugby
|
||||
robinho
|
||||
gladiator 2
|
||||
patrick antonelli
|
||||
meteo 15 jours
|
||||
meteo france
|
||||
football psg bayern munich
|
||||
rudy giuliani
|
||||
jour ferie mai
|
||||
maries au premier regard episode 11
|
||||
bali
|
||||
coupe du monde de vtt
|
||||
meteo calais
|
||||
météo france
|
||||
easyjet
|
||||
centre presse aveyron
|
||||
vladimir poutine
|
||||
marathon biarritz
|
||||
hassan du maroc
|
||||
corse matin
|
||||
invités léa salamé quelle époque
|
||||
charlene wittstock
|
||||
lionel messi
|
||||
association sportive de saint-étienne
|
||||
stellantis
|
||||
groupe adp
|
||||
romain gavras
|
||||
livret a
|
||||
pékin express 2026 candidats
|
||||
autobus
|
||||
moyen-orient
|
||||
bill ackman
|
||||
teknival
|
||||
madonna
|
||||
le pal
|
||||
brocante 1er mai
|
||||
|
||||
@@ -1,60 +1,200 @@
|
||||
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
|
||||
香港天文台
|
||||
煤氣
|
||||
墳場主管
|
||||
郭富城
|
||||
bts
|
||||
郭晉安
|
||||
房屋署
|
||||
張天賦演唱會
|
||||
黃百鳴
|
||||
長者生活津貼
|
||||
郭羨妮
|
||||
classroom
|
||||
宏福苑
|
||||
hong kong red rainstorm warning
|
||||
公務員 加 薪
|
||||
李家鼎
|
||||
校長
|
||||
港 漂
|
||||
now體育
|
||||
乙明邨
|
||||
max dowman
|
||||
陳慧琳
|
||||
九龍灣
|
||||
the weeknd
|
||||
杨婉仪
|
||||
信报财经新闻
|
||||
港漂
|
||||
樂易玲
|
||||
香港公务员事务
|
||||
antigravity
|
||||
knicks vs cavaliers
|
||||
trip
|
||||
旅行社
|
||||
蔡卓妍
|
||||
天文台
|
||||
陳同佳
|
||||
白雪仙
|
||||
hk observatory
|
||||
observatory
|
||||
dylan harper
|
||||
迪倫·哈珀
|
||||
iu
|
||||
首次公开募股
|
||||
麦当劳
|
||||
pistons vs cavaliers
|
||||
工资
|
||||
ivy so
|
||||
live nation
|
||||
livenation
|
||||
政府
|
||||
香港天文台天氣預報
|
||||
MTR 港鐵路線圖
|
||||
OpenRice 附近美食
|
||||
LIHKG 討論區
|
||||
恆生指數今日行情
|
||||
SCMP breaking news
|
||||
HKEX 港交所股價
|
||||
國泰航空航班狀態
|
||||
香港迪士尼樂園門票
|
||||
百佳超級市場網購
|
||||
活塞 對 騎士
|
||||
人工智慧
|
||||
谢贤
|
||||
紐西蘭
|
||||
血糖
|
||||
伊波拉病毒
|
||||
eurovision 2026
|
||||
炎明熹
|
||||
jennie
|
||||
elliot page
|
||||
荃湾
|
||||
weather
|
||||
新西蘭車禍
|
||||
陳浚霆
|
||||
机票
|
||||
timberwolves vs spurs
|
||||
洪金寶
|
||||
灰狼 對 馬刺
|
||||
騎士 對 活塞
|
||||
张凌赫
|
||||
jannik sinner
|
||||
samsung
|
||||
龍婷
|
||||
波音
|
||||
裕東苑
|
||||
擎天崗
|
||||
楊洋
|
||||
2027 公眾假期
|
||||
山崎和佳奈
|
||||
iceman
|
||||
中南海
|
||||
周慧敏
|
||||
news
|
||||
thucydides trap
|
||||
citadel
|
||||
李連杰
|
||||
盧惠光
|
||||
習近平
|
||||
mc 演唱會 2026
|
||||
谷德昭
|
||||
mc
|
||||
癌症
|
||||
容羨媛
|
||||
panasonic l10
|
||||
sony xperia 1 viii
|
||||
燒 味
|
||||
黃仁勳
|
||||
謝瑞麟
|
||||
spurs vs timberwolves
|
||||
深圳地铁
|
||||
特朗普訪華
|
||||
hong kong express
|
||||
hong kong
|
||||
nba
|
||||
湖人
|
||||
test
|
||||
邓兆尊
|
||||
kktix
|
||||
湖人 對 雷霆
|
||||
蔡少芬
|
||||
林詩棟
|
||||
ap swatch
|
||||
網約車
|
||||
許志安
|
||||
canvas
|
||||
mc 張天賦演唱會
|
||||
victor wembanyama
|
||||
sk hynix
|
||||
海力士
|
||||
薛家燕
|
||||
毛樂禮
|
||||
mps
|
||||
聞泰科技
|
||||
港幣兌人民幣
|
||||
萬 寧 88 折
|
||||
張曼玉
|
||||
羅湖
|
||||
amos yee
|
||||
逮捕
|
||||
hkjc
|
||||
穎喬
|
||||
76ers vs knicks
|
||||
百度
|
||||
mothers day
|
||||
文佳煐
|
||||
美國ufo
|
||||
活期存款
|
||||
一田
|
||||
萬寧88折
|
||||
thunder vs lakers
|
||||
nba線上看
|
||||
雷霆 對 湖人
|
||||
ana
|
||||
wordle
|
||||
台风
|
||||
star
|
||||
林熹瞳
|
||||
陳柏宇
|
||||
馬刺 對 灰狼
|
||||
knicks vs 76ers
|
||||
寶達邨
|
||||
運輸署
|
||||
etv
|
||||
麥美恩
|
||||
金建希
|
||||
航空
|
||||
袁偉豪
|
||||
八達通
|
||||
兵工廠 對 馬德里競技
|
||||
龍蟠苑
|
||||
飛驒山
|
||||
澳元
|
||||
草 蜢
|
||||
安東尼·愛德華茲
|
||||
艾佛頓 對 曼城
|
||||
何君堯
|
||||
失業
|
||||
世界盃2026
|
||||
周殷廷
|
||||
鹹田灣
|
||||
投資
|
||||
漢坦病毒
|
||||
急性內耳迷路炎
|
||||
地獄占星師
|
||||
灣仔
|
||||
cavaliers vs raptors
|
||||
charlie puth
|
||||
兵工廠 對 富勒姆
|
||||
趙雅芝
|
||||
coleman wong
|
||||
jayson tatum
|
||||
celtics vs 76ers
|
||||
osasuna vs barcelona
|
||||
塞爾提克 對 76人
|
||||
香港人
|
||||
伊朗
|
||||
咖啡
|
||||
c羅
|
||||
raptors vs cavaliers
|
||||
lakers
|
||||
nba playoffs
|
||||
nba live
|
||||
高淑樺
|
||||
暴龍 對 騎士
|
||||
黃澤林
|
||||
lck
|
||||
黎智英
|
||||
草蜢演唱會
|
||||
timberwolves vs nuggets
|
||||
走私
|
||||
76ers vs celtics
|
||||
周嘉洛
|
||||
莊子璇
|
||||
|
||||
137
data/keywords/kw_ID.txt
Normal file
137
data/keywords/kw_ID.txt
Normal file
@@ -0,0 +1,137 @@
|
||||
pedro acosta
|
||||
lo kheng hong
|
||||
pertamina
|
||||
bts
|
||||
barang palsu
|
||||
lebaran idul adha 2026
|
||||
el niño
|
||||
the cure olivia rodrigo
|
||||
kapan puasa arafah
|
||||
rano karno
|
||||
polymarket
|
||||
byd m6
|
||||
rupiah indonesia
|
||||
amitabh bachchan
|
||||
tentara nasional indonesia
|
||||
irsx
|
||||
1
|
||||
imf
|
||||
devin vassell
|
||||
ptro
|
||||
pembegalan
|
||||
direktorat jenderal pajak
|
||||
ktp
|
||||
the boys season 5 episode 8
|
||||
denza n9
|
||||
ptba
|
||||
dollar hari ini
|
||||
bumi saham
|
||||
adro
|
||||
siap kerja
|
||||
sgd
|
||||
chelsea vs tottenham
|
||||
kurs rupiah
|
||||
the weeknd
|
||||
malaysia master 2026
|
||||
harga dollar
|
||||
dosen
|
||||
dasco
|
||||
ihsg
|
||||
the weeknd jakarta
|
||||
cek pip 2026
|
||||
daerah istimewa yogyakarta
|
||||
falcon 8x
|
||||
muhadjir effendy
|
||||
ekonomi indonesia
|
||||
idr
|
||||
leganes
|
||||
sukanto tanoto
|
||||
tunjangan
|
||||
pesta babi
|
||||
cerezo osaka vs nagoya
|
||||
bwf
|
||||
jadwal moto3
|
||||
kyoto sanga vs sanfrecce
|
||||
j1
|
||||
jadwal film bioskop hari ini
|
||||
crocs red bull
|
||||
aplikasi cek bansos
|
||||
ronda rousey
|
||||
pengumuman snbt
|
||||
jadwal motogp catalunya 2026
|
||||
j2
|
||||
prediksi cuaca hari ini
|
||||
starbucks
|
||||
dylan harper
|
||||
de'aaron fox
|
||||
bsd
|
||||
hari raya idul adha 2026
|
||||
stephon castle
|
||||
museum marsinah
|
||||
gregoria mariska tunjung
|
||||
forza horizon 6
|
||||
drake
|
||||
banten
|
||||
aston villa vs liverpool
|
||||
jadwal avc men's champions league 2026
|
||||
semen padang vs persebaya
|
||||
kapan idul adha 2026
|
||||
timnas inggris
|
||||
juri
|
||||
yan diomande
|
||||
bastoni
|
||||
copenhagen
|
||||
clara shinta
|
||||
andré onana
|
||||
maroko terbuka
|
||||
girona vs real sociedad
|
||||
komisi pemberantasan korupsi republik indonesia
|
||||
ufo
|
||||
joko widodo
|
||||
thailand open 2026
|
||||
the punisher one last kill
|
||||
jude bellingham
|
||||
copilot ai
|
||||
ascension day
|
||||
semua akan baik baik saja film
|
||||
keir starmer
|
||||
bansos kemensos
|
||||
lebron james
|
||||
skema gaji ke-13 2026
|
||||
donald trump
|
||||
wijaya karya
|
||||
ios 26.5
|
||||
ajay mitchell
|
||||
krl commuter line
|
||||
projo
|
||||
bupati inisial r
|
||||
bupati bintan
|
||||
dtks
|
||||
cek desil bansos
|
||||
tottenham vs leeds
|
||||
amerika serikat
|
||||
nilai tukar
|
||||
fc barcelona vs real madrid el clasico
|
||||
tumbal proyek
|
||||
napoli vs bologna
|
||||
disnaker
|
||||
gold gala
|
||||
daniel dubois
|
||||
marinos vs kashima
|
||||
bradley barcola
|
||||
vissel vs fagiano okayama
|
||||
jakarta barat
|
||||
kapolri mutasi kapolda
|
||||
shell
|
||||
cruz azul vs atlas
|
||||
auckland fc vs adelaide utd
|
||||
urawa red diamonds
|
||||
fulham vs bournemouth
|
||||
pesta babi film
|
||||
bursa efek indonesia
|
||||
911
|
||||
cerezo osaka
|
||||
jeju united vs fc seoul
|
||||
badan kepegawaian negara
|
||||
miangas
|
||||
jakarta news indonesia news indonesia weather jakarta weather indonesia economy rupiah exchange rate jakarta traffic transjakarta mrt jakarta soekarno hatta airport flights indonesia tourism bali travel yogyakarta travel bandung travel surabaya news indonesia visa news kompas detik tempo antara news cnn indonesia bank indonesia ojk indonesia kominfo telkomsel xl indosat tokopedia indonesia shopee indonesia lazada indonesia gojek indonesia grab indonesia bukalapak indonesia traveloka indonesia indonesia election berita hari ini berita terkini cuaca jakarta nilai tukar rupiah lowongan kerja jakarta
|
||||
139
data/keywords/kw_IN.txt
Normal file
139
data/keywords/kw_IN.txt
Normal file
@@ -0,0 +1,139 @@
|
||||
भारत पेट्रोलियम
|
||||
జాన్వీ కపూర్
|
||||
ഇന്ത്യ
|
||||
पाकिस्तान क्रिकेट बोर्ड
|
||||
आम
|
||||
pension
|
||||
மனிதநேய மக்கள் கட்சி
|
||||
mbose sslc result 2026
|
||||
মিমি চক্রবর্তী
|
||||
मार्को रुबियो
|
||||
tamil nadu tvk trust vote
|
||||
tn ministers list 2026
|
||||
munger university
|
||||
ബിനീഷ് കോടിയേരി
|
||||
आईसीसी क्रिकेट विश्व कप
|
||||
icsi
|
||||
dbt link online
|
||||
సాక్షి
|
||||
tirupati
|
||||
vi share price
|
||||
বিজয়
|
||||
সংবাদ
|
||||
तुला
|
||||
ऋषभ पंत
|
||||
muhammad rizwan
|
||||
banda
|
||||
dte
|
||||
hindalco share price
|
||||
form
|
||||
संगीत
|
||||
ডিজেল
|
||||
sslc revaluation 2026
|
||||
தமிழக முதல்வர்
|
||||
leaked details suggest the iphone 18 pro is launching soon with india pricing details
|
||||
సంజు శాంసన్
|
||||
रशिया
|
||||
infosys q4 bonus payouts
|
||||
भगवंत मान
|
||||
భర్త
|
||||
സര്ക്കാര്
|
||||
gta 6 release date
|
||||
kolkata temperature
|
||||
base
|
||||
വിശാല്
|
||||
sandeep lamichhane
|
||||
వంతెన
|
||||
ರಾಶಿ
|
||||
anandabazar patrika today
|
||||
தொல். திருமாவளவன்
|
||||
मोसमी पाऊस
|
||||
eenadu results
|
||||
aditi rao hydari cannes fashion
|
||||
rajinikanth
|
||||
ధర
|
||||
manabadi
|
||||
പ്രവചനം
|
||||
खाद्य तेल
|
||||
ebola virus
|
||||
png vs van
|
||||
comedk
|
||||
नेहा मर्दा
|
||||
protein
|
||||
রাজ চক্রবর্তী
|
||||
పావలా శ్యామల
|
||||
abu bilal al minuki
|
||||
पेंशन
|
||||
কর্কট রাশি
|
||||
औद्योगिक गलियारा
|
||||
bangladesh vs pakistan
|
||||
മിസൈല്
|
||||
వృషభం
|
||||
india football team
|
||||
red bull racing
|
||||
thailand open
|
||||
তাপপ্রবাহ
|
||||
বাজেট
|
||||
ప్రభాస్
|
||||
weather chennai
|
||||
petrol diesel prices may 14
|
||||
చెల్లింపు
|
||||
चीन
|
||||
aishwarya rai devdas cannes saree
|
||||
महिला
|
||||
উচ্চ মাধ্যমিক পরীক্ষার রেজাল্ট 2026
|
||||
ready
|
||||
bits
|
||||
अखिल भारतीय तृणमूल कांग्रेस
|
||||
george munsey
|
||||
sp velumani
|
||||
ഇസ്രായേല്
|
||||
sonia gandhi
|
||||
தமிழ்நாடு சட்டப் பேரவை
|
||||
vidya wires share
|
||||
bajaj broking
|
||||
పూజా హెగ్డే
|
||||
sowmiya anbumani
|
||||
rathan pandit
|
||||
floor test tamilnadu
|
||||
pakistan vs bangladesh
|
||||
നരേന്ദ്ര മോദി
|
||||
lebron james
|
||||
ajay mitchell
|
||||
coal india
|
||||
high court allahabad
|
||||
lakers vs oklahoma city thunder match player stats
|
||||
uae attacks iran
|
||||
car
|
||||
hii
|
||||
பிரதமர்
|
||||
ಬೆಂಗಳೂರು
|
||||
పరీక్ష
|
||||
aaditya thackeray
|
||||
pf withdrawal
|
||||
വി.ഡി. സതീശന്
|
||||
dhurandhar 2 box office collection
|
||||
nishant kumar bihar health minister
|
||||
phil salt rcb
|
||||
పత్తి
|
||||
hbse 10th result 2026
|
||||
today wordle answers
|
||||
argentina hantavirus
|
||||
rcb vs mi
|
||||
jagran josh 10th result 2026
|
||||
minab
|
||||
hapur
|
||||
मलेशिया
|
||||
pmjjby
|
||||
shoba chandrasekhar
|
||||
lnmu
|
||||
অশোক লাহিড়ী
|
||||
ధాన్యం
|
||||
तमिल नाडु
|
||||
शेयर एक्सचेंज
|
||||
amitabh bachchan death
|
||||
యుద్ధం
|
||||
बांगलादेश बनाम पाकिस्तान
|
||||
pakistan national cricket team
|
||||
தொல் திருமாவளவன்
|
||||
delhi news india news india weather delhi weather india economy rupee exchange rate delhi traffic delhi metro indira gandhi airport flights india tourism mumbai travel bangalore news hyderabad news india visa news times of india hindustan times the hindu indian express ndtv india today india election indian government rbi india stock market india sensex nifty india airtel jio vodafone idea flipkart india amazon india irctc train booking ola india uber india zomato swiggy india news today breaking news india weather today delhi jobs india hindi news आज की खबर दिल्ली मौसम रुपया विनिमय दर
|
||||
@@ -1,54 +1,200 @@
|
||||
al-nassr vs al-ettifaq
|
||||
arsenal
|
||||
レアル・マドリード
|
||||
バイエルン
|
||||
abema
|
||||
real madrid
|
||||
lucknow super giants vs royal challengers bengaluru standings
|
||||
bayern vs real madrid
|
||||
給付
|
||||
wowow
|
||||
小泉進次郎
|
||||
政権
|
||||
ミキティ
|
||||
ソニック
|
||||
今日のドジャースの結果
|
||||
新名神高速道路
|
||||
わたせせいぞう
|
||||
ピーチ航空
|
||||
旭川 市 旭山 動物園
|
||||
スーパーフォーミュラ
|
||||
スンミン
|
||||
軽トラック
|
||||
桜花賞
|
||||
首脳会談
|
||||
総合格闘家
|
||||
フジテレビジョン
|
||||
たまごっち casetify
|
||||
シマノ
|
||||
アステリア 株価
|
||||
アルティーリ千葉
|
||||
銀閣寺
|
||||
今日、好きになりました。
|
||||
小枝淳子
|
||||
石川遼
|
||||
大谷 防御 率
|
||||
jr九州
|
||||
第一生命
|
||||
九州大学
|
||||
経済政策
|
||||
宮崎優
|
||||
月組
|
||||
山陽新幹線
|
||||
週刊新潮
|
||||
マンホール
|
||||
サントリー
|
||||
加古川市
|
||||
エステバン オコン
|
||||
クマ 撃退 用 ポール
|
||||
マイニンテンドーストア
|
||||
椙山女学園大学
|
||||
名阪国道 事故
|
||||
函館市
|
||||
伊東四朗
|
||||
スター・ウォーズ/マンダロリアン・アンド・グローグー
|
||||
森口博子
|
||||
大崎市
|
||||
生活費
|
||||
国際通り
|
||||
高岡早紀
|
||||
ナフサショック
|
||||
京都産業大学
|
||||
日本生命
|
||||
野口 瑞希
|
||||
菊池 桃子
|
||||
なにわ男子
|
||||
村上卓哉
|
||||
萩原利久
|
||||
佐藤 琢磨 インディ 500
|
||||
ラジオ
|
||||
剛力彩芽
|
||||
バレーボール欧州チャンピオンズリーグ
|
||||
ガヌー
|
||||
ヴィクトリアマイル
|
||||
ニコニコ生放送
|
||||
花咲徳栄高等学校
|
||||
及川 光博
|
||||
エボラ出血熱 緊急 事態 宣言
|
||||
ヒロド歩美
|
||||
多部未華子
|
||||
瀬戸朝香
|
||||
ポケモンgo モノズ
|
||||
東大
|
||||
バークシャー ハサウェイ
|
||||
石田純一
|
||||
根尾昂
|
||||
水野美紀
|
||||
女子バスケ日本代表
|
||||
藤井風 チケット
|
||||
イングランド代表メンバー
|
||||
大沢たかお
|
||||
エハラマサヒロ
|
||||
中南海
|
||||
しんぶん赤旗
|
||||
鎌田大地
|
||||
高井幸大
|
||||
アイスランド
|
||||
警視総監
|
||||
necナイメヘン
|
||||
関西大学
|
||||
脳卒中
|
||||
ホンダ スーパー ワン
|
||||
比江島慎
|
||||
プラハ
|
||||
サッカーアイスランド代表
|
||||
呉市 火事
|
||||
ミルコ デムーロ
|
||||
クリエイト
|
||||
中山 功太 サバンナ 高橋
|
||||
石油資源開発
|
||||
ドナルド・トランプ
|
||||
vakit
|
||||
レガレイラ
|
||||
0
|
||||
ミレービスケット
|
||||
いすゞ ud
|
||||
天羽希純
|
||||
三浦孝太
|
||||
山本由伸
|
||||
アレックス・ベシア
|
||||
リバプール
|
||||
champions league
|
||||
エルニーニョ
|
||||
アトレティコ 対 バルセロナ
|
||||
オープンワールド
|
||||
atlético madrid vs barcelona
|
||||
松田好花
|
||||
リコール
|
||||
man united vs leeds
|
||||
白鵬翔
|
||||
日本アカデミー賞 最優秀助演男優賞
|
||||
マンu 対 リーズ u
|
||||
サンディスク 株価
|
||||
らじるらじる
|
||||
マクドナルド
|
||||
ロシア
|
||||
広島市
|
||||
ゲイブル・スティーブソン
|
||||
日本維新の会
|
||||
新 日本 繊維
|
||||
高見沢 俊彦
|
||||
不登校
|
||||
後期高齢者医療制度
|
||||
バーミヤン
|
||||
宮澤エマ
|
||||
チケプラ
|
||||
横綱
|
||||
宮里美香
|
||||
東京 天気 明日
|
||||
新宿 おすすめ 居酒屋
|
||||
最新のニュース 速報
|
||||
ゴールド 相場 チャート
|
||||
近くの静かなカフェ
|
||||
円安 影響 生活
|
||||
茨城県
|
||||
地球温暖化
|
||||
シャープ
|
||||
b.league award show
|
||||
光州
|
||||
奈々未
|
||||
マツダ 決算
|
||||
防衛省
|
||||
nba
|
||||
グーグル
|
||||
jリーグ百年構想
|
||||
杉浦 太陽
|
||||
客室乗務員
|
||||
パチスロ
|
||||
森保一
|
||||
横浜開港祭
|
||||
岡山 高校生 死亡
|
||||
間垣親方
|
||||
snow man dome tour 2025-2026 on
|
||||
島根スサノオマジック
|
||||
ジュビロ磐田
|
||||
エスパルス
|
||||
熱中症
|
||||
益若つばさ
|
||||
g大阪 対 広島
|
||||
fc東京 対 東京v
|
||||
炎鵬
|
||||
中村 里砂
|
||||
鳥取 対 北九州
|
||||
山口真由
|
||||
卓球王国
|
||||
秋山拓巳
|
||||
オリックス・バファローズ
|
||||
大田区
|
||||
岡田准一
|
||||
戸田建設
|
||||
8.6秒バズーカー
|
||||
オリックス 対 日本ハム
|
||||
坂梨 由芽 スーツアクター
|
||||
f1 ホンダ
|
||||
投手
|
||||
フェルナンド・アロンソ
|
||||
7203
|
||||
dirty frag
|
||||
フジロックフェスティバル
|
||||
首都高速道路
|
||||
nttドコモ
|
||||
高橋ヒロム
|
||||
横浜 道路陥没
|
||||
ウルトラザウルス
|
||||
村上 宗隆
|
||||
サブスク
|
||||
柄本時生
|
||||
藤田明美
|
||||
国会議事堂
|
||||
八代市
|
||||
堀井雄二
|
||||
イラン
|
||||
渋野日向子
|
||||
コンサドーレ
|
||||
コンサドーレ札幌
|
||||
栃木sc
|
||||
秋山翔吾
|
||||
大分トリニータ
|
||||
藤枝myfc
|
||||
大阪桐蔭高等学校
|
||||
鹿児島ユナイテッド
|
||||
j2
|
||||
変死体
|
||||
ミニストップ
|
||||
ゴゴスマ
|
||||
韓国 ホルムズ 海峡
|
||||
バンテリンドーム
|
||||
松本光平
|
||||
クーリエ・ジャポン
|
||||
タイアニ ライン デルス
|
||||
阿智村
|
||||
無印
|
||||
kpmg
|
||||
トランテックス
|
||||
31
|
||||
jin
|
||||
スタバ
|
||||
ゴンチャ
|
||||
travis japan
|
||||
ウォニョン
|
||||
dena 対 広島
|
||||
菅沼菜々
|
||||
カターレ富山
|
||||
北九州 対 大分
|
||||
山形 対 栃木sc
|
||||
平良海馬
|
||||
海上自衛隊
|
||||
ベナビデス
|
||||
weリーグ
|
||||
田中健
|
||||
ミステリーウェイ
|
||||
西野七瀬
|
||||
堀田真由
|
||||
横浜fc 対 相模原
|
||||
|
||||
76
data/keywords/kw_KH.txt
Normal file
76
data/keywords/kw_KH.txt
Normal file
@@ -0,0 +1,76 @@
|
||||
al-nassr vs damac
|
||||
1
|
||||
freiburg vs aston villa
|
||||
iphone
|
||||
chelsea f.c. vs tottenham standings
|
||||
premier league standings
|
||||
premier league
|
||||
chelsea
|
||||
bournemouth vs man city
|
||||
flow
|
||||
whatsapp
|
||||
cambodia fuel price increase
|
||||
arsenal
|
||||
arsenal vs burnley
|
||||
inter miami vs portland
|
||||
gold price
|
||||
barcelona vs real betis
|
||||
sevilla vs real madrid
|
||||
persib
|
||||
man united vs nottm forest
|
||||
xoso
|
||||
al-nassr vs gamba osaka
|
||||
bundesliga
|
||||
chelsea vs man city
|
||||
bayern vs köln
|
||||
fa cup
|
||||
xổ số miền nam
|
||||
ตรวจหวย
|
||||
x
|
||||
aston villa vs liverpool
|
||||
liverpool
|
||||
plp
|
||||
real madrid
|
||||
real madrid vs real oviedo
|
||||
xiaomi 17 max
|
||||
spotify 20
|
||||
sony xperia 1 viii
|
||||
cincinnati vs inter miami
|
||||
deportivo alavés vs fc barcelona standings
|
||||
inter milan
|
||||
man city vs palace
|
||||
alavés vs barcelona
|
||||
kuwait sc
|
||||
facebook
|
||||
swatch x audemars piguet
|
||||
osasuna vs atlético madrid
|
||||
al-nassr vs al-hilal
|
||||
forex factory
|
||||
ai
|
||||
napoli
|
||||
tottenham vs leeds
|
||||
the weeknd asia tour 2026
|
||||
xsmb
|
||||
thaksin shinawatra
|
||||
fc barcelona vs real madrid
|
||||
ac milan
|
||||
barcelona vs madrid
|
||||
barcelona
|
||||
west ham vs arsenal
|
||||
hantavirus infection hantavirus map
|
||||
palace vs everton
|
||||
burnley vs aston villa
|
||||
ufc
|
||||
happy mother day
|
||||
real madrid vs barcelona
|
||||
atlético madrid vs celta
|
||||
wolfsburg vs bayern
|
||||
man city vs brentford
|
||||
weather tomorrow
|
||||
sunderland vs man united
|
||||
hantavirus map live
|
||||
hantavirus map
|
||||
2027 lexus tz
|
||||
apple iphone 18 pro max
|
||||
uefa europa league
|
||||
phnom penh news cambodia news cambodia weather phnom penh weather cambodia economy khmer riel exchange rate cambodia tourism siem reap travel angkor wat travel phnom penh traffic cambodia airport flights cambodia visa news khmer times phnom penh post fresh news cambodia grab cambodia foodpanda cambodia aba bank cambodia acleda bank cambodia wing money cambodia smart metfone cellcard cambodia lazada cambodia shopee cambodia khmer news today ព័ត៌មានថ្ងៃនេះ ភ្នំពេញ អាកាសធាតុ កម្ពុជា តម្លៃប្រាក់រៀល
|
||||
200
data/keywords/kw_KR.txt
Normal file
200
data/keywords/kw_KR.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
계부
|
||||
lg디스플레이
|
||||
농지 전수조사
|
||||
검찰
|
||||
여객기
|
||||
허남준
|
||||
태영호
|
||||
엘지트윈스
|
||||
유로 파이터
|
||||
황보라
|
||||
여론
|
||||
구윤철
|
||||
lg전자 주가
|
||||
같이 삽시다
|
||||
엘지전자
|
||||
엔씨
|
||||
공무원
|
||||
동행
|
||||
국가장학금
|
||||
황윤성
|
||||
이수지
|
||||
노동조합
|
||||
서건창
|
||||
김정우
|
||||
박군
|
||||
카카오 파업
|
||||
sk텔레콤
|
||||
던파
|
||||
리테일
|
||||
이수혁
|
||||
삼성 갤럭시 z 플립
|
||||
삼성 노조
|
||||
자금시장
|
||||
청계천
|
||||
육군
|
||||
단체보험
|
||||
신입사원 강회장
|
||||
세무조사
|
||||
박세영
|
||||
박진만
|
||||
무빙
|
||||
mc몽
|
||||
롤 국대
|
||||
로리 맥길로이
|
||||
최태성
|
||||
이탁수
|
||||
계산동
|
||||
교수
|
||||
셰프
|
||||
항공모함
|
||||
지나 카라노
|
||||
수확
|
||||
현대위아
|
||||
전인화
|
||||
김진성
|
||||
오타니 쇼헤이
|
||||
이마트
|
||||
bangladesh vs pakistan
|
||||
김동현
|
||||
hanwha vs kt
|
||||
베트남
|
||||
교사
|
||||
고진영
|
||||
서울장미축제
|
||||
ban vs pak
|
||||
usa vs nep
|
||||
보편적 기본소득
|
||||
mbk 파트너스
|
||||
남진
|
||||
전국노래자랑
|
||||
키옥시아
|
||||
무주산골영화제
|
||||
김민하
|
||||
빅뱅
|
||||
채무
|
||||
사이드카
|
||||
수원 fc 위민
|
||||
채권
|
||||
랄랄
|
||||
임지연
|
||||
정의선
|
||||
afc u 17 아시안 컵
|
||||
전시작전통제권
|
||||
수수료
|
||||
스테픈 커리
|
||||
이주빈
|
||||
구더기
|
||||
이라크
|
||||
민생회복지원금
|
||||
주광덕
|
||||
민방위
|
||||
박찬호
|
||||
고양시
|
||||
민방위 훈련
|
||||
집단 소송
|
||||
정국
|
||||
해피투게더
|
||||
김태희
|
||||
공대지 미사일
|
||||
유주
|
||||
팔란티어 테크놀로지
|
||||
스파이
|
||||
소비
|
||||
최미나수
|
||||
필리핀
|
||||
코너 맥그리거
|
||||
키움증권
|
||||
sk 하이닉스
|
||||
닌텐도 스위치 2
|
||||
복지
|
||||
모두의 창업
|
||||
한국경제신문
|
||||
양상국
|
||||
위대한 가이드
|
||||
불기소 처분
|
||||
김태년
|
||||
성남 대 전남
|
||||
천안시
|
||||
손주
|
||||
장민호
|
||||
송금
|
||||
김혜성
|
||||
이스라엘
|
||||
박재현
|
||||
joshua van
|
||||
최재명
|
||||
연금복권 1,2등 동시 당첨
|
||||
제주 대 fc 서울
|
||||
관광객
|
||||
사고
|
||||
한국철도공사
|
||||
김영웅
|
||||
오승환
|
||||
중산층
|
||||
빌라
|
||||
정원오
|
||||
김지원
|
||||
최준영
|
||||
이영호
|
||||
에이피알
|
||||
펜타포트
|
||||
유조선
|
||||
곡사포
|
||||
이자
|
||||
디나미스원
|
||||
개헌안
|
||||
lafc
|
||||
최태원
|
||||
쯔양
|
||||
장마
|
||||
정수정
|
||||
이창호
|
||||
현대차 채용
|
||||
박지원
|
||||
울산항
|
||||
에이 비엘 바이오
|
||||
하하
|
||||
삼성물산
|
||||
풍력 발전
|
||||
지수
|
||||
수익률
|
||||
라이언 와이스
|
||||
사우디아라비아
|
||||
nc 대 ssg
|
||||
경북대학교
|
||||
한화 대 kia
|
||||
롯데 대 kt
|
||||
키움 대 삼성
|
||||
두산 대 lg
|
||||
대학
|
||||
여객선
|
||||
고우림
|
||||
안젤리나 졸리
|
||||
안성재
|
||||
토요타 rav4
|
||||
황희찬
|
||||
g7
|
||||
항공 승무원
|
||||
스트레티지
|
||||
대한전선
|
||||
나승엽
|
||||
인플루언서
|
||||
이재욱
|
||||
삼성바이오로직스
|
||||
스마일게이트
|
||||
강민호
|
||||
mls
|
||||
장도연
|
||||
이재명 정부
|
||||
예방 접종
|
||||
통장
|
||||
소송
|
||||
울산 대 포항
|
||||
fc 서울 대 김천상무
|
||||
차명석
|
||||
붉은사막
|
||||
소라와 진경
|
||||
멕시코 축구 국가 대표팀
|
||||
한화시스템
|
||||
윤영경
|
||||
131
data/keywords/kw_LA.txt
Normal file
131
data/keywords/kw_LA.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
andor
|
||||
jack quaid
|
||||
chud the builder bond
|
||||
bts las vegas
|
||||
catalina island
|
||||
byron allen
|
||||
billboard top 100
|
||||
magic johnson
|
||||
dune
|
||||
one piece 1183
|
||||
benji madden
|
||||
dp world tour
|
||||
vincent d'onofrio
|
||||
antonio gracias
|
||||
anthony starr
|
||||
robert de niro
|
||||
amanda peet
|
||||
zoe kravitz
|
||||
huawei
|
||||
william shatner
|
||||
bts members
|
||||
carls jr
|
||||
jungkook
|
||||
trump bank citizenship executive order
|
||||
salman khan
|
||||
sơn ngọc minh
|
||||
tom selleck
|
||||
testaments
|
||||
cps outage map
|
||||
air quality
|
||||
pak vs ban
|
||||
ameren
|
||||
power outage near me
|
||||
usc
|
||||
mikey williams
|
||||
pitchfork
|
||||
boeing 737
|
||||
luke benward
|
||||
conor benn
|
||||
houses
|
||||
the boys finale
|
||||
iu
|
||||
lorde
|
||||
hawaiian monk seal
|
||||
michael jordan
|
||||
nifty 50
|
||||
charlie evans
|
||||
edc lineup
|
||||
nick lachey
|
||||
navy federal
|
||||
titanic
|
||||
sonic kapolei
|
||||
collector leviathan
|
||||
kbo
|
||||
ebola outbreak
|
||||
jamie vardy
|
||||
new york times
|
||||
terry stotts warriors departure
|
||||
laptop
|
||||
ucla softball game today
|
||||
nathan lane
|
||||
arnold allen
|
||||
strong acid subnautica 2
|
||||
lluvia
|
||||
bitcoin
|
||||
kospi
|
||||
idris elba
|
||||
famous basketball players
|
||||
outlander finale
|
||||
usc baseball
|
||||
tanner scott
|
||||
dodger standings
|
||||
elle kennedy
|
||||
super mario galaxy movie boxoffice
|
||||
jill kargman
|
||||
gta 6 pre order
|
||||
icc
|
||||
star citizen
|
||||
习近平
|
||||
fifa world cup 2026
|
||||
ca lottery
|
||||
jaire alexander
|
||||
bernadette peters
|
||||
spokane weather
|
||||
ashley judd
|
||||
jg quintel
|
||||
michael rapaport
|
||||
mookie betts
|
||||
giants game today
|
||||
shea langeliers
|
||||
iran missiles
|
||||
sf giants
|
||||
kash patel fbi director
|
||||
nba playoffs bracket
|
||||
warriors
|
||||
skip bayless
|
||||
nba free agents 2026
|
||||
nba finals
|
||||
lakers box score
|
||||
hachimura
|
||||
nba mvp
|
||||
nba live
|
||||
dram stock
|
||||
the boys season 5 episode 7
|
||||
united flight 579 diversion
|
||||
homicide
|
||||
frontier airlines hits person
|
||||
weather forecast texas
|
||||
tim burton
|
||||
alfredo adame
|
||||
seven
|
||||
priyanka chopra
|
||||
russia ukraine war
|
||||
julio cesar chavez
|
||||
ufc post fight press conference
|
||||
apac
|
||||
tenerife
|
||||
aipac
|
||||
white house card ufc
|
||||
terence crawford
|
||||
humberto cruz
|
||||
neymar
|
||||
ben affleck
|
||||
udonis haslem
|
||||
mark zuckerberg
|
||||
la county fair 2026
|
||||
yaroslav amosov
|
||||
xiaodi you
|
||||
joaquin buckley
|
||||
shootout
|
||||
vientiane news laos news lao news laos weather vientiane weather laos economy lao kip exchange rate vientiane traffic wattay airport flights laos tourism luang prabang travel vang vieng travel laos visa news vientiane times kpl lao news pasaxon news bank of laos lao telecom unitel laos tplus laos foodpanda laos lao airlines laos hotels laos government laos electricity laos news today ຂ່າວມື້ນີ້ ວຽງຈັນ ອາກາດ ລາວ ເງິນກີບ
|
||||
101
data/keywords/kw_MM.txt
Normal file
101
data/keywords/kw_MM.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
al-fayha vs al-hilal
|
||||
google
|
||||
al-nassr vs damac
|
||||
天气
|
||||
nba
|
||||
freiburg vs aston villa
|
||||
1
|
||||
saroj khan
|
||||
whatsapp
|
||||
chelsea f.c. vs tottenham standings
|
||||
premier league games
|
||||
premier league
|
||||
premier league standings
|
||||
chelsea
|
||||
bournemouth vs man city
|
||||
ကျောင်း
|
||||
အာဆင်နယ် နှင့် ဘန်လေ
|
||||
arsenal vs burnley
|
||||
np news
|
||||
ငလျင်
|
||||
earthquake near me
|
||||
earthquake
|
||||
inter miami vs portland
|
||||
paris fc vs psg
|
||||
barcelona vs real betis
|
||||
atlético madrid vs girona
|
||||
everton f.c. vs sunderland a.f.c. standings
|
||||
sevilla vs real madrid
|
||||
newcastle vs west ham
|
||||
al-nassr vs gamba osaka
|
||||
al-hilal vs neom
|
||||
football live
|
||||
chelsea f.c. women vs manchester united w.f.c. standings
|
||||
chelsea vs man city
|
||||
bayern vs köln
|
||||
west ham vs man city
|
||||
chelsea vs man utd
|
||||
liverpool vs arsenal
|
||||
ตรวจหวย
|
||||
xiaomi 17t pro
|
||||
aston villa vs liverpool
|
||||
one
|
||||
one championship
|
||||
fa youth cup final
|
||||
gta6
|
||||
iphone
|
||||
videos
|
||||
real madrid vs real oviedo
|
||||
xiaomi 17 max
|
||||
sony xperia 1 viii
|
||||
cincinnati vs inter miami
|
||||
lens vs psg
|
||||
deportivo alavés vs fc barcelona standings
|
||||
arsenal vs everton
|
||||
man city
|
||||
alavés vs barcelona
|
||||
man city vs palace
|
||||
pubg battlegrounds
|
||||
osasuna vs atlético madrid standings
|
||||
facebook
|
||||
southampton vs middlesbrough
|
||||
osasuna vs atlético madrid
|
||||
al-nassr vs al-hilal
|
||||
ကမ္ဘာ့ဖလား
|
||||
11000 carat ruby myanmar
|
||||
အမျိုးသားညီညွတ်ရေး အစိုးရ
|
||||
pubg 4.4 update
|
||||
pubg
|
||||
myanmar ruby
|
||||
tottenham vs leeds
|
||||
ဖိလစ်ပိုင်
|
||||
hantavirus infections cruise ship
|
||||
myanma railways yangon mandalay upgrade
|
||||
psg vs stade brestois standings
|
||||
real madrid
|
||||
psg vs brest
|
||||
barcelona
|
||||
apple iphone 18 pro max
|
||||
west ham vs arsenal
|
||||
real madrid vs barcelona
|
||||
burnley vs aston villa
|
||||
nottm forest vs newcastle
|
||||
palace vs everton
|
||||
mothers day
|
||||
joshua van vs tatsuro taira
|
||||
ufc live
|
||||
toronto vs inter miami
|
||||
vfl wolfsburg vs bayern munich standings
|
||||
atlético madrid vs celta
|
||||
man city vs brentford
|
||||
wolfsburg vs bayern
|
||||
ซันเดอร์แลนด์ พบ แมนยู
|
||||
hantavirus map
|
||||
al-hilal vs al kholood
|
||||
ufc
|
||||
war.gov/ufo
|
||||
al shabab fc
|
||||
saudi pro league
|
||||
joshua van
|
||||
aston villa vs nottingham forest
|
||||
yangon news myanmar news myanmar weather yangon weather myanmar economy kyat exchange rate yangon traffic yangon airport flights myanmar visa news myanmar times irrawaddy news myanmar now eleven myanmar grab myanmar foodpanda myanmar shop com mm myanmar telecom mpt ooredoo telenor myanmar tourism bagan travel mandalay travel myanmar hotels myanmar politics myanmar stock exchange myanmar bank central bank myanmar news today သတင်း ယနေ့ ရန်ကုန် ရာသီဥတု မြန်မာ ကျပ်ငွေ
|
||||
131
data/keywords/kw_MN.txt
Normal file
131
data/keywords/kw_MN.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
jpegmafia
|
||||
andor
|
||||
jack quaid
|
||||
chud the builder bond
|
||||
bts las vegas
|
||||
catalina island
|
||||
byron allen
|
||||
billboard top 100
|
||||
magic johnson
|
||||
dune
|
||||
benji madden
|
||||
dp world tour
|
||||
vincent d'onofrio
|
||||
antonio gracias
|
||||
anthony starr
|
||||
robert de niro
|
||||
amanda peet
|
||||
zoe kravitz
|
||||
huawei
|
||||
william shatner
|
||||
bts members
|
||||
carls jr
|
||||
jungkook
|
||||
trump bank citizenship executive order
|
||||
salman khan
|
||||
sơn ngọc minh
|
||||
tom selleck
|
||||
testaments
|
||||
cps outage map
|
||||
air quality
|
||||
pak vs ban
|
||||
ameren
|
||||
power outage near me
|
||||
usc
|
||||
mikey williams
|
||||
pitchfork
|
||||
boeing 737
|
||||
luke benward
|
||||
conor benn
|
||||
houses
|
||||
the boys finale
|
||||
iu
|
||||
lorde
|
||||
hawaiian monk seal
|
||||
michael jordan
|
||||
nifty 50
|
||||
charlie evans
|
||||
edc lineup
|
||||
nick lachey
|
||||
navy federal
|
||||
titanic
|
||||
sonic kapolei
|
||||
collector leviathan
|
||||
kbo
|
||||
ebola outbreak
|
||||
jamie vardy
|
||||
new york times
|
||||
terry stotts warriors departure
|
||||
laptop
|
||||
ucla softball game today
|
||||
nathan lane
|
||||
arnold allen
|
||||
strong acid subnautica 2
|
||||
lluvia
|
||||
bitcoin
|
||||
kospi
|
||||
idris elba
|
||||
famous basketball players
|
||||
outlander finale
|
||||
usc baseball
|
||||
tanner scott
|
||||
dodger standings
|
||||
elle kennedy
|
||||
super mario galaxy movie boxoffice
|
||||
jill kargman
|
||||
gta 6 pre order
|
||||
icc
|
||||
star citizen
|
||||
习近平
|
||||
fifa world cup 2026
|
||||
ca lottery
|
||||
jaire alexander
|
||||
bernadette peters
|
||||
spokane weather
|
||||
ashley judd
|
||||
jg quintel
|
||||
michael rapaport
|
||||
mookie betts
|
||||
giants game today
|
||||
shea langeliers
|
||||
iran missiles
|
||||
sf giants
|
||||
kash patel fbi director
|
||||
nba playoffs bracket
|
||||
warriors
|
||||
skip bayless
|
||||
nba free agents 2026
|
||||
nba finals
|
||||
lakers box score
|
||||
hachimura
|
||||
nba mvp
|
||||
nba live
|
||||
dram stock
|
||||
the boys season 5 episode 7
|
||||
united flight 579 diversion
|
||||
homicide
|
||||
frontier airlines hits person
|
||||
weather forecast texas
|
||||
tim burton
|
||||
alfredo adame
|
||||
seven
|
||||
priyanka chopra
|
||||
russia ukraine war
|
||||
julio cesar chavez
|
||||
ufc post fight press conference
|
||||
apac
|
||||
tenerife
|
||||
aipac
|
||||
white house card ufc
|
||||
terence crawford
|
||||
humberto cruz
|
||||
neymar
|
||||
ben affleck
|
||||
udonis haslem
|
||||
mark zuckerberg
|
||||
la county fair 2026
|
||||
yaroslav amosov
|
||||
xiaodi you
|
||||
joaquin buckley
|
||||
shootout
|
||||
ulaanbaatar news mongolia news mongolia weather ulaanbaatar weather mongolia economy tugrik exchange rate ulaanbaatar traffic mongolia tourism gobi desert travel mongolia visa news montsame news ikon mn gogo mn mongolia government mongolbank mongolia telecom unitel skytel mobinet mongolia news today breaking news mongolia weather today ulaanbaatar jobs mongolia mining news mongolia coal export news өнөөдрийн мэдээ улаанбаатар цаг агаар төгрөг ханш
|
||||
142
data/keywords/kw_MO.txt
Normal file
142
data/keywords/kw_MO.txt
Normal file
@@ -0,0 +1,142 @@
|
||||
墳場主管
|
||||
郭富城
|
||||
bts
|
||||
郭晉安
|
||||
房屋署
|
||||
張天賦演唱會
|
||||
黃百鳴
|
||||
長者生活津貼
|
||||
郭羨妮
|
||||
classroom
|
||||
宏福苑
|
||||
hong kong red rainstorm warning
|
||||
公務員 加 薪
|
||||
李家鼎
|
||||
校長
|
||||
港 漂
|
||||
now體育
|
||||
乙明邨
|
||||
max dowman
|
||||
陳慧琳
|
||||
九龍灣
|
||||
the weeknd
|
||||
杨婉仪
|
||||
信报财经新闻
|
||||
港漂
|
||||
樂易玲
|
||||
香港公务员事务
|
||||
antigravity
|
||||
knicks vs cavaliers
|
||||
trip
|
||||
旅行社
|
||||
蔡卓妍
|
||||
天文台
|
||||
陳同佳
|
||||
白雪仙
|
||||
hk observatory
|
||||
observatory
|
||||
dylan harper
|
||||
迪倫·哈珀
|
||||
iu
|
||||
首次公开募股
|
||||
麦当劳
|
||||
pistons vs cavaliers
|
||||
工资
|
||||
ivy so
|
||||
live nation
|
||||
livenation
|
||||
活塞 對 騎士
|
||||
人工智慧
|
||||
谢贤
|
||||
紐西蘭
|
||||
血糖
|
||||
伊波拉病毒
|
||||
eurovision 2026
|
||||
炎明熹
|
||||
jennie
|
||||
elliot page
|
||||
荃湾
|
||||
weather
|
||||
新西蘭車禍
|
||||
陳浚霆
|
||||
机票
|
||||
timberwolves vs spurs
|
||||
洪金寶
|
||||
灰狼 對 馬刺
|
||||
騎士 對 活塞
|
||||
张凌赫
|
||||
jannik sinner
|
||||
samsung
|
||||
龍婷
|
||||
波音
|
||||
裕東苑
|
||||
擎天崗
|
||||
楊洋
|
||||
2027 公眾假期
|
||||
山崎和佳奈
|
||||
iceman
|
||||
中南海
|
||||
周慧敏
|
||||
news
|
||||
thucydides trap
|
||||
citadel
|
||||
李連杰
|
||||
盧惠光
|
||||
習近平
|
||||
mc 演唱會 2026
|
||||
谷德昭
|
||||
mc
|
||||
癌症
|
||||
容羨媛
|
||||
panasonic l10
|
||||
sony xperia 1 viii
|
||||
燒 味
|
||||
黃仁勳
|
||||
謝瑞麟
|
||||
spurs vs timberwolves
|
||||
深圳地铁
|
||||
特朗普訪華
|
||||
hong kong express
|
||||
hong kong
|
||||
nba
|
||||
湖人
|
||||
test
|
||||
邓兆尊
|
||||
kktix
|
||||
湖人 對 雷霆
|
||||
蔡少芬
|
||||
林詩棟
|
||||
ap swatch
|
||||
網約車
|
||||
許志安
|
||||
canvas
|
||||
mc 張天賦演唱會
|
||||
victor wembanyama
|
||||
sk hynix
|
||||
海力士
|
||||
薛家燕
|
||||
毛樂禮
|
||||
mps
|
||||
聞泰科技
|
||||
港幣兌人民幣
|
||||
萬 寧 88 折
|
||||
張曼玉
|
||||
羅湖
|
||||
amos yee
|
||||
逮捕
|
||||
hkjc
|
||||
穎喬
|
||||
76ers vs knicks
|
||||
百度
|
||||
mothers day
|
||||
文佳煐
|
||||
美國ufo
|
||||
mothers day 2026
|
||||
76人 對 尼克
|
||||
陳山聰
|
||||
美國 ufo
|
||||
百佳
|
||||
weather hong kong
|
||||
世界桌球錦標賽
|
||||
intc
|
||||
mu stock
|
||||
200
data/keywords/kw_MY.txt
Normal file
200
data/keywords/kw_MY.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
mahkamah
|
||||
tm stadium nasional kuala lumpur
|
||||
bts concert malaysia
|
||||
live nation
|
||||
bts
|
||||
benjamin netanyahu
|
||||
puasa arafah 2026
|
||||
rempuh
|
||||
tm stadium nasional
|
||||
tm national stadium
|
||||
the vocket
|
||||
iphone
|
||||
berjaya air
|
||||
denza b8
|
||||
klia influencer viral parking complaint
|
||||
tony fernandes
|
||||
jalen williams
|
||||
dylan harper
|
||||
stephon castle
|
||||
tenaga nasional berhad
|
||||
ketua polis selangor
|
||||
pig farming
|
||||
taijul islam
|
||||
telekom malaysia
|
||||
sajid khan
|
||||
nurul asyikin sutan shahril
|
||||
the weeknd malaysia
|
||||
scotland vs usa
|
||||
southampton f.c.
|
||||
gemini spark
|
||||
parti keadilan rakyat
|
||||
takraw world cup 2026
|
||||
petroleum
|
||||
curacao
|
||||
wilayah persekutuan kuala lumpur
|
||||
devin vassell
|
||||
shai gilgeous-alexander
|
||||
alex caruso
|
||||
oklahoma city thunder vs san antonio spurs match player stats
|
||||
nba live score
|
||||
kelana jaya lrt line disruption
|
||||
jang dong ju
|
||||
美元
|
||||
wong chen
|
||||
hamzah zainudin
|
||||
scotland vs nepal
|
||||
talk to my manager
|
||||
sam merrill
|
||||
活塞 - 骑士
|
||||
ticketmaster
|
||||
conor mcgregor
|
||||
bangladesh vs pakistan
|
||||
badminton
|
||||
angels vs dodgers
|
||||
ronda rousey
|
||||
nurburgring 24h 2026
|
||||
gaji mei 2026
|
||||
penyelam
|
||||
mesyuarat
|
||||
weather warning
|
||||
politik
|
||||
fraud
|
||||
森林狼 - 马刺
|
||||
timberwolves vs spurs
|
||||
dewan bandaraya kuala lumpur
|
||||
骑士 - 活塞
|
||||
karam singh walia
|
||||
yusry abdul halim
|
||||
cavaliers vs pistons
|
||||
azam baki
|
||||
boeing
|
||||
bukit bintang
|
||||
iceman
|
||||
dodgers vs giants
|
||||
barbara palvin
|
||||
fa youth cup final
|
||||
hot fm
|
||||
wnba
|
||||
thucydides trap
|
||||
fan bingbing
|
||||
nik nazmi nik ahmad
|
||||
motorcycle
|
||||
coach
|
||||
st. louis vs lafc
|
||||
karuppu release date
|
||||
farmer
|
||||
msci
|
||||
the punisher one last kill
|
||||
polycystic ovary syndrome
|
||||
moka fang
|
||||
bayi
|
||||
new zealand
|
||||
the weeknd concert malaysia
|
||||
zul ariffin
|
||||
ron95 subsidy t20
|
||||
jho low
|
||||
lebron james
|
||||
ajay mitchell
|
||||
t20 fuel subsidy
|
||||
lakers vs oklahoma city thunder match player stats
|
||||
nba live
|
||||
google
|
||||
test
|
||||
amy hood
|
||||
nba scores
|
||||
audemars piguet swatch watches
|
||||
daud bakar
|
||||
anna jobling
|
||||
livenation
|
||||
perak
|
||||
the weeknd
|
||||
victor wembanyama
|
||||
lafc vs houston dynamo
|
||||
rafizi ramli
|
||||
hantavirus cases
|
||||
sengottaiyan
|
||||
rahul gandhi
|
||||
yang di-pertuan agong
|
||||
alexander volkov
|
||||
sean brady
|
||||
湖人 - 雷霆
|
||||
backlash 2026
|
||||
tamil nadu news
|
||||
hyun bin
|
||||
josh hokit
|
||||
happy mothers day
|
||||
76人 - 尼克斯
|
||||
rhb
|
||||
dortmund vs eintracht frankfurt
|
||||
sir david attenborough
|
||||
saman
|
||||
ana airlines
|
||||
水晶宫 - 顿涅茨克矿工
|
||||
strasbourg vs rayo vallecano
|
||||
marissa dania hakim
|
||||
大马卡
|
||||
palace vs shakhtar donetsk
|
||||
malaysia foreign driving licence conversion
|
||||
keputusan
|
||||
assist
|
||||
马刺 - 森林狼
|
||||
airbus a220
|
||||
尼克斯 - 76人
|
||||
spurs vs timberwolves
|
||||
perkeso
|
||||
tvk vijay election results
|
||||
knicks vs 76ers
|
||||
nsc
|
||||
mykad
|
||||
honda city
|
||||
sspn
|
||||
cimb group holdings berhad
|
||||
谢伊·吉尔杰斯-亚历山大
|
||||
recoleta fc vs santos fc standings
|
||||
teams
|
||||
ucl final 2026
|
||||
雷霆 - 湖人
|
||||
final ucl
|
||||
nubhan
|
||||
economy
|
||||
johor darul ta'zim
|
||||
world championship snooker final
|
||||
安东尼·爱德华兹
|
||||
hantavirus infections cruise ship
|
||||
undang luak sungai ujong
|
||||
peluru berpandu
|
||||
nepal vs oman
|
||||
central bank of malaysia
|
||||
trisha
|
||||
rudy giuliani
|
||||
taiping
|
||||
go live
|
||||
perkahwinan
|
||||
malaysia marathon
|
||||
results.eci.gov.in 2026
|
||||
dean wade
|
||||
mom
|
||||
jeram toi
|
||||
haji
|
||||
earthquake
|
||||
leverkusen vs rb leipzig
|
||||
凯尔特人 - 76人
|
||||
tiong king sing
|
||||
palmeiras vs santos
|
||||
奥萨苏纳 - 巴塞罗那
|
||||
inter miami vs orlando city
|
||||
uae opec exit analysis
|
||||
grab cross border taxi
|
||||
menteri besar negeri sembilan
|
||||
malaysia badminton thomas cup
|
||||
猛龙 - 骑士
|
||||
flower moon
|
||||
ek din movie review
|
||||
火箭 - 湖人
|
||||
macbook
|
||||
china
|
||||
global sumud flotilla 2.0
|
||||
nepal vs uae
|
||||
森林狼 - 掘金
|
||||
robotaxi
|
||||
200
data/keywords/kw_NG.txt
Normal file
200
data/keywords/kw_NG.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
weather
|
||||
jorge jesus
|
||||
mls table
|
||||
fc utrecht vs sc heerenveen
|
||||
messi
|
||||
al nasser
|
||||
julián quiñones
|
||||
al-nassr vs damac fc stats
|
||||
benzema
|
||||
utrecht fc
|
||||
news
|
||||
google ai studio
|
||||
flamengo vs estudiantes
|
||||
public holiday
|
||||
punchng
|
||||
linkedin
|
||||
telegram
|
||||
spurs vs thunder
|
||||
sofascore
|
||||
santos fc
|
||||
orlando city vs atlanta united
|
||||
the boys
|
||||
claude ai
|
||||
knicks vs cavaliers
|
||||
audax italiano
|
||||
whatsapp
|
||||
air force monica witt
|
||||
fluminense vs bolívar
|
||||
enzo fernandez
|
||||
national youth service corps
|
||||
benue news
|
||||
weather today
|
||||
oyetola
|
||||
thunder vs spurs
|
||||
luiz henrique
|
||||
hincapie
|
||||
rayan
|
||||
neymar
|
||||
arsenal vs crystal palace
|
||||
griezmann
|
||||
dembele injury
|
||||
bbc hausa.com
|
||||
donald trump
|
||||
nashville vs lafc
|
||||
pistons vs cavaliers
|
||||
mls
|
||||
inter miami vs portland
|
||||
ligue 1
|
||||
nice
|
||||
air peace
|
||||
www bbc hausa
|
||||
nigeria newspapers
|
||||
francis ngannou
|
||||
ronda rousey
|
||||
palmeiras vs cruzeiro
|
||||
xiaomi 17t pro
|
||||
air force intelligence specialist
|
||||
cd tolima vs atletico nacional medellin
|
||||
abu bilal al minuki
|
||||
xxl
|
||||
wife
|
||||
nba
|
||||
timberwolves vs spurs
|
||||
cavaliers vs pistons
|
||||
evika silina
|
||||
jamb utme 2026 institution change
|
||||
mohamed salah
|
||||
virgil van dijk
|
||||
tinubu support dangote refinery
|
||||
julius omodayo owotuga
|
||||
ia central cordoba vs quimsa santiogo del estero
|
||||
adam sandler grown ups 3
|
||||
2027 social security cola estimate
|
||||
acapulco restaurant closing locations
|
||||
a24 backrooms movie
|
||||
iceman drake
|
||||
federal bureau of investigation
|
||||
dangote refinery
|
||||
bbc.hausa
|
||||
benjamin netanyahu
|
||||
asset forfeiture
|
||||
fifa world cup
|
||||
cincinnati vs inter miami
|
||||
coritiba vs santos
|
||||
ikeja electric
|
||||
israel
|
||||
film
|
||||
amazon
|
||||
spurs vs timberwolves
|
||||
xm
|
||||
the punisher one last kill
|
||||
blue video
|
||||
jamb cut-off mark for 2026
|
||||
adebayo adelabu
|
||||
lakers vs thunder
|
||||
2001 ford explorer sportsman concept
|
||||
rayo vallecano vs girona fc standings
|
||||
aisha yesufu
|
||||
tottenham fixtures
|
||||
diesel fuel
|
||||
seyi tinubu
|
||||
man city chelsea fa cup
|
||||
benfica fc
|
||||
home
|
||||
open heaven for today 2026
|
||||
victor wembanyama
|
||||
abdul samad rabiu
|
||||
$70 million lotto max jackpot winner
|
||||
israel iran war
|
||||
santos vs bragantino
|
||||
gavi
|
||||
bbc hausa news
|
||||
ac milan vs atalanta prediction
|
||||
wwe backlash 2026
|
||||
fuji moto
|
||||
ufc
|
||||
noni madueke
|
||||
when is mother's day
|
||||
salawa abeni
|
||||
daniel dubois
|
||||
ilebaye
|
||||
samsung galaxy s25 ultra one ui 8.5
|
||||
76ers vs knicks
|
||||
update
|
||||
leandro trossard
|
||||
arsenal champions league
|
||||
aviation fuel
|
||||
al hilal vs
|
||||
kai havertz
|
||||
b
|
||||
independiente medellin vs cr flamengo rj
|
||||
joni lamb
|
||||
pope leo xiv bank call
|
||||
fcmb
|
||||
kodak black
|
||||
cole palmer
|
||||
election law
|
||||
one ui 8.5 release date
|
||||
knicks vs 76ers
|
||||
atenas cordoba vs argentino junin
|
||||
mikel merino return date arsenal
|
||||
mbappe
|
||||
junior kroupi
|
||||
top scorer in champions league
|
||||
puskas arena
|
||||
trending video
|
||||
recoleta fc vs santos fc standings
|
||||
ig
|
||||
2026 uae eid al adha
|
||||
thunder vs lakers
|
||||
adams oshiomhole
|
||||
jamb news
|
||||
2027 social security cola
|
||||
10th nigeria national assembly
|
||||
moniepoint
|
||||
ypiranga fc rs vs ituano fc sp
|
||||
birthday wishes
|
||||
apple iphone 18 pro max
|
||||
hantavirus infections cruise ship
|
||||
ben ayade
|
||||
desmond elliot
|
||||
joint admissions and matriculation board
|
||||
nrc
|
||||
raptors vs cavaliers
|
||||
f
|
||||
cavaliers vs raptors
|
||||
hantavirus
|
||||
ol vs rennes
|
||||
35th fighter wing
|
||||
vinícius júnior
|
||||
espanyol vs real madrid standings
|
||||
liverpool news
|
||||
nigeria news
|
||||
40k armageddon box
|
||||
palmeiras vs santos
|
||||
celtics vs 76ers
|
||||
inter miami vs orlando city
|
||||
arsenal vs fulham premier league
|
||||
alabama redistricting
|
||||
barca news
|
||||
barcelona news
|
||||
rockets vs lakers
|
||||
magic vs pistons
|
||||
twitch tv
|
||||
leke abejide
|
||||
mallorca
|
||||
living wage
|
||||
noah okafor
|
||||
remi tinubu
|
||||
imperfect women
|
||||
ekiti
|
||||
china
|
||||
timberwolves vs nuggets
|
||||
76ers vs celtics
|
||||
knicks vs hawks
|
||||
hawks vs knicks
|
||||
spotify
|
||||
labour day
|
||||
asake new album
|
||||
lakers
|
||||
@@ -1,35 +1,200 @@
|
||||
manuel neuer
|
||||
neuer
|
||||
olise
|
||||
mbappe
|
||||
sporting
|
||||
live tv
|
||||
bayern munchen
|
||||
arda güler
|
||||
ziggo
|
||||
arda guler
|
||||
netflix
|
||||
vader
|
||||
tony carruthers
|
||||
pinksteren
|
||||
adp
|
||||
the cure olivia rodrigo
|
||||
suzuki
|
||||
margriet
|
||||
boekt opnieuw recordcijfers
|
||||
las fallas
|
||||
het weer
|
||||
de telegraaf
|
||||
dordrecht
|
||||
bernie ecclestone
|
||||
svb
|
||||
weer amersfoort
|
||||
portugal
|
||||
michael smith
|
||||
grand prix van canada
|
||||
heemskerk
|
||||
bergen op zoom
|
||||
ongeluk a6
|
||||
kylie minogue
|
||||
weer groningen
|
||||
jan smit
|
||||
femke bol
|
||||
married at first sight
|
||||
ret
|
||||
weer utrecht
|
||||
rechtszaak
|
||||
zaventem
|
||||
seydoux
|
||||
het parool
|
||||
patrick bruel
|
||||
albert heijn
|
||||
wouter goes
|
||||
eelco heinen
|
||||
merel ek
|
||||
game over politie
|
||||
nikki sterkenburg
|
||||
radio 2
|
||||
weeronline
|
||||
schoen
|
||||
qmusic
|
||||
ev
|
||||
koningin
|
||||
rtv noord
|
||||
saba eiland
|
||||
kabinet
|
||||
ad nieuws
|
||||
francis ngannou
|
||||
ebola
|
||||
namo fazil
|
||||
nate diaz
|
||||
maro engel
|
||||
24 uur nürburgring 2026 waar te zien
|
||||
brandweer
|
||||
tyson fury
|
||||
nicky catsburg
|
||||
horoscoop
|
||||
rijnmond
|
||||
royal pop swatch
|
||||
jeanine hennis-plasschaert
|
||||
mexico
|
||||
thucydides trap
|
||||
evika silina
|
||||
jacob elordi
|
||||
jenny mollen
|
||||
pretpark hennie rotterdam
|
||||
alexandra capitanescu
|
||||
schip
|
||||
monica montefalcone
|
||||
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é
|
||||
corinthians - barra fc
|
||||
leandro trossard
|
||||
kelly mcgillis
|
||||
rosanna arquette
|
||||
rusland
|
||||
kevin warsh
|
||||
bataviastad
|
||||
fifa wk 2026
|
||||
antonella salvucci
|
||||
brigit toebes
|
||||
nastase
|
||||
keir
|
||||
ivo opstelten
|
||||
joost nieuwenhuis surhuisterveen
|
||||
motie
|
||||
hantavirus radboudumc
|
||||
jason collins
|
||||
anass salah-eddine
|
||||
anthropic
|
||||
lakers vs thunder
|
||||
reform bill
|
||||
weer rotterdam
|
||||
jake paul
|
||||
caroline van der plas
|
||||
matt damon
|
||||
misdaadserie
|
||||
shinyhunters
|
||||
pien hersman
|
||||
martin short
|
||||
belasting
|
||||
hvzeeland
|
||||
bn destem
|
||||
manosphere
|
||||
la casa de papel
|
||||
hypotheekrenteaftrek
|
||||
weather
|
||||
rente
|
||||
wijkagent
|
||||
tweede pinksterdag vrije dag
|
||||
leo schilperoord
|
||||
hélène hendriks
|
||||
verstappen
|
||||
buitenaards
|
||||
scientology
|
||||
perzische golf
|
||||
ufc kijken
|
||||
paramount
|
||||
sean brady
|
||||
kwadrantweg
|
||||
hennie van der most
|
||||
floris wolfs
|
||||
pandemie hantavirus
|
||||
112 tilburg
|
||||
kimi antonelli
|
||||
ziggo
|
||||
asml
|
||||
espn
|
||||
kerosine
|
||||
hms prince of wales
|
||||
groningen
|
||||
iran nieuws
|
||||
duitser krijgt schadevergoeding
|
||||
netflix
|
||||
verenigde arabische emiraten
|
||||
nba
|
||||
pensioenleeftijd
|
||||
toto wolff
|
||||
bonaire ik vertrek nicole manuel
|
||||
een huis vol
|
||||
jeffrey epstein
|
||||
xbox
|
||||
weer zwolle
|
||||
epstein
|
||||
ijsselstein
|
||||
benzine
|
||||
kyle loftis
|
||||
stagflatie
|
||||
adyen
|
||||
weerbericht
|
||||
andes virus
|
||||
stranger things
|
||||
priscilla wildeman
|
||||
tanner horner
|
||||
peter bosz
|
||||
blue ivy
|
||||
ryan reynolds
|
||||
accijns
|
||||
bevrijdingsdag
|
||||
walvis
|
||||
iptv
|
||||
mark carney
|
||||
prime video
|
||||
roma - fiorentina
|
||||
georginio wijnaldum
|
||||
intercepted
|
||||
ulster
|
||||
rudy giuliani
|
||||
benzine en diesel
|
||||
witsnuitdolfijn
|
||||
farioli
|
||||
ongeval
|
||||
grand prix formule 1 van miami 2026
|
||||
formule 1
|
||||
uitslagen eredivisie
|
||||
ontsnapte zebra
|
||||
miami f1
|
||||
shakira
|
||||
rave
|
||||
daghoroscoop
|
||||
wetter
|
||||
isack hadjar
|
||||
vakantiegeld aow netto
|
||||
shivon zilis
|
||||
china
|
||||
buienradar
|
||||
politie zandvoort
|
||||
nl alert
|
||||
oekraïne
|
||||
jade kops erehaag
|
||||
onweer
|
||||
corinthians - peñarol
|
||||
john de bever
|
||||
lance stroll
|
||||
mafs
|
||||
nexperia
|
||||
hypersonische raket
|
||||
eindhoven
|
||||
f1 kalender
|
||||
|
||||
123
data/keywords/kw_NP.txt
Normal file
123
data/keywords/kw_NP.txt
Normal file
@@ -0,0 +1,123 @@
|
||||
saurabh netravalkar
|
||||
icc
|
||||
espncricinfo
|
||||
nepal vs usa
|
||||
today weather
|
||||
kathmandu weather
|
||||
ofcom
|
||||
al-ittihad vs al qadsiah
|
||||
al-fayha vs al-hilal
|
||||
gujarat titans vs chennai super kings standings
|
||||
thunder vs spurs
|
||||
santos vs san lorenzo
|
||||
al-najma vs al-shabab
|
||||
aston villa
|
||||
tejasvi singh dahiya
|
||||
new zealand women vs england women
|
||||
freiburg vs aston villa
|
||||
al-khaleej vs al-ahli
|
||||
deepak chahar
|
||||
suryakumar yadav
|
||||
ipo
|
||||
pak vs ban
|
||||
scotland vs usa
|
||||
kmc
|
||||
ipl 2026 schedule
|
||||
whatsapp
|
||||
google photos
|
||||
chelsea f.c. vs tottenham standings
|
||||
premier league
|
||||
premier league standings
|
||||
bangladesh vs pakistan
|
||||
world cup
|
||||
x
|
||||
arsenal
|
||||
pl
|
||||
point table ipl 2026
|
||||
arsenal vs burnley
|
||||
sandeep lamichhane
|
||||
cricinfo
|
||||
george munsey
|
||||
scotland vs nepal
|
||||
ligue 1
|
||||
nashville vs lafc
|
||||
strasbourg vs monaco
|
||||
mls
|
||||
al-shabab vs al-ittihad
|
||||
estoril praia vs benfica
|
||||
sporting vs gil vicente
|
||||
al-ahli vs al kholood
|
||||
anukul roy
|
||||
al-nassr vs gamba osaka
|
||||
jos buttler
|
||||
sunil narine
|
||||
matheesha pathirana
|
||||
sai sudharsan
|
||||
timberwolves vs spurs
|
||||
nepal national cricket team
|
||||
ban vs pak
|
||||
usa vs nepal
|
||||
kuldip yadav ipl
|
||||
epl
|
||||
pati patni aur woh do review
|
||||
fa cup
|
||||
aston villa vs liverpool
|
||||
video videos
|
||||
neet ug
|
||||
real madrid
|
||||
al-ettifaq vs al-ittihad
|
||||
real madrid vs real oviedo
|
||||
points table ipl
|
||||
girona vs real sociedad
|
||||
valencia vs rayo vallecano
|
||||
naman dhir
|
||||
ryan rickelton
|
||||
arshdeep singh
|
||||
copa do brasil
|
||||
cincinnati vs inter miami
|
||||
coritiba vs santos
|
||||
weather kathmandu
|
||||
getafe vs mallorca
|
||||
deportivo alavés vs fc barcelona standings
|
||||
share result
|
||||
rcb vs kkr
|
||||
osasuna vs atlético madrid standings
|
||||
southampton vs middlesbrough
|
||||
osasuna vs atlético madrid
|
||||
ipl points table 2026
|
||||
real betis vs elche
|
||||
al-nassr vs al-hilal
|
||||
celta vs levante
|
||||
australia cricket team
|
||||
lakers vs thunder
|
||||
rio ave vs sporting
|
||||
napoli vs bologna
|
||||
tottenham vs leeds
|
||||
al-taawoun vs al-ahli
|
||||
ashutosh sharma
|
||||
lafc vs houston dynamo
|
||||
from season 4 episode 4
|
||||
result
|
||||
psg vs stade brestois standings
|
||||
santos vs bragantino
|
||||
fc barcelona vs real madrid standings
|
||||
toulouse vs ol
|
||||
score live
|
||||
live
|
||||
808
|
||||
joshua van
|
||||
mothers day
|
||||
ufc
|
||||
real sociedad vs real betis
|
||||
lecce vs juventus
|
||||
vfl wolfsburg vs bayern munich standings
|
||||
galatasaray vs antalyaspor
|
||||
mohammed siraj
|
||||
khamzat vs strickland
|
||||
indonesia vs samoa
|
||||
levante vs osasuna
|
||||
al-hilal vs al kholood
|
||||
vipraj nigam
|
||||
kartik tyagi
|
||||
dc vs kkr
|
||||
kathmandu news nepal news nepal weather kathmandu weather nepal economy nepali rupee exchange rate kathmandu traffic tribhuvan airport flights nepal tourism pokhara travel everest base camp travel nepal visa news kathmandu post himalayan times onlinekhabar ekantipur ratopati nepal government nepal rastra bank nepal telecom ncell nepal daraz nepal esewa khalti nepal news today breaking news nepal weather today kathmandu jobs नेपाल समाचार आजको समाचार काठमाडौं मौसम नेपाली रुपैयाँ विनिमय दर
|
||||
131
data/keywords/kw_PH.txt
Normal file
131
data/keywords/kw_PH.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
philippine arena
|
||||
ncr
|
||||
rodrigo duterte
|
||||
philippine stadium
|
||||
live nation
|
||||
atong ang
|
||||
livenation
|
||||
senate run
|
||||
philippine sports stadium
|
||||
price
|
||||
house prosecution sara duterte case
|
||||
iphone
|
||||
alan peter cayetano coup rumors
|
||||
national bureau of investigation
|
||||
wnba score
|
||||
storm vs sun
|
||||
wnba games today
|
||||
shohei ohtani
|
||||
jared mccain
|
||||
mlb scores
|
||||
donny pangilinan
|
||||
thailand
|
||||
star wars the mandalorian and grogu
|
||||
official gazette
|
||||
mercury vs toronto tempo
|
||||
wnba standings
|
||||
landry shamet
|
||||
luke benward
|
||||
petroleum
|
||||
gasoline
|
||||
eastern conference finals
|
||||
rabiya mateo
|
||||
ron harper
|
||||
portland fire vs sun
|
||||
angola
|
||||
perfect crown issue
|
||||
uaap
|
||||
jang dong ju
|
||||
kim robert de leon
|
||||
jacob elordi
|
||||
cavs vs knicks
|
||||
coco jones
|
||||
nba bracket 2026
|
||||
keon ellis
|
||||
kevin huerter
|
||||
lito lapid
|
||||
ebola
|
||||
francis ngannou
|
||||
ufc 329
|
||||
nate diaz
|
||||
may 17
|
||||
angels vs dodgers
|
||||
rousey vs carano
|
||||
alex eala versus qualifier strasbourg
|
||||
eurovision 2026
|
||||
donald trump
|
||||
okc vs spurs
|
||||
terrence shannon jr.
|
||||
harrison barnes
|
||||
imee marcos
|
||||
gina carano
|
||||
converge
|
||||
in the grey
|
||||
julius randle
|
||||
luke kornet
|
||||
temperature today
|
||||
monica elfriede witt
|
||||
fuel price next week
|
||||
mid year bonus 2026
|
||||
google gmail 5gb storage test
|
||||
steve kerr
|
||||
brian keith hosaka
|
||||
sony xperia 1 viii camera
|
||||
capital1 solar spikers
|
||||
fifa world cup 2026
|
||||
marcos maidana
|
||||
dog
|
||||
comelec
|
||||
benjamin netanyahu
|
||||
valkyries vs sky
|
||||
subpoena
|
||||
wnba
|
||||
cat
|
||||
giants vs dodgers
|
||||
antoine huby
|
||||
gemini intelligence
|
||||
eid al-adha
|
||||
angel canino
|
||||
ateneo de manila university
|
||||
athena imperial
|
||||
lunar eclipse
|
||||
swatch audemars piguet royal pop
|
||||
prc leris
|
||||
is google down
|
||||
alex eala rybakina
|
||||
leris prc
|
||||
google
|
||||
lebron james
|
||||
nba score today
|
||||
nba live score
|
||||
isaiah hartenstein
|
||||
nba live
|
||||
espn
|
||||
morocco
|
||||
boxing
|
||||
chelsea handler
|
||||
sabrina carpenter
|
||||
fitbit air
|
||||
los angeles lakers 2026 draft
|
||||
philippine peso
|
||||
swatch x audemars piguet royal pop
|
||||
starlink
|
||||
ronald dela rosa
|
||||
government service insurance system
|
||||
hantavirus infection
|
||||
disney adventure cruise ship
|
||||
pizza hut
|
||||
remarkably bright creatures
|
||||
nick smith jr.
|
||||
fabio wardley vs daniel dubois
|
||||
alexander volkov
|
||||
jessica sanchez
|
||||
wolves
|
||||
hantavirus map live
|
||||
mike conley
|
||||
bea alonzo and vincent co wedding
|
||||
de'aaron fox
|
||||
naz reid
|
||||
carter bryant
|
||||
hyun bin
|
||||
manila news philippines weather philippines economy cebu news davao news philippines traffic manila airport naia flights philippine peso rate bangko sentral ng pilipinas gma news abs cbn news philstar inquirer rappler philippines grab philippines lazada philippines shopee philippines balita ngayon panahon manila
|
||||
121
data/keywords/kw_SA.txt
Normal file
121
data/keywords/kw_SA.txt
Normal file
@@ -0,0 +1,121 @@
|
||||
tiktok
|
||||
nepal vs usa
|
||||
دنيا سمير غانم
|
||||
twitch
|
||||
samsung
|
||||
bupa
|
||||
متى العيد الاضحى
|
||||
صلاة الفجر
|
||||
اذان الفجر
|
||||
knicks vs cavaliers
|
||||
drishyam 3
|
||||
gemini omni
|
||||
القوات المسلحة السودانية
|
||||
اول مناسك الحج
|
||||
thunder vs spurs
|
||||
الضمان
|
||||
منصة قبول
|
||||
قبول
|
||||
الف
|
||||
نجم
|
||||
وزارة الخارجية
|
||||
محمود أحمدي نجاد
|
||||
icc
|
||||
taijul islam
|
||||
muhammad rizwan
|
||||
اجازة القطاع الخاص عيد الاضحى 2026
|
||||
موسم
|
||||
scotland vs usa
|
||||
babar azam
|
||||
shan masood
|
||||
عادل امام
|
||||
spotify
|
||||
قطاع عام
|
||||
بدرية طلبة
|
||||
شوق الهادي
|
||||
قران
|
||||
litton das
|
||||
погода
|
||||
scotland vs nepal
|
||||
الشروق
|
||||
محمد رمضان
|
||||
حكم صيام عشر ذي الحجة
|
||||
احسان
|
||||
pistons vs cavaliers
|
||||
eid al adha 2026
|
||||
palmeiras vs cruzeiro
|
||||
ميريح ديميرال
|
||||
درجة الحرارة في الرياض
|
||||
الفجر
|
||||
حنان شوقي
|
||||
ورود وذنوب
|
||||
eurovision 2026 winner
|
||||
ap x swatch
|
||||
usa vs nep
|
||||
مسلسل off campus
|
||||
bangladesh vs pakistan
|
||||
محمد باقر السعدي
|
||||
timberwolves vs spurs
|
||||
cavaliers vs pistons
|
||||
اسعار الذهب
|
||||
يلو
|
||||
هذا البحر سوف يفيض
|
||||
1
|
||||
x.
|
||||
météo
|
||||
shapoor zadran
|
||||
مالكوم
|
||||
barbara palvin
|
||||
عريس
|
||||
الرياض
|
||||
سوق مالية
|
||||
صحة
|
||||
العيد الاضحى
|
||||
فارس
|
||||
ليونيل ميسي
|
||||
mls
|
||||
sony xperia 1 viii
|
||||
وزارة الموارد البشرية والتنمية الاجتماعية
|
||||
copa do brasil
|
||||
cbse class 12 result 2026
|
||||
بين
|
||||
وزارة
|
||||
ياسمين عبد العزيز
|
||||
gold price in india
|
||||
spurs vs timberwolves
|
||||
the boys
|
||||
غامبا أوساكا
|
||||
اليوم العالمي للتمريض
|
||||
nurses day
|
||||
زواج
|
||||
sara duterte
|
||||
العراق
|
||||
lakers vs thunder
|
||||
ترند اطلس الجمال الطبيعي
|
||||
مسابقة الملك عبد العزيز الدولية لحفظ القرآن الكريم
|
||||
الرد الايراني
|
||||
سارية السواس
|
||||
برنامج خادم الحرمين الشريفين للابتعاث الخارجي
|
||||
neymar
|
||||
جوعان بن حمد آل ثاني
|
||||
runway
|
||||
le havre vs marseille
|
||||
جواو كانسيلو
|
||||
mehidy hasan miraz
|
||||
vijay
|
||||
joshua van
|
||||
كامل الوزير
|
||||
وزير
|
||||
حمزة شيماييف
|
||||
thunder vs lakers
|
||||
google fitbit air
|
||||
متى عيد الاضحى 2026
|
||||
സൗദി അറേബ്യ
|
||||
ليبيا
|
||||
ufo files
|
||||
ufc
|
||||
76ers vs knicks
|
||||
levante vs osasuna
|
||||
ليفانتي ضد أوساسونا
|
||||
فهد المفرج
|
||||
riyadh news saudi arabia news jeddah news saudi weather riyadh weather saudi economy saudi riyal exchange rate riyadh traffic king khalid airport flights jeddah airport flights saudi tourism riyadh season alula travel mecca news medina news saudi visa news arab news saudi gazette saudi press agency sabq al riyadh saudi government sama saudi central bank stc saudi mobily zain saudi noon saudi amazon sa jarir bookstore hungerstation saudi riyadh jobs saudi real estate saudi news today breaking news saudi weather today أخبار السعودية الرياض الطقس سعر الريال السعودي
|
||||
@@ -1,60 +1,200 @@
|
||||
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
|
||||
live nation
|
||||
சிங்கப்பூர்
|
||||
livenation
|
||||
bts concert singapore
|
||||
energy crisis
|
||||
diesel fuel
|
||||
singapore sambar deer population growth
|
||||
el nino
|
||||
google docs
|
||||
kyle busch
|
||||
bajrakitiyabha
|
||||
jalen williams
|
||||
dylan harper
|
||||
contractor lim sengkang video
|
||||
skims
|
||||
teo siong seng
|
||||
thunder vs spurs
|
||||
singtel
|
||||
weather forecast
|
||||
santos vs san lorenzo
|
||||
gardenia foods s pte ltd
|
||||
meta ai investment layoffs
|
||||
ryan breslow
|
||||
iras
|
||||
10th result date 2026 tamil nadu
|
||||
gemini spark
|
||||
fraud
|
||||
ticketmaster
|
||||
knicks vs cavaliers
|
||||
fossil group
|
||||
laufey
|
||||
the weeknd
|
||||
snow city
|
||||
spotify
|
||||
indonesia domestic workers law
|
||||
sonia chew
|
||||
swiss franc
|
||||
m1 simba consolidation suspension
|
||||
sam merrill
|
||||
ticket master
|
||||
nashville vs lafc
|
||||
pistons vs cavaliers
|
||||
qantas
|
||||
strait of hormuz
|
||||
bangladesh vs pakistan
|
||||
ebola
|
||||
ronda rousey
|
||||
angels vs dodgers
|
||||
倒塌
|
||||
eurovision 2026
|
||||
sporting vs gil vicente
|
||||
pga championship
|
||||
affordable housing
|
||||
timberwolves vs spurs
|
||||
largo
|
||||
cavaliers vs pistons
|
||||
mental health
|
||||
woodlands checkpoint
|
||||
weather singapore
|
||||
nea
|
||||
mohamed salah
|
||||
product recall
|
||||
donald trump
|
||||
monica elfriede witt
|
||||
lottery
|
||||
chinese f&b brands singapore
|
||||
rebecca lim
|
||||
iceman
|
||||
pete hegseth
|
||||
norway missiles
|
||||
thucydides trap
|
||||
scarlett johansson
|
||||
karuppu
|
||||
fuel
|
||||
mls
|
||||
cincinnati vs inter miami
|
||||
coritiba vs santos
|
||||
vivian balakrishnan may day award
|
||||
deportivo alavés vs fc barcelona standings
|
||||
spotify 20
|
||||
goh yong siang
|
||||
dbs ocbc uob q1 earnings
|
||||
new zealand
|
||||
silent call
|
||||
googlebook
|
||||
jason collins
|
||||
spurs vs timberwolves
|
||||
air india
|
||||
nick teo mother's day post
|
||||
babymonster choom tour singapore
|
||||
lebron james
|
||||
jcd prabhakar
|
||||
ajay mitchell
|
||||
test
|
||||
nba scores
|
||||
lakers vs oklahoma city thunder match player stats
|
||||
royal caribbean
|
||||
iran war ceasefire
|
||||
birth rate
|
||||
selling singtel discounted shares
|
||||
the weeknd singapore
|
||||
bosco chun ho wang
|
||||
lafc vs houston dynamo
|
||||
victor wembanyama
|
||||
ponzi
|
||||
santos vs bragantino
|
||||
nba draft lottery
|
||||
aadhav arjuna
|
||||
water pipe burst
|
||||
swatch ap
|
||||
scdf
|
||||
china
|
||||
joshua van
|
||||
lakers vs thunder
|
||||
62nd baeksang arts awards
|
||||
hyun bin
|
||||
76ers vs knicks
|
||||
hantavirus map
|
||||
rome open
|
||||
ufc 328
|
||||
al-hilal vs al kholood
|
||||
mothers day 2026
|
||||
palace vs shakhtar donetsk
|
||||
ec mop
|
||||
thunder vs lakers
|
||||
canvas
|
||||
david attenborough
|
||||
iran war
|
||||
uefa
|
||||
job
|
||||
megatsunami
|
||||
hdb
|
||||
mark zuckerberg
|
||||
naval strike missile
|
||||
knicks vs 76ers
|
||||
police
|
||||
manchester united f.c.
|
||||
soccernet
|
||||
housing and development board
|
||||
dress code
|
||||
micron technology
|
||||
阿森纳 - 马德里竞技
|
||||
马来西亚
|
||||
hydrogen
|
||||
shell
|
||||
kartik sharma
|
||||
dario amodei
|
||||
keppel infrastructure trust
|
||||
toto jackpot singapore
|
||||
anthony edwards
|
||||
dbs bank
|
||||
补贴
|
||||
新加坡博彩公司
|
||||
kerala election results
|
||||
toto
|
||||
ndtv live
|
||||
oneindia tamil
|
||||
us-iran news
|
||||
results.eci.gov.in 2026
|
||||
tamilnadu election result date 2026
|
||||
tamil nadu election results
|
||||
dinamalar
|
||||
tamil nadu election results date 2026
|
||||
san diego fc vs lafc
|
||||
citigroup
|
||||
spirit airlines flights
|
||||
thomson-east coast line
|
||||
inter miami vs orlando city
|
||||
mothers day
|
||||
jet bridge
|
||||
celtics vs 76ers
|
||||
james seah
|
||||
8视界新闻
|
||||
jpmorgan chase
|
||||
singapore airlines ultra-long routes
|
||||
drunk driving
|
||||
kwek leng beng
|
||||
raptors vs cavaliers
|
||||
rockets vs lakers
|
||||
magic vs pistons
|
||||
warren buffett
|
||||
lawrence wong may day speech
|
||||
paynow
|
||||
cold war 1994
|
||||
expo event
|
||||
timberwolves vs nuggets
|
||||
76ers vs celtics
|
||||
gardens by the bay
|
||||
universal studios singapore
|
||||
lorna hajdini
|
||||
cancer
|
||||
lakers
|
||||
dbs earnings
|
||||
lafc vs toluca
|
||||
cyclist
|
||||
lakers vs rockets
|
||||
jerome powell
|
||||
white house correspondents' dinner
|
||||
oman vs nepal
|
||||
primary 1
|
||||
|
||||
133
data/keywords/kw_TH.txt
Normal file
133
data/keywords/kw_TH.txt
Normal file
@@ -0,0 +1,133 @@
|
||||
bts
|
||||
เศรษฐกิจ
|
||||
volvo ไฟไหม้
|
||||
ลำไย ไห ทองคำ
|
||||
google docs
|
||||
classroom
|
||||
knicks vs cavaliers
|
||||
kyle busch
|
||||
ais
|
||||
s&p 500
|
||||
องคมนตรี
|
||||
กรมอุตุนิยมวิทยา
|
||||
สอด สร้อย มาลา ตอน ที่ 9
|
||||
พระองค์ภา
|
||||
เกม
|
||||
thunder vs spurs
|
||||
ดูบาสสด
|
||||
แอปเป๋าตัง
|
||||
ช่อง 3
|
||||
กองทัพอากาศ
|
||||
กดบัตร the weeknd
|
||||
ru
|
||||
ราคาทอง
|
||||
โตโต้ ปิยรัฐ
|
||||
the boys season 5 ep 8
|
||||
เมลดา สุศรี
|
||||
เทคโนโลยี
|
||||
thaiticketmajor
|
||||
ttm
|
||||
ไทยช่วยไทยพลัส
|
||||
python
|
||||
สุชาติ ชมกลิ่น
|
||||
ศึกวันกรรชัย
|
||||
ศกุนตลา เทียนไพโรจน์
|
||||
อาชีพ
|
||||
คลาสรูม
|
||||
วันอาภากร
|
||||
รักหักหลัง
|
||||
ส้ม เช้ง สาม ช่า
|
||||
f
|
||||
jacob elordi
|
||||
อำนาจ รื่นเริง
|
||||
pistons vs cavaliers
|
||||
abc
|
||||
v
|
||||
earthquake
|
||||
dmc
|
||||
อังกฤษ
|
||||
billboard
|
||||
พนอ 2
|
||||
eurovision 2026
|
||||
ไมเคิล แคร์ริก
|
||||
เป๋าตัง
|
||||
lpga leaderboard 2026
|
||||
การเมือง
|
||||
สนามบิน
|
||||
เบนฟิก้า
|
||||
nurburgring 24h
|
||||
ราชินี
|
||||
กฎหมาย
|
||||
lotto
|
||||
timberwolves vs spurs
|
||||
หวยออมสิน
|
||||
กยศ
|
||||
เวียดนาม
|
||||
มูรินโญ่
|
||||
เลขเด็ดไทยรัฐ
|
||||
ap x swatch
|
||||
กัมพูชา
|
||||
1
|
||||
ทอง
|
||||
การประปานครหลวง
|
||||
ชายแดน ไทย-กัมพูชา
|
||||
กรมควบคุมมลพิษ
|
||||
เลขเด็ด 16 พฤษภาคม 2569
|
||||
ดูคะแนนกพ
|
||||
xiaomi 17 max
|
||||
ทหาร
|
||||
มารีน่า
|
||||
คริสเตียโนโรนัลโด
|
||||
บุรีรัมย์ยูไนเต็ด shopee cup
|
||||
ข่าวสด
|
||||
a-z
|
||||
cincinnati vs inter miami
|
||||
ชาวยิว
|
||||
ไฟฟ้า
|
||||
deportivo alavés vs fc barcelona standings
|
||||
ฝน
|
||||
openai
|
||||
cloudflare
|
||||
shell diesel
|
||||
shell gasoline
|
||||
คลิปทราย
|
||||
pubg
|
||||
ผลหวยลาว 12 พฤษภาคม 2569
|
||||
cpall
|
||||
aia
|
||||
nba
|
||||
มะเร็ง
|
||||
google
|
||||
test
|
||||
สีหศักดิ์ พวงเกตุแก้ว
|
||||
สุราษฎร์ธานี
|
||||
arne slot out
|
||||
วันพยาบาลสากล
|
||||
ลงทะเบียนบัตรสวัสดิการแห่งรัฐ
|
||||
เงินกู้
|
||||
thaksin shinawatra
|
||||
ตลาดหลักทรัพย์
|
||||
วัน ที่ 2 มิถุนายน 2569 หยุด ไหม
|
||||
นักมวย
|
||||
อาฒยา ฐิติกุล
|
||||
มิสเวิลด์
|
||||
swatch x ap
|
||||
bangkok weather
|
||||
เจลีก
|
||||
ทักษิณ
|
||||
กรมการปกครอง
|
||||
ถนน
|
||||
13 พฤษภาคม 2569 วันอะไร
|
||||
happy mothers day
|
||||
ไวรัสฮันตาคือ
|
||||
roblox
|
||||
joshua van
|
||||
มายด์ ลภัสลัล
|
||||
ฟุตบอลโลก
|
||||
พี่ชายทรายสก็อต
|
||||
alex jimenez bournemouth
|
||||
วอลเลย์บอลหญิงเนชันส์ลีก
|
||||
ลำปาง
|
||||
ซาบีดา ไทยเศรษฐ์
|
||||
วันหยุด เดือนพฤษภาคม 2569
|
||||
bangkok news thailand news thailand weather bangkok weather thailand economy thai baht exchange rate bangkok traffic bts skytrain mrt bangkok suvarnabhumi airport flights thailand tourism bangkok hotels phuket travel chiang mai travel thai food near me grab thailand lazada thailand shopee thailand true dtac ais thailand bangkok post thairath khaosod thailand election thai government bank of thailand stock exchange thailand ข่าววันนี้ ข่าวด่วน กรุงเทพ อากาศวันนี้ ค่าเงินบาท
|
||||
154
data/keywords/kw_TR.txt
Normal file
154
data/keywords/kw_TR.txt
Normal file
@@ -0,0 +1,154 @@
|
||||
ekonomim
|
||||
döviz borsa
|
||||
indirim
|
||||
kur
|
||||
atatürk üniversitesi
|
||||
milliyet haber
|
||||
çorum haber
|
||||
euro kuru
|
||||
akşam gazetesi
|
||||
ege kökenli
|
||||
25 mayıs tatil mi
|
||||
tokat haber
|
||||
etnospor
|
||||
saat
|
||||
hakan aydın
|
||||
ev
|
||||
felicia sağnak
|
||||
hakkari haber
|
||||
shrinking
|
||||
feyza civelek
|
||||
kıtalararası balistik füze
|
||||
google form
|
||||
earthquake
|
||||
canlı haber
|
||||
automechanika istanbul 2026
|
||||
son dakika deprem
|
||||
kandilli rasathanesi
|
||||
malatya haber
|
||||
türkiye haritası
|
||||
a haber canlı
|
||||
bayram ne zaman 2026
|
||||
turhal
|
||||
turizm
|
||||
bim 19 mayıs 2026 kataloğu
|
||||
muğla
|
||||
dylan harper
|
||||
şanlıurfa hava durumu
|
||||
acun ilıcalı
|
||||
anıtkabir
|
||||
gsb personel alımı
|
||||
yol
|
||||
para cezası
|
||||
bandırma vapuru
|
||||
zeyno günenç
|
||||
içme suyu
|
||||
casusluk
|
||||
hülya koçyiğit
|
||||
bayram tatili ne zaman başlıyor
|
||||
elektrik kesintisi
|
||||
okullar ne zaman kapanacak
|
||||
bu akşam eleme adayı kim oldu
|
||||
kurbana kaç gün kaldı
|
||||
rüzgâr
|
||||
gaziantep hava durumu
|
||||
arabistan ligi
|
||||
eser yenenler
|
||||
al ahli
|
||||
adıyaman hava durumu
|
||||
savaş uçağı
|
||||
alanya hava durumu
|
||||
evrensel
|
||||
on numara sonuçları
|
||||
kurban bayramı'na kaç gün kaldı
|
||||
starbucks
|
||||
türkiye kadın milli voleybol takımı
|
||||
alime özge k
|
||||
malatya hava durumu
|
||||
diyarbakır hava durumu
|
||||
bayram ikramiyesi ne zaman yatacak
|
||||
nefes gazetesi
|
||||
yapı kredi
|
||||
işbankası
|
||||
ulusal staj programı
|
||||
19 mayıs gençlik ve spor bayramı
|
||||
gram altın
|
||||
ihh
|
||||
1
|
||||
19 mayıs
|
||||
halk bankası
|
||||
bim aktüel 15 mayıs
|
||||
rasim ozan kütahyalı
|
||||
kazakistan
|
||||
il dışı tayin
|
||||
gamze pamuk
|
||||
tayvan
|
||||
14 mayıs
|
||||
cem özdemir
|
||||
danıştay
|
||||
okulların kapanmasına kaç gün kaldı
|
||||
gaziemir su kesintisi
|
||||
denizli haber
|
||||
13 mayıs ne günü
|
||||
hbs
|
||||
içişleri bakanlığı
|
||||
yeşil alg
|
||||
takvim gazetesi
|
||||
mehmet ceyhan
|
||||
erzurum hava durumu
|
||||
simay kurt
|
||||
galatasaray mauro icardi
|
||||
jet yakıtı
|
||||
ajay mitchell
|
||||
hüseyin kürşat kırbıyık
|
||||
samsun haber
|
||||
19 mayıs tatil mi
|
||||
cerny
|
||||
survivor
|
||||
yasak
|
||||
konya hava durumu
|
||||
pl
|
||||
premier lig puan
|
||||
nba seçmeleri
|
||||
fikret orman
|
||||
şebnem ferah izmir konser
|
||||
son dakika haberleri
|
||||
yatırımcı
|
||||
11 mayıs
|
||||
darwin núñez
|
||||
isveç
|
||||
akşam
|
||||
happy mother's day
|
||||
çılgın sayısal loto çekilişi
|
||||
erman toroğlu
|
||||
hasat
|
||||
halk tv
|
||||
alex pereira
|
||||
istanbul namaz vakitleri
|
||||
hava durumu afyon
|
||||
kırıkkale hava durumu
|
||||
šarūnas jasikevičius
|
||||
kırşehir hava durumu
|
||||
muğla hava durumu
|
||||
hava durumu istanbul
|
||||
kredi
|
||||
12 yargı paketi ne zaman çıkacak
|
||||
ga
|
||||
ibb
|
||||
honor 600 pro 512 gb
|
||||
ibrahim tatlıses baboş
|
||||
anneler günü ne zaman
|
||||
iran son dakika
|
||||
canlı altın
|
||||
baraj
|
||||
huawei watch fit 5 pro
|
||||
istanbul hava durumu
|
||||
okullar ne zaman tatil
|
||||
izmir deprem
|
||||
wilfried zaha
|
||||
izmir
|
||||
tüpraş
|
||||
bakanlık
|
||||
ankara hava
|
||||
hava durumu konya
|
||||
iphone
|
||||
@@ -1,15 +1,200 @@
|
||||
Yahoo奇摩
|
||||
天氣
|
||||
蝦皮購物
|
||||
PChome
|
||||
Momo購物網
|
||||
Mobile01
|
||||
Dcard
|
||||
巴哈姆特
|
||||
中時電子報
|
||||
聯合新聞網
|
||||
台灣高鐵
|
||||
台鐵時刻表
|
||||
中華電信
|
||||
統一發票
|
||||
勞動部
|
||||
最強 妖 股
|
||||
2327
|
||||
中央銀行
|
||||
2455
|
||||
加權指數
|
||||
許志豪
|
||||
3481
|
||||
3714
|
||||
史書華
|
||||
遠東國際商業銀行
|
||||
2454
|
||||
3443
|
||||
1303
|
||||
癌症
|
||||
4919
|
||||
蕾哈娜
|
||||
3030
|
||||
教育部
|
||||
3037
|
||||
3576
|
||||
光寶科技
|
||||
7610
|
||||
8021
|
||||
三振
|
||||
2388
|
||||
3048
|
||||
2492
|
||||
孔升妍
|
||||
新北市公幼抽籤結果
|
||||
3535
|
||||
2337
|
||||
2344
|
||||
00990a
|
||||
2408
|
||||
6919
|
||||
憲兵
|
||||
威力
|
||||
6806
|
||||
債券 市場
|
||||
邱澤
|
||||
2481
|
||||
3026
|
||||
00878 配 息 日
|
||||
2464
|
||||
2883
|
||||
2485
|
||||
索羅斯
|
||||
群創光電
|
||||
尹乃菁
|
||||
2026
|
||||
美國國債
|
||||
指挥官
|
||||
鄭宗哲
|
||||
動物園
|
||||
大谷翔平
|
||||
會考英文
|
||||
diaz 鬥雞
|
||||
新聞
|
||||
屍速禁區
|
||||
李灏宇
|
||||
stephon castle
|
||||
曾峻岳
|
||||
台灣
|
||||
英雄 聯盟
|
||||
swatch ap 聯名
|
||||
ap
|
||||
2603
|
||||
2368
|
||||
6414
|
||||
溫嵐
|
||||
中國 統一
|
||||
黃金
|
||||
繁榮
|
||||
醫院
|
||||
保羅沃克
|
||||
統測
|
||||
洛杉磯 快艇
|
||||
太陽光電
|
||||
golshifteh farahani
|
||||
股息
|
||||
銀行控股公司
|
||||
三星
|
||||
世足
|
||||
3661
|
||||
3044
|
||||
4977
|
||||
吳怡農
|
||||
中國國民黨副主席
|
||||
蔡壁如
|
||||
王愛琳
|
||||
南山人壽
|
||||
apple watch 高血壓
|
||||
臺中榮民總醫院
|
||||
google 當機
|
||||
住院醫師
|
||||
google
|
||||
ajay mitchell
|
||||
lebron james
|
||||
元大金
|
||||
nba
|
||||
test
|
||||
nba score
|
||||
nba直播
|
||||
3653
|
||||
3036
|
||||
賴士葆
|
||||
3006
|
||||
股本
|
||||
星巴克 買 一 送 一
|
||||
股價
|
||||
布蘭登·費雪
|
||||
羅明才
|
||||
緯創資通
|
||||
壽司郎
|
||||
安檢
|
||||
杜金龍
|
||||
韓國 瑜
|
||||
張榮興
|
||||
歸 化
|
||||
癌
|
||||
拓元
|
||||
蔣友青
|
||||
sk海力士
|
||||
5세대 실손보험
|
||||
會考
|
||||
101登高賽
|
||||
道奇 對 勇士
|
||||
timberwolves vs spurs
|
||||
徐國勇
|
||||
chris sale
|
||||
新應材
|
||||
google fitbit air
|
||||
股東
|
||||
謝金 河
|
||||
群聯
|
||||
星巴克買一送一
|
||||
exo 演唱會
|
||||
徐懷鈺
|
||||
光澤診所
|
||||
天弓三型防空飛彈
|
||||
國民 年金
|
||||
kylie jenner
|
||||
群創
|
||||
胡元輝
|
||||
徐熙娣
|
||||
壽司郎咖波
|
||||
聯合再生
|
||||
矽格
|
||||
宋成文
|
||||
teams
|
||||
軍 公教
|
||||
廣達
|
||||
高國豪老婆
|
||||
周子 瑜
|
||||
光寶科
|
||||
asml
|
||||
新莊淹水
|
||||
金凱德
|
||||
台玻
|
||||
九合一選舉
|
||||
頎邦
|
||||
五月天
|
||||
諾和諾德
|
||||
星宇航空
|
||||
瑞軒
|
||||
0050 成分 股
|
||||
亞馬遜 公司
|
||||
行政專機
|
||||
漢他病毒怎麼傳染
|
||||
封鎖
|
||||
博通
|
||||
陳光復
|
||||
華倫·巴菲特
|
||||
許常德
|
||||
英特爾
|
||||
00923
|
||||
friday
|
||||
中華民國國防部
|
||||
林維恩
|
||||
劉宇寧
|
||||
2 奈 米 製程
|
||||
淡江大橋何時通車
|
||||
天母
|
||||
陳盈潔
|
||||
林襄
|
||||
李芸
|
||||
夾子園火災
|
||||
黃路梓茵
|
||||
五十嵐淳子
|
||||
日春木瓜牛奶
|
||||
總統
|
||||
古林睿煬
|
||||
槍決
|
||||
dazn
|
||||
陳芋汐
|
||||
福特汽車
|
||||
洋基
|
||||
黃 國昌
|
||||
高速鐵路
|
||||
lck
|
||||
|
||||
@@ -1,60 +1,200 @@
|
||||
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
|
||||
edinburgh marathon 2026
|
||||
criminal minds
|
||||
melanoma
|
||||
strike action
|
||||
xenophobia
|
||||
phil collins health
|
||||
robert harward
|
||||
isles of scilly
|
||||
elizabeth line
|
||||
el niño
|
||||
uefa national league
|
||||
migration
|
||||
mortgage loan
|
||||
global airlines
|
||||
devon county show 2026
|
||||
eastenders
|
||||
capital gains tax
|
||||
dp world tour
|
||||
vanessa trump
|
||||
todays weather
|
||||
london stock exchange
|
||||
fan
|
||||
boris johnson
|
||||
mortgage rates
|
||||
very uk
|
||||
brooklyn beckham
|
||||
training day
|
||||
taijul islam
|
||||
jai arrow
|
||||
very
|
||||
new swatch watches
|
||||
met
|
||||
m60 traffic
|
||||
asteroid 2026 jh2
|
||||
louise thompson potty training apology
|
||||
met office london
|
||||
tui holidays
|
||||
sony playstation plus price hike
|
||||
weather radar
|
||||
bournemouth weather
|
||||
adrian lewis nine darter
|
||||
rick and morty
|
||||
albert riera
|
||||
jacob elordi
|
||||
hs2
|
||||
strands hint
|
||||
national portrait gallery
|
||||
ukraine
|
||||
connections today
|
||||
devon live
|
||||
loans
|
||||
meghan, duchess of sussex
|
||||
starlink
|
||||
天氣
|
||||
wordle hint
|
||||
betway
|
||||
cricinfo
|
||||
eid ul adha 2026
|
||||
nhl scores
|
||||
conor mcgregor
|
||||
daily record
|
||||
noah price
|
||||
b
|
||||
on
|
||||
ban vs pak
|
||||
restaurant
|
||||
timothee chalamet
|
||||
timberwolves vs spurs
|
||||
backrooms movie
|
||||
ap swatch watch
|
||||
randal kolo muani
|
||||
inquest
|
||||
james
|
||||
wade
|
||||
fa cup
|
||||
amazon driver cat theft elland
|
||||
simon dutton most wanted
|
||||
new dinosaur species
|
||||
ducks vs golden knights
|
||||
connections hint
|
||||
rs-28 sarmat
|
||||
jensen huang
|
||||
eric morecambe
|
||||
shabana mahmood
|
||||
sco vs usa
|
||||
p&o cruises
|
||||
nintendo switch 2
|
||||
scarlett johansson
|
||||
cuba
|
||||
belfast weather
|
||||
ted lasso
|
||||
weather liverpool
|
||||
met weather
|
||||
chongqing
|
||||
air india
|
||||
sydney sweeney
|
||||
met office weather
|
||||
golden knights vs ducks
|
||||
e
|
||||
sally nugent
|
||||
north korea
|
||||
audi q9
|
||||
ajay mitchell
|
||||
lebron james
|
||||
st johns
|
||||
st paulo
|
||||
rod stewart remarks on king
|
||||
rachel steven mafs australia
|
||||
mental health awareness week
|
||||
ushuaia
|
||||
mary berry bafta fellowship
|
||||
moroccan military us soldier recovery
|
||||
olivia rodrigo
|
||||
bet 365
|
||||
zack polanski ministry of justice
|
||||
weather manchester
|
||||
nationwide
|
||||
nrl
|
||||
wordle answer today
|
||||
tristan da cunha
|
||||
state pension
|
||||
arman tsarukyan
|
||||
people's postcode lottery
|
||||
myanmar
|
||||
nurseries
|
||||
fitbit air tracker
|
||||
national lottery results
|
||||
sports
|
||||
natwest
|
||||
taxi
|
||||
ps5
|
||||
wwe backlash 2026
|
||||
darwin nunez
|
||||
pga tour
|
||||
reform policies 2026
|
||||
iplayer
|
||||
bb
|
||||
wandsworth
|
||||
bbc new
|
||||
sun
|
||||
guardian uk
|
||||
daily echo
|
||||
yvonne gonzalez rogers musk case
|
||||
nikkei 225
|
||||
do i need my polling card to vote
|
||||
mothers day 2026
|
||||
the sun uk
|
||||
bbc radio 4
|
||||
airport
|
||||
jamie vardy
|
||||
henry cavill
|
||||
scottish sun
|
||||
the boys season 5 finale
|
||||
bolton news
|
||||
recoleta fc vs santos fc standings
|
||||
latest news
|
||||
pizza
|
||||
postcode lottery
|
||||
daredevil born again
|
||||
ryan reynolds
|
||||
steam controllers
|
||||
man utd news
|
||||
connections nyt
|
||||
wren kitchens
|
||||
emmerdale spoilers
|
||||
time
|
||||
ukraine russia war
|
||||
kerala election result
|
||||
starbucks
|
||||
star wars day
|
||||
who won the snooker last night
|
||||
eswatini
|
||||
mcdonald's
|
||||
election commission of india
|
||||
funeral director
|
||||
southampton marathon 2026
|
||||
jet2.com
|
||||
lewis hamilton ferrari 2026 season
|
||||
ipswich town football
|
||||
nationwide building society
|
||||
savings
|
||||
nursery school
|
||||
nba scores
|
||||
katie price
|
||||
anne boleyn
|
||||
beyond paradise kris marshall
|
||||
nba schedule
|
||||
superyacht sinking mike lynch
|
||||
rockets vs lakers
|
||||
ricky saints
|
||||
treasury
|
||||
inoue vs nakatani
|
||||
mark allen snooker delay
|
||||
accuweather
|
||||
severn trent water
|
||||
yorkshire water
|
||||
rangers f.c.
|
||||
anglian water
|
||||
edinburgh weather
|
||||
united utilities
|
||||
|
||||
@@ -1,60 +1,200 @@
|
||||
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
|
||||
jpegmafia
|
||||
andor
|
||||
jack quaid
|
||||
chud the builder bond
|
||||
bts las vegas
|
||||
catalina island
|
||||
byron allen
|
||||
billboard top 100
|
||||
magic johnson
|
||||
dune
|
||||
benji madden
|
||||
dp world tour
|
||||
vincent d'onofrio
|
||||
antonio gracias
|
||||
anthony starr
|
||||
robert de niro
|
||||
amanda peet
|
||||
huawei
|
||||
zoe kravitz
|
||||
william shatner
|
||||
bts members
|
||||
carls jr
|
||||
jungkook
|
||||
trump bank citizenship executive order
|
||||
salman khan
|
||||
sơn ngọc minh
|
||||
tom selleck
|
||||
testaments
|
||||
cps outage map
|
||||
air quality
|
||||
pak vs ban
|
||||
ameren
|
||||
power outage near me
|
||||
usc
|
||||
mikey williams
|
||||
pitchfork
|
||||
boeing 737
|
||||
luke benward
|
||||
conor benn
|
||||
houses
|
||||
the boys finale
|
||||
iu
|
||||
lorde
|
||||
hawaiian monk seal
|
||||
michael jordan
|
||||
nifty 50
|
||||
charlie evans
|
||||
edc lineup
|
||||
nick lachey
|
||||
navy federal
|
||||
titanic
|
||||
sonic kapolei
|
||||
collector leviathan
|
||||
kbo
|
||||
ebola outbreak
|
||||
jamie vardy
|
||||
new york times
|
||||
terry stotts warriors departure
|
||||
laptop
|
||||
ucla softball game today
|
||||
nathan lane
|
||||
arnold allen
|
||||
strong acid subnautica 2
|
||||
lluvia
|
||||
bitcoin
|
||||
kospi
|
||||
idris elba
|
||||
famous basketball players
|
||||
outlander finale
|
||||
usc baseball
|
||||
tanner scott
|
||||
dodger standings
|
||||
elle kennedy
|
||||
super mario galaxy movie boxoffice
|
||||
jill kargman
|
||||
gta 6 pre order
|
||||
icc
|
||||
star citizen
|
||||
习近平
|
||||
fifa world cup 2026
|
||||
ca lottery
|
||||
jaire alexander
|
||||
bernadette peters
|
||||
spokane weather
|
||||
ashley judd
|
||||
jg quintel
|
||||
michael rapaport
|
||||
mookie betts
|
||||
giants game today
|
||||
shea langeliers
|
||||
iran missiles
|
||||
sf giants
|
||||
kash patel fbi director
|
||||
nba playoffs bracket
|
||||
warriors
|
||||
skip bayless
|
||||
nba free agents 2026
|
||||
nba finals
|
||||
lakers box score
|
||||
hachimura
|
||||
nba mvp
|
||||
nba live
|
||||
dram stock
|
||||
the boys season 5 episode 7
|
||||
united flight 579 diversion
|
||||
homicide
|
||||
frontier airlines hits person
|
||||
weather forecast texas
|
||||
tim burton
|
||||
alfredo adame
|
||||
seven
|
||||
priyanka chopra
|
||||
russia ukraine war
|
||||
julio cesar chavez
|
||||
ufc post fight press conference
|
||||
apac
|
||||
tenerife
|
||||
aipac
|
||||
white house card ufc
|
||||
terence crawford
|
||||
humberto cruz
|
||||
neymar
|
||||
canelo álvarez
|
||||
kendrick lamar
|
||||
ben affleck
|
||||
la county fair 2026
|
||||
mark zuckerberg
|
||||
yaroslav amosov
|
||||
udonis haslem
|
||||
xiaodi you
|
||||
jennifer meyer
|
||||
alexander volkov
|
||||
pablo escobar
|
||||
zelensky
|
||||
blue shield
|
||||
jordan walker
|
||||
del monte
|
||||
riley o'brien
|
||||
kim petras
|
||||
ufo
|
||||
michael gandolfini
|
||||
bruno mars
|
||||
ronda rousey
|
||||
love island
|
||||
mississippi tornado warning
|
||||
sean manaea
|
||||
chris stapleton
|
||||
trump's hands
|
||||
ca governor race polls
|
||||
caro claire burke
|
||||
oregon state baseball
|
||||
iphone 16 pro
|
||||
yosemite national park
|
||||
meg stalter
|
||||
popeyes chicken wraps permanent menu
|
||||
walt frazier
|
||||
samsung stock
|
||||
heather watson
|
||||
los angeles angels
|
||||
chris brown
|
||||
jaafar jackson met gala 2026
|
||||
rachel zegler
|
||||
amanda bynes
|
||||
house of the dragon season 3
|
||||
sf weather
|
||||
ariana grande met gala
|
||||
jackson lacombe
|
||||
aeromexico
|
||||
nbc
|
||||
suvendu adhikari
|
||||
trisha
|
||||
seattle weather
|
||||
putin
|
||||
melissa joan hart
|
||||
eenadu
|
||||
gavin mckenna
|
||||
mortgage loan rates today
|
||||
floyd mayweather
|
||||
wsl
|
||||
whitecaps - la galaxy
|
||||
air jordan 11 space jam
|
||||
budapest
|
||||
usyk
|
||||
dmitry bivol
|
||||
jai opetaia
|
||||
ebay acquisition
|
||||
henry winkler
|
||||
will anderson jr
|
||||
themba gorimbo
|
||||
yoel romero
|
||||
alex hoppe
|
||||
junior tafa
|
||||
colby thicknesse
|
||||
jacob malkoun
|
||||
nick kurtz
|
||||
kailer yamamoto
|
||||
alex jones
|
||||
cps energy
|
||||
ssi
|
||||
e
|
||||
|
||||
@@ -1,35 +1,200 @@
|
||||
thể thao
|
||||
arda güler
|
||||
aleksandar pavlović
|
||||
ars
|
||||
90
|
||||
real
|
||||
real madrid
|
||||
xoi
|
||||
luong sơn
|
||||
fpt
|
||||
phan văn giang
|
||||
đặng phan thanh tùng
|
||||
arne slot
|
||||
nguyễn huy dũng
|
||||
cục thuế
|
||||
vuong rau
|
||||
khấu trừ thuế
|
||||
vladimir vladimirovich putin
|
||||
vtv9
|
||||
siêu dự án
|
||||
châu dã
|
||||
trương mỹ lan
|
||||
công ty cổ phần chứng khoán vndirect
|
||||
giải ngân
|
||||
đào tạo
|
||||
phương oanh
|
||||
petrolimex
|
||||
trần đình long
|
||||
trương lăng hách
|
||||
jürgen klopp
|
||||
kinh doanh
|
||||
liên minh châu âu
|
||||
nhà ở xã hội
|
||||
club america
|
||||
giàu
|
||||
đỗ mỹ linh
|
||||
việt nam
|
||||
phạm nhật vượng
|
||||
sơn ngọc minh
|
||||
mẹ kế
|
||||
nguyễn thị kim tiến
|
||||
cá cược bóng đá
|
||||
xe tải
|
||||
thaiticketmajor
|
||||
tổng công ty điện lực dầu khí việt nam
|
||||
agribank
|
||||
hòa minzy
|
||||
nghị định 168/2024/nđ–cp
|
||||
thúy diễm
|
||||
lụt
|
||||
hans-dieter flick
|
||||
thuế quan
|
||||
okc
|
||||
hóa đơn điện tử
|
||||
bó hoa
|
||||
bạc
|
||||
viên chức
|
||||
nguyễn thị thanh nhàn
|
||||
sính lễ
|
||||
mai ngọc
|
||||
nguyễn thanh tùng
|
||||
nguyễn quang hải
|
||||
paris fc vs psg
|
||||
chuyển nhượng
|
||||
tòa án
|
||||
biển đăng ký xe
|
||||
thành phố huế
|
||||
cục cảnh sát giao thông
|
||||
v-varen nagasaki đấu với vissel kobe
|
||||
tổng công ty cảng hàng không việt nam
|
||||
tiền lương
|
||||
đảo nhân tạo
|
||||
lich âm
|
||||
擎天崗
|
||||
mưa đá
|
||||
bh media
|
||||
timberwolves vs spurs
|
||||
đá hoài ân
|
||||
quyền linh
|
||||
phòng cháy chữa cháy
|
||||
cặp đôi
|
||||
kim thư
|
||||
cảnh sát giao thông
|
||||
cổ tức
|
||||
trần ngọc vàng
|
||||
trung nam hải
|
||||
ngược đường ngược nắng tập 28
|
||||
sun group
|
||||
hưng yên
|
||||
nvl
|
||||
américa đấu với nashville
|
||||
nam nha trang
|
||||
sói lửa
|
||||
đánh giá năng lực tphcm
|
||||
cướp
|
||||
ca sĩ
|
||||
pin điện
|
||||
gia ca phe hom nay
|
||||
dầu mỏ
|
||||
kevin warsh
|
||||
nga
|
||||
xe đầu kéo
|
||||
dương hoàng yến
|
||||
mb bank
|
||||
tàu chở dầu
|
||||
giải bóng đá vô địch quốc gia việt nam
|
||||
phương tiện bay không người lái
|
||||
công ty tnhh cây xanh công minh
|
||||
mourinho
|
||||
mỹ phẩm
|
||||
thanh niên
|
||||
mười hai con giáp
|
||||
chiến lược
|
||||
đèn giao thông
|
||||
ukraina
|
||||
chết
|
||||
bộ quốc phòng
|
||||
abc
|
||||
đi bộ
|
||||
hàn quốc
|
||||
lakers
|
||||
sân vận động thiên trường
|
||||
eileen wang
|
||||
cổ đông
|
||||
cháy quán karaoke
|
||||
phường rạch dừa
|
||||
psi scott
|
||||
lisa
|
||||
cổ phiếu
|
||||
trợ cấp
|
||||
hồ ngọc hà
|
||||
ngọc trinh
|
||||
lê huỳnh bảo ngọc
|
||||
mỹ tâm
|
||||
tập đoàn fpt
|
||||
giải vđqg nhật bản
|
||||
quần đảo trường sa
|
||||
câu lạc bộ bóng đá bournemouth
|
||||
bị điện giật
|
||||
neymar
|
||||
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
|
||||
joshua van
|
||||
happy mother's day
|
||||
tập đoàn đức long gia lai
|
||||
khoáng sản
|
||||
đại tá
|
||||
cristiano ronaldo jr
|
||||
u17 việt
|
||||
bách hóa xanh
|
||||
nga ukraine
|
||||
nghệ
|
||||
câu lạc bộ bóng đá west ham united
|
||||
9 tháng 5
|
||||
thực phẩm
|
||||
công an thành phố cần thơ
|
||||
strasbourg đấu với rayo
|
||||
crystal palace đấu với shakhtar
|
||||
quỳnh kool
|
||||
bích trâm
|
||||
vinhomes
|
||||
giá vàng ngày 8 5 2026
|
||||
hanta virus
|
||||
dgc
|
||||
công nhân
|
||||
ngân hàng thương mại cổ phần đầu tư và phát triển việt nam
|
||||
park bo gum
|
||||
tốc độ
|
||||
âm lịch
|
||||
lương trần mỹ cẩm tập 1
|
||||
chú rể
|
||||
lãi suất ngân hàng
|
||||
trường thpt chuyên vĩnh phúc
|
||||
đỗ thị hà
|
||||
tín dụng
|
||||
dông
|
||||
tập đoàn vingroup
|
||||
cảnh sát
|
||||
tuyên án
|
||||
gyokeres
|
||||
học
|
||||
bảo hiểm xã hội
|
||||
thi sinh thi tốt nghiệp thpt
|
||||
ngân hàng
|
||||
đội tuyển bóng đá u 17 quốc gia yemen
|
||||
giải bóng đá vô địch thế giới
|
||||
kylie jenner
|
||||
thời tiết cực đoan
|
||||
vietnam airlines
|
||||
xét tuyển đại học
|
||||
matheus cunha
|
||||
heidi klum
|
||||
khóa sim
|
||||
huấn luyện viên
|
||||
chu châu
|
||||
vụ án tây ninh
|
||||
xác thực
|
||||
lê khanh
|
||||
doanh thu phim trùm sò
|
||||
máy bay
|
||||
lũ quét
|
||||
ngộ độc
|
||||
nvl
|
||||
iphone 18 pro max
|
||||
샌디에이고 fc 대 엘에이 fc
|
||||
clb san diego đấu với lafc
|
||||
tổng công ty khoáng sản tkv
|
||||
xe
|
||||
hà giang
|
||||
bia
|
||||
trọng tài
|
||||
thu nhập cá nhân
|
||||
thiếu tướng quân đội nhân dân việt nam
|
||||
lịch nghỉ 2 9
|
||||
dân việt
|
||||
rockets vs lakers
|
||||
tesla
|
||||
giá vàng the giới
|
||||
mỹ iran
|
||||
|
||||
683
data/map.json
683
data/map.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": "3.5.2",
|
||||
"updated_at": "2026-04-16",
|
||||
"updated_at": "2026-04-19",
|
||||
"continents": [
|
||||
{
|
||||
"id": "ASIA",
|
||||
@@ -11,7 +11,20 @@
|
||||
"name": "Japan (日本)",
|
||||
"keyword_file": "kw_JP.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Tokyo", "name": "Tokyo (东京)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Tokyo",
|
||||
"name": "Tokyo (东京)"
|
||||
},
|
||||
{
|
||||
"id": "Osaka",
|
||||
"name": "Osaka (大阪)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -19,7 +32,237 @@
|
||||
"name": "Singapore (新加坡)",
|
||||
"keyword_file": "kw_SG.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Singapore", "name": "Singapore (新加坡)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Singapore",
|
||||
"name": "Singapore (新加坡)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 (韩国)",
|
||||
"keyword_file": "kw_KR.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Seoul",
|
||||
"name": "Seoul (首尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -27,7 +270,33 @@
|
||||
"name": "Hong Kong (香港)",
|
||||
"keyword_file": "kw_HK.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "HongKong", "name": "Hong Kong (香港)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "HongKong",
|
||||
"name": "Hong Kong (香港)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "MO",
|
||||
"name": "Macau (澳门)",
|
||||
"keyword_file": "kw_MO.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Macau",
|
||||
"name": "Macau (澳门)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -35,7 +304,16 @@
|
||||
"name": "Vietnam (越南)",
|
||||
"keyword_file": "kw_VN.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Hanoi", "name": "Hanoi (河内)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Hanoi",
|
||||
"name": "Hanoi (河内)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -43,7 +321,33 @@
|
||||
"name": "Taiwan (台湾)",
|
||||
"keyword_file": "kw_TW.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Taipei", "name": "Taipei (台北)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Taipei",
|
||||
"name": "Taipei (台北)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "MY",
|
||||
"name": "Malaysia (马来西亚)",
|
||||
"keyword_file": "kw_MY.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Kuala_Lumpur",
|
||||
"name": "Kuala Lumpur (吉隆坡)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -61,8 +365,31 @@
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{ "id": "London", "name": "London (伦敦)" },
|
||||
{ "id": "Coventry", "name": "Coventry (考文垂)" }
|
||||
{
|
||||
"id": "London",
|
||||
"name": "London (伦敦)"
|
||||
},
|
||||
{
|
||||
"id": "Coventry",
|
||||
"name": "Coventry (考文垂)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "TR",
|
||||
"name": "Turkey (土耳其)",
|
||||
"keyword_file": "kw_TR.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Istanbul",
|
||||
"name": "Istanbul (伊斯坦布尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -72,7 +399,46 @@
|
||||
"name": "Germany (德国)",
|
||||
"keyword_file": "kw_DE.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Frankfurt", "name": "Frankfurt (法兰克福)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Frankfurt",
|
||||
"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 (柏林)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -80,7 +446,16 @@
|
||||
"name": "France (法国)",
|
||||
"keyword_file": "kw_FR.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Paris", "name": "Paris (巴黎)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Paris",
|
||||
"name": "Paris (巴黎)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -88,7 +463,16 @@
|
||||
"name": "Netherlands (荷兰)",
|
||||
"keyword_file": "kw_NL.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Amsterdam", "name": "Amsterdam (阿姆斯特丹)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Amsterdam",
|
||||
"name": "Amsterdam (阿姆斯特丹)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -96,7 +480,16 @@
|
||||
"name": "Spain (西班牙)",
|
||||
"keyword_file": "kw_ES.txt",
|
||||
"states": [
|
||||
{ "id": "Default", "name": "Default State", "cities": [ { "id": "Madrid", "name": "Madrid (马德里)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Madrid",
|
||||
"name": "Madrid (马德里)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -110,54 +503,206 @@
|
||||
"name": "United States (美国)",
|
||||
"keyword_file": "kw_US.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "AZ",
|
||||
"name": "Arizona (亚利桑那州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Phoenix",
|
||||
"name": "Phoenix (凤凰城)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "CA",
|
||||
"name": "California (加州)",
|
||||
"cities": [
|
||||
{ "id": "Los_Angeles", "name": "Los Angeles (洛杉矶)" },
|
||||
{ "id": "San_Jose", "name": "San Jose (圣何塞)" }
|
||||
{
|
||||
"id": "Los_Angeles",
|
||||
"name": "Los Angeles (洛杉矶)"
|
||||
},
|
||||
{
|
||||
"id": "Ontario",
|
||||
"name": "Ontario (安大略)"
|
||||
},
|
||||
{
|
||||
"id": "San_Jose",
|
||||
"name": "San Jose (圣何塞)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "CO",
|
||||
"name": "Colorado (科罗拉多州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Boulder",
|
||||
"name": "Boulder (博尔德)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "FL",
|
||||
"name": "Florida (佛罗里达州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Miami",
|
||||
"name": "Miami (迈阿密)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "GA",
|
||||
"name": "Georgia (佐治亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Atlanta",
|
||||
"name": "Atlanta (亚特兰大)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Hawaii",
|
||||
"name": "Hawaii",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Honolulu",
|
||||
"name": "Honolulu (檀香山)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "IA",
|
||||
"name": "Iowa (爱荷华州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Council_Bluffs",
|
||||
"name": "Council Bluffs (康瑟尔布拉夫斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "IL",
|
||||
"name": "Illinois (伊利诺伊州)",
|
||||
"cities": [
|
||||
{ "id": "Warrenville", "name": "Warrenville (沃伦维尔)" }
|
||||
{
|
||||
"id": "Warrenville",
|
||||
"name": "Warrenville (沃伦维尔)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "KS",
|
||||
"name": "Kansas (堪萨斯州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Kansas_City",
|
||||
"name": "Kansas City (堪萨斯城)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NC",
|
||||
"name": "North Carolina (北卡罗来纳州)",
|
||||
"cities": [
|
||||
{ "id": "Charlotte", "name": "Charlotte (夏洛特)" }
|
||||
{
|
||||
"id": "Charlotte",
|
||||
"name": "Charlotte (夏洛特)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NJ",
|
||||
"name": "New Jersey (新泽西州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Newark",
|
||||
"name": "Newark (纽瓦克)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NV",
|
||||
"name": "Nevada (内华达州)",
|
||||
"cities": [
|
||||
{ "id": "Las_Vegas", "name": "Las Vegas (拉斯维加斯)" }
|
||||
{
|
||||
"id": "Las_Vegas",
|
||||
"name": "Las Vegas (拉斯维加斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 (俄勒冈州)",
|
||||
"cities": [
|
||||
{ "id": "Bend", "name": "Bend (本德)" }
|
||||
{
|
||||
"id": "Bend",
|
||||
"name": "Bend (本德)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "TX",
|
||||
"name": "Texas (得克萨斯州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Dallas",
|
||||
"name": "Dallas (达拉斯)"
|
||||
},
|
||||
{
|
||||
"id": "Houston",
|
||||
"name": "Houston (休斯顿)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "UT",
|
||||
"name": "Utah (犹他州)",
|
||||
"cities": [
|
||||
{ "id": "Salt_Lake_City", "name": "Salt Lake City (盐湖城)" }
|
||||
{
|
||||
"id": "Salt_Lake_City",
|
||||
"name": "Salt Lake City (盐湖城)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "VA",
|
||||
"name": "Virginia (弗吉尼亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Ashburn",
|
||||
"name": "Ashburn (阿什本)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"name": "Washington (华盛顿州)",
|
||||
"cities": [
|
||||
{ "id": "Seattle", "name": "Seattle (西雅图)" }
|
||||
{
|
||||
"id": "Seattle",
|
||||
"name": "Seattle (西雅图)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -171,8 +716,100 @@
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{ "id": "Toronto", "name": "Toronto (多伦多)" },
|
||||
{ "id": "Montreal", "name": "Montreal (蒙特利尔)" }
|
||||
{
|
||||
"id": "Toronto",
|
||||
"name": "Toronto (多伦多)"
|
||||
},
|
||||
{
|
||||
"id": "Montreal",
|
||||
"name": "Montreal (蒙特利尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "OCEANIA",
|
||||
"name": "大洋洲战区 (Oceania)",
|
||||
"countries": [
|
||||
{
|
||||
"id": "AU",
|
||||
"name": "Australia (澳大利亚)",
|
||||
"keyword_file": "kw_AU.txt",
|
||||
"states": [
|
||||
{
|
||||
"id": "NSW",
|
||||
"name": "New South Wales (新南威尔士州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Sydney",
|
||||
"name": "Sydney (悉尼)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "VIC",
|
||||
"name": "Victoria (维多利亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Melbourne",
|
||||
"name": "Melbourne (墨尔本)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "QLD",
|
||||
"name": "Queensland (昆士兰州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Brisbane",
|
||||
"name": "Brisbane (布里斯班)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"name": "Western Australia (西澳大利亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Perth",
|
||||
"name": "Perth (珀斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "SA",
|
||||
"name": "South Australia (南澳大利亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Adelaide",
|
||||
"name": "Adelaide (阿德莱德)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 (拉各斯)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -180,4 +817,4 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/AE/Default/Dubai.json
Normal file
40
data/regions/AE/Default/Dubai.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://www.centralbank.ae/",
|
||||
"https://news.google.com/rss/articles/CBMikwFBVV95cUxNYkpBNS01Vm1yYlNQT2hpT00weU9VQnVJRHhMTzZ5OGJ2elNUQUNpdDhDRk9aZEh2M1lnRjlEbWNLMF9QMVU2MXZaMUZWLWItZEk1dkZnd0ZaU0xtYXRrdGNSYVctTFNubzJwYVFfY0lNOEVXaUxZcmZ2Y044N1V2YlV1SS1heHVPXzhLY2diY0RUYVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiygFBVV95cUxNMXV4OWpmRElfTl90aWdPa0NEUGF1VlN6azhXUU9CNy1qTkFZaC05dlZHU1BSeVFheXJUN1dTVndxcTFWb0RCVFN3bmY4UzAxNHNVNTVDdGVlNUZudDl0UjRHTTJFdjBWQlV2TUdfZUZpUlMycWZjWkRVRU81TTUyWjh0VjduRm4tN0YxU1hiMlBNa3I5U0JRbElIWFN1U0pBekZwSDF3SlpSMUhKMkR3YThJbW9ZOTllQWhVc2hzUzNoSWNQOTMwMjRB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMipAFBVV95cUxNVkQ0Z1pKckQ5YXZ3WkZFMlZMVmJrbUltNzhGRkh1WkZmd0hnSjg3TmNPZkd0RURycTc0NWpnT19NSG1pYkR3anZGN2hmTnA3Z014cnVUeE83cnZBZzJYdzkwQjg4aFhxeVQ2S3ZPS1NiWm45eVpLbnRJVzlxRTZKOURBR0pjSGozTkJGZ3VWMGFzSFJseHRPenZTTERMbDM0OHR6Vg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52R0dzT2wxWGJyTGUtQkRhUVFGbFJiTmdxTDF3WF82Ymc4N3FzT0Rodmg4ak9qNW1Uc0RHb3NabmF3NDN1OWhWUEEyOW03WUd6ZC1meERqZldnUQ?oc=5",
|
||||
"https://www.thenationalnews.com/",
|
||||
"https://news.google.com/rss/articles/CBMijAFBVV95cUxOcmJYaGJsbXVKSFVFc0x5cE5VU1hMY0tvS3hiNkhTQmNYR0dtNHRyNjJja0NZbVZ5ZmJxdVNXdTZQZE5rYU92cmY5OUdLQzZ1cW9nU2R4N0trblZsMElSQl8wMC1zeF94aUNJLXdrbGRSZkNuZE1NQXRiQXJrTVFEaGEwZDBDSnhXUzRqYg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMijgFBVV95cUxOVHA5ZEZrLWVwUnhxWk56UGxqM2F5aTZSMm9IclJNN1JjQWQ4UmdiTC1kLXo1OFJnbkpIc0V3Q3hvODNJd2JxNVBZRTk0clRVb01fUExOdnkyUUFsTkxlQkE4dllXZzE1MFFDLTc4QnF3TkRXNGJSNUtFdF9YdDlEM0hqSXJ5cGs3bzN4NTln?oc=5",
|
||||
"https://u.ae/",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE0zeXFFU3FkN1R3dWlkNXMyeXRpYmpBZE13Y0FlVEZLM3B1NDd5TnZVa2JVbDRzbWFydEUtSjRKNXVXdVRjV1JoZFdnV3BLYVRCTGIwTmU5N1BfYXU3SW9z?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihgFBVV95cUxOMUVsMkdsN0s0UE8xR3NmcWFPbS1HMGlKVkdKMVZUcVZfYldUOHhDY216RlY0LVl0aHB1TThQME1iWEdDdjM2YXYteUVYRHViR0kteWFQSFptNjZjRVNtZEZ0TXlzZHA3Y2hvZUFlc0ZmNFhERFI0UUxwRlR1RlRVcDlCaUFZQQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiwwFBVV95cUxNemtvTWRfTjZEZU16dmE5cVRIUVdYUG1vYkJTNlphQVdJbHBfdF9PTmliQ251Z055MFhxMjlSS19sWms4ZG5jZmRBaWdLU3BNNjY0cE9GcXJ1STVDdTIyUW9PMUI2N21UVW9UYm9hby1SZy0xTFhkLTNqcm1ycmVUR2FrZWd2MDBvWFU2UVJMZ0M1VTJRbnBudWpBNnJld1BlUGgyR1AzOEZ3b212SDcxWXJ6Z0NJVkNKekRWSEJCLV9EMlE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiowFBVV95cUxOeXhSMjFaSEgxTWw3VEZ4ZmtNQmdaMm9iZl9WSU90ZzhqZXk4WmZ3c0h1NDk2TUs5OGk5a2hta3B1T0owX1pDQTliZ0t3b2ZzRHM5bm11NzRoU29EOE5TcVkwMnBmY3MxdUhGT3hraFRlRm4zR1diMEhDRFY0WXpiVFlHWkZJcUNTNElRbERvZ2pzTHdJbEJ4S01PeUxmempIdjNN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMigwFBVV95cUxQcmotVWVDcm10RHAyNUpLbFc2QlI0LWQ3dHpnSExvWE9zRXhxZVpBTU1XSGVIU01JZk5ZRk1WR3lJbGVHbk4taEx6Vlc2WF9KTWg4U0U1eHdMdnNGTVZtdWtoU1ZYMkhZTGZWd1RoWGNYUTJVNGl3REd2eXp0aDc5TUtDc9IBiAFBVV95cUxQV3JDQW5wUW9NU2RKRTFqSTNnNWxMT0R1bnl0OVhRcWJBUGl5bmR4WnU1VGZFdkM2b2o3NW5NZUVfQkRyNGZ0MndnaXFsd2Z5a0RiQXFNQlJLVEdtMElnMHdyRGplMmU4aEd6ak5mUHlmem1uQXBlMF8xb0JQWjVZbHg4N2RDSVZN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxQeGl5eEtfVGZlRlBIcTE2b3plN1dOaUhod1h1V1FSOGZLb1VaSkM3XzR3OWNjSkhGWlc2UlBGZUZPbHJqZUtpOEFqQ2FtQlhWNElCYU1NSHBlVHpUVWowTkN6NjlyWWllNEFzTG1hRzNUX28tZzR1UXhodFhqVlRwWkJUc0M5YWx2Zi1nMDdfRy0tdUVfd284RTNfWjgyY2dHaUlWNktBelZuVUhJemFTRHdyTHZMNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxQc3kyVzZFRXMzbWhfYWJScTFEaHlrYVpWOUQ5NmtyT0VCN1BpX3ZMY3dUVm5Qb2l1ZXh1Nzh3dGExdURYY2NWeHJKZGg5YmxyRDEzbkE3a1VjZXNsX0ZwNG92MkkxakRVdTFWZzF1YUMzcmt4UUU4UVRHci02T0lyR0FIOVJsZTdRZUptbUNBdE11bVVXOTFGR2hWZ05wUUIybDFPc3cwY05aeUFqVHhHN0ZtZEZfTWgzTWhnemY5WW8tenREWnJ3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMic0FVX3lxTE5kZFBmVE00UjB3bVl5ZHFmbTc5MXdlakFLYkJUZktOT2JMMFNTb2trbXBXaFR1aHF3UlZGMUFIdmhWSVZwdVNPWE5FYjN0WG9BOUNjVkZJeTRSckhlZWZ6MHROTkROZ2hmOXFjVDZ0TlNoNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxPRWVCUEhzVHFQRjNoR1BhTUFCWk5fZEMwamMydkpRay1GSHZBcnZZZmZtbEQ3YWs1UU1qLXFzLW4zYmRWbEoxSlVrbU12Y0cwdjRodkV2aGlLVURHVmhHNVNpSk5RLXcxb1dUdU15SnpEaXF2N2l2eXhVU2FSVnBQYTRNMlZ2aktaZXVLalJJNDJfUQ?oc=5",
|
||||
"https://www.khaleejtimes.com/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://u.ae/",
|
||||
"https://www.centralbank.ae/",
|
||||
"https://gulfnews.com/",
|
||||
"https://www.khaleejtimes.com/",
|
||||
"https://www.thenationalnews.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/AU/NSW/Sydney.json
Normal file
50
data/regions/AU/NSW/Sydney.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Australia - Sydney",
|
||||
"google_module": {
|
||||
"base_lat": -33.8697,
|
||||
"base_lon": 151.2085,
|
||||
"lang_params": "hl=en-AU&gl=AU",
|
||||
"valid_url_suffix": "com.au"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.abc.net.au/news/2026-05-22/alice-springs-school-of-the-air-turns-75/106700376",
|
||||
"https://www.abc.net.au/news/2026-05-22/amy-lohf-jailed-over-mannum-boat-crash/106710676",
|
||||
"https://www.abc.net.au/news/2026-05-22/secrecy-surrounds-party-trying-to-block/106711104",
|
||||
"https://www.abc.net.au/news/2026-05-22/state-of-origin-i-kalyn-ponga-on-being-in-the-sweet-spot/106711388",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/arc-de-trump-monument-one-step-closer-to-being-built/106710574",
|
||||
"https://www.abc.net.au/news/2026-05-22/man-charged-over-explosives-during-police-search-bathurst-home/106710108",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/us-prison-officials-call-off-execution-after-botched-attempt/106710430",
|
||||
"https://www.abc.net.au/news/2026-05-22/leaders-staff-welcome-albury-wodonga-health-executive-exodus/106709976",
|
||||
"https://www.abc.net.au/news/2026-05-22/lachlan-mark-freund-tina-kathleen-hazard-jailed-manslaughter/106705966",
|
||||
"https://www.abc.net.au/news/2026-05-22/shooting-of-keith-smith-detailed-in-sushames-sentencing-hearing/106710308",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/jervis-bay-flyover-opens/106701908",
|
||||
"https://www.abc.net.au/news/2026-05-22/fears-scam-operations-relocating-sri-lanka/106708344",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/adelaide-36ers-new-coach-trevor-gleeson-bryce-cotton/106710570",
|
||||
"https://www.abc.net.au/news/2026-05-22/nsw-city-of-parramatta-council-icac-inquiry/106654468",
|
||||
"https://www.abc.net.au/news/2026-05-22/tolu-koula-nsw-origin-olympics-story/106712358"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/AU/QLD/Brisbane.json
Normal file
50
data/regions/AU/QLD/Brisbane.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Australia - Brisbane",
|
||||
"google_module": {
|
||||
"base_lat": -27.4697,
|
||||
"base_lon": 153.0252,
|
||||
"lang_params": "hl=en-AU&gl=AU",
|
||||
"valid_url_suffix": "com.au"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.abc.net.au/news/2026-05-22/us-prison-officials-call-off-execution-after-botched-attempt/106710430",
|
||||
"https://www.abc.net.au/news/2026-05-22/tolu-koula-nsw-origin-olympics-story/106712358",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/fears-scam-operations-relocating-sri-lanka/106708344",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/alice-springs-school-of-the-air-turns-75/106700376",
|
||||
"https://www.abc.net.au/news/2026-05-22/amy-lohf-jailed-over-mannum-boat-crash/106710676",
|
||||
"https://www.abc.net.au/news/2026-05-22/man-charged-over-explosives-during-police-search-bathurst-home/106710108",
|
||||
"https://www.abc.net.au/news/2026-05-22/arc-de-trump-monument-one-step-closer-to-being-built/106710574",
|
||||
"https://www.abc.net.au/news/2026-05-22/secrecy-surrounds-party-trying-to-block/106711104",
|
||||
"https://www.abc.net.au/news/2026-05-22/nsw-city-of-parramatta-council-icac-inquiry/106654468",
|
||||
"https://www.abc.net.au/news/2026-05-22/adelaide-36ers-new-coach-trevor-gleeson-bryce-cotton/106710570",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/leaders-staff-welcome-albury-wodonga-health-executive-exodus/106709976",
|
||||
"https://www.abc.net.au/news/2026-05-22/jervis-bay-flyover-opens/106701908",
|
||||
"https://www.abc.net.au/news/2026-05-22/shooting-of-keith-smith-detailed-in-sushames-sentencing-hearing/106710308",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/state-of-origin-i-kalyn-ponga-on-being-in-the-sweet-spot/106711388",
|
||||
"https://www.abc.net.au/news/2026-05-22/lachlan-mark-freund-tina-kathleen-hazard-jailed-manslaughter/106705966"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/AU/SA/Adelaide.json
Normal file
50
data/regions/AU/SA/Adelaide.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Australia - Adelaide",
|
||||
"google_module": {
|
||||
"base_lat": -34.9227,
|
||||
"base_lon": 138.6016,
|
||||
"lang_params": "hl=en-AU&gl=AU",
|
||||
"valid_url_suffix": "com.au"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.abc.net.au/news/2026-05-22/state-of-origin-i-kalyn-ponga-on-being-in-the-sweet-spot/106711388",
|
||||
"https://www.abc.net.au/news/2026-05-22/alice-springs-school-of-the-air-turns-75/106700376",
|
||||
"https://my.gov.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/arc-de-trump-monument-one-step-closer-to-being-built/106710574",
|
||||
"https://www.abc.net.au/news/2026-05-22/fears-scam-operations-relocating-sri-lanka/106708344",
|
||||
"https://www.abc.net.au/news/2026-05-22/us-prison-officials-call-off-execution-after-botched-attempt/106710430",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/adelaide-36ers-new-coach-trevor-gleeson-bryce-cotton/106710570",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/amy-lohf-jailed-over-mannum-boat-crash/106710676",
|
||||
"https://www.abc.net.au/news/2026-05-22/lachlan-mark-freund-tina-kathleen-hazard-jailed-manslaughter/106705966",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/shooting-of-keith-smith-detailed-in-sushames-sentencing-hearing/106710308",
|
||||
"https://www.abc.net.au/news/2026-05-22/tolu-koula-nsw-origin-olympics-story/106712358",
|
||||
"https://www.abc.net.au/news/2026-05-22/secrecy-surrounds-party-trying-to-block/106711104",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/leaders-staff-welcome-albury-wodonga-health-executive-exodus/106709976",
|
||||
"https://www.abc.net.au/news/2026-05-22/nsw-city-of-parramatta-council-icac-inquiry/106654468",
|
||||
"https://www.abc.net.au/news/2026-05-22/man-charged-over-explosives-during-police-search-bathurst-home/106710108",
|
||||
"https://www.abc.net.au/news/2026-05-22/jervis-bay-flyover-opens/106701908"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/AU/VIC/Melbourne.json
Normal file
50
data/regions/AU/VIC/Melbourne.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Australia - Melbourne",
|
||||
"google_module": {
|
||||
"base_lat": -37.8106,
|
||||
"base_lon": 144.9624,
|
||||
"lang_params": "hl=en-AU&gl=AU",
|
||||
"valid_url_suffix": "com.au"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.abc.net.au/news/2026-05-22/man-charged-over-explosives-during-police-search-bathurst-home/106710108",
|
||||
"https://www.abc.net.au/news/2026-05-22/lachlan-mark-freund-tina-kathleen-hazard-jailed-manslaughter/106705966",
|
||||
"https://www.abc.net.au/news/2026-05-22/nsw-city-of-parramatta-council-icac-inquiry/106654468",
|
||||
"https://www.abc.net.au/news/2026-05-22/secrecy-surrounds-party-trying-to-block/106711104",
|
||||
"https://www.abc.net.au/news/2026-05-22/leaders-staff-welcome-albury-wodonga-health-executive-exodus/106709976",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/alice-springs-school-of-the-air-turns-75/106700376",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/shooting-of-keith-smith-detailed-in-sushames-sentencing-hearing/106710308",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/arc-de-trump-monument-one-step-closer-to-being-built/106710574",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/jervis-bay-flyover-opens/106701908",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/tolu-koula-nsw-origin-olympics-story/106712358",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/fears-scam-operations-relocating-sri-lanka/106708344",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/amy-lohf-jailed-over-mannum-boat-crash/106710676",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/state-of-origin-i-kalyn-ponga-on-being-in-the-sweet-spot/106711388",
|
||||
"https://www.abc.net.au/news/2026-05-22/us-prison-officials-call-off-execution-after-botched-attempt/106710430",
|
||||
"https://www.abc.net.au/news/2026-05-22/adelaide-36ers-new-coach-trevor-gleeson-bryce-cotton/106710570"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/AU/WA/Perth.json
Normal file
50
data/regions/AU/WA/Perth.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Australia - Perth",
|
||||
"google_module": {
|
||||
"base_lat": -31.9545,
|
||||
"base_lon": 115.8582,
|
||||
"lang_params": "hl=en-AU&gl=AU",
|
||||
"valid_url_suffix": "com.au"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.abc.net.au/news/2026-05-22/shooting-of-keith-smith-detailed-in-sushames-sentencing-hearing/106710308",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/state-of-origin-i-kalyn-ponga-on-being-in-the-sweet-spot/106711388",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/nsw-city-of-parramatta-council-icac-inquiry/106654468",
|
||||
"https://www.abc.net.au/news/2026-05-22/fears-scam-operations-relocating-sri-lanka/106708344",
|
||||
"https://www.abc.net.au/news/2026-05-22/lachlan-mark-freund-tina-kathleen-hazard-jailed-manslaughter/106705966",
|
||||
"https://www.abc.net.au/news/2026-05-22/adelaide-36ers-new-coach-trevor-gleeson-bryce-cotton/106710570",
|
||||
"https://www.abc.net.au/news/2026-05-22/man-charged-over-explosives-during-police-search-bathurst-home/106710108",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/leaders-staff-welcome-albury-wodonga-health-executive-exodus/106709976",
|
||||
"https://www.abc.net.au/news/2026-05-22/us-prison-officials-call-off-execution-after-botched-attempt/106710430",
|
||||
"https://www.abc.net.au/news/2026-05-22/secrecy-surrounds-party-trying-to-block/106711104",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/arc-de-trump-monument-one-step-closer-to-being-built/106710574",
|
||||
"https://www.abc.net.au/news/2026-05-22/tolu-koula-nsw-origin-olympics-story/106712358",
|
||||
"https://www.abc.net.au/news/2026-05-22/alice-springs-school-of-the-air-turns-75/106700376",
|
||||
"https://www.abc.net.au/news/2026-05-22/amy-lohf-jailed-over-mannum-boat-crash/106710676",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-22/jervis-bay-flyover-opens/106701908",
|
||||
"https://www.realestate.com.au/"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
35
data/regions/BD/Default/Dhaka.json
Normal file
35
data/regions/BD/Default/Dhaka.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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.thedailystar.net/",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/you-cannot-remain-silent-3076231",
|
||||
"https://www.thedailystar.net/news/bangladesh/politics/news/ecs-dialogue-parties-runs-snag-3075346",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/noab-hikes-newspaper-price-tk-2-jul-25-3076201",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/wasfia-first-bangladeshi-conquer-k2-3076981",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/power-crisis-may-worsen-3075341",
|
||||
"https://www.thedailystar.net/news/bangladesh/crime-justice/news/cu-sexual-assault-fingers-pointed-bcl-men-3076216",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/need-1-week-assess-situation-3076976",
|
||||
"https://www.prothomalo.com/",
|
||||
"https://www.thedailystar.net/news/bangladesh/news/yet-start-mega-projects-consider-putting-them-hold-3076221",
|
||||
"https://www.bb.org.bd/",
|
||||
"https://bangladesh.gov.bd/",
|
||||
"https://www.bdnews24.com/",
|
||||
"https://www.thedailystar.net/rohingya-influx/news/rohingya-genocide-case-proceed-3076971",
|
||||
"https://www.thedailystar.net/youth/education/campus/news/cu-admin-identifies-2-molesters-3076956"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://bangladesh.gov.bd/",
|
||||
"https://www.bb.org.bd/",
|
||||
"https://www.thedailystar.net/",
|
||||
"https://www.prothomalo.com/",
|
||||
"https://www.bdnews24.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,10 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.cbc.ca/",
|
||||
"https://www.cbc.ca/news/entertainment/disneyland-lawsuit-facial-recognition-9.7207439?cmp=rss",
|
||||
"https://www.canada.ca/en.html",
|
||||
"https://www.cbc.ca/news/canada/edmonton/livestory/committee-meeting-pro-canada-petition-alberta-premier-danielle-smith-address-speech-9.7207396?cmp=rss",
|
||||
"https://www.canadapost-postescanada.ca/",
|
||||
"https://www.cbc.ca/news/business/bread-price-fixing-settlement-payout-begins-9.7207323?cmp=rss",
|
||||
"https://www.cra-arc.gc.ca/",
|
||||
"https://www.theweathernetwork.com/ca",
|
||||
"https://www.cbc.ca/news/politics/30-million-modernization-snowbirds-planes-9.7207399?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/toronto/toronto-police-missing-teenager-9.7207427?cmp=rss",
|
||||
"https://www.cbc.ca/radio/asithappens/snuffleupagus-fish-9.7207623?cmp=rss",
|
||||
"https://www.cbc.ca/news/states-ask-for-ticketmaster-livenation-breakup-9.7208100?cmp=rss",
|
||||
"https://www.cbc.ca/news/world/us-threats-trump-rubio-cuba-9.7207647?cmp=rss",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.cbc.ca/news/canada/montreal/recall-microgreens-quebec-ontario-9.7207984?cmp=rss",
|
||||
"https://www.utoronto.ca/",
|
||||
"https://www.cbc.ca/news/canada/ottawa/opp-charges-ottawa-man-following-international-cybercrime-investigation-9.7207909?cmp=rss",
|
||||
"https://www.cbc.ca/news/world/honduras-shootings-attack-9.7207766?cmp=rss",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.cbc.ca/sports/nascar-kyle-busch-obit-9.7207986?cmp=rss",
|
||||
"https://www.td.com/",
|
||||
"https://www.cbc.ca/news/canada/british-columbia/bc-man-guilty-unprecedented-voyeurism-9.7207581?cmp=rss",
|
||||
"https://www.cbc.ca/news/politics/online-streaming-canadian-content-9.7207714?cmp=rss",
|
||||
"https://www.cbc.ca/news/business/intuit-layoffs-2026-9.7207948?cmp=rss"
|
||||
],
|
||||
"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.td.com/",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.theweathernetwork.com/ca"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.canada.ca/en.html",
|
||||
"https://www.cbc.ca/",
|
||||
"https://www.thestar.com/",
|
||||
"https://www.ctvnews.ca/",
|
||||
"https://www.cbc.ca/news/canada/edmonton/livestory/committee-meeting-pro-canada-petition-alberta-premier-danielle-smith-address-speech-9.7207396?cmp=rss",
|
||||
"https://www.cbc.ca/radio/asithappens/snuffleupagus-fish-9.7207623?cmp=rss",
|
||||
"https://www.cbc.ca/news/business/intuit-layoffs-2026-9.7207948?cmp=rss",
|
||||
"https://www.cbc.ca/news/business/bread-price-fixing-settlement-payout-begins-9.7207323?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/ottawa/opp-charges-ottawa-man-following-international-cybercrime-investigation-9.7207909?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/montreal/recall-microgreens-quebec-ontario-9.7207984?cmp=rss",
|
||||
"https://www.cbc.ca/sports/nascar-kyle-busch-obit-9.7207986?cmp=rss",
|
||||
"https://www.cbc.ca/news/states-ask-for-ticketmaster-livenation-breakup-9.7208100?cmp=rss",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.cbc.ca/news/canada/toronto/toronto-police-missing-teenager-9.7207427?cmp=rss",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.cbc.ca/news/entertainment/disneyland-lawsuit-facial-recognition-9.7207439?cmp=rss",
|
||||
"https://www.canadapost-postescanada.ca/",
|
||||
"https://www.td.com/"
|
||||
"https://www.cbc.ca/news/world/us-threats-trump-rubio-cuba-9.7207647?cmp=rss",
|
||||
"https://www.utoronto.ca/",
|
||||
"https://www.cra-arc.gc.ca/",
|
||||
"https://www.cbc.ca/news/canada/british-columbia/bc-man-guilty-unprecedented-voyeurism-9.7207581?cmp=rss",
|
||||
"https://www.td.com/",
|
||||
"https://www.theweathernetwork.com/ca",
|
||||
"https://www.cbc.ca/news/world/honduras-shootings-attack-9.7207766?cmp=rss",
|
||||
"https://www.cbc.ca/news/politics/online-streaming-canadian-content-9.7207714?cmp=rss",
|
||||
"https://www.cbc.ca/news/politics/30-million-modernization-snowbirds-planes-9.7207399?cmp=rss"
|
||||
],
|
||||
"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.td.com/",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.theweathernetwork.com/ca"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
50
data/regions/DE/BE/Berlin.json
Normal file
50
data/regions/DE/BE/Berlin.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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.tagesschau.de/inland/luftverkehr-steuer-senkung-beschlossen-100.html",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-aussenminister-schweden-100.html",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.obi.de/",
|
||||
"https://www.tagesschau.de/ausland/amerika/usa-senat-trump-streit-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/renteneinstieg-alter-ueberblick-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/israel-gaza-aktivisten-abschiebung-100.html",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.tagesschau.de/sport/wm-kader-neuer-100.html",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-nikkei-dax-ki-brent-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/debatte-rente-renteneintrittsalter-100.html",
|
||||
"https://www.tagesschau.de/inland/regional/hessen/autoren-westend-verlag-100.html",
|
||||
"https://www.tagesschau.de/wissen/forschung/gentherapie-gehoerlosigkeit-100.html",
|
||||
"https://www.tagesschau.de/investigativ/monitor/fussball-fankurven-rechtsextremismus-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-treffen-rubio-100.html",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/bgh-klage-blinde-diskriminierung-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/rio-paris-flugzeugabsturz-airfrance-verurteilt-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/tuerkei-chp-gericht-opposition-100.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.obi.de/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/DE/BY/Nuremberg.json
Normal file
50
data/regions/DE/BY/Nuremberg.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.amazon.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/renteneinstieg-alter-ueberblick-100.html",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/bgh-klage-blinde-diskriminierung-100.html",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.tagesschau.de/inland/regional/hessen/autoren-westend-verlag-100.html",
|
||||
"https://www.tagesschau.de/investigativ/monitor/fussball-fankurven-rechtsextremismus-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/israel-gaza-aktivisten-abschiebung-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/tuerkei-chp-gericht-opposition-100.html",
|
||||
"https://www.tagesschau.de/inland/luftverkehr-steuer-senkung-beschlossen-100.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/usa-senat-trump-streit-100.html",
|
||||
"https://www.tagesschau.de/wissen/forschung/gentherapie-gehoerlosigkeit-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-aussenminister-schweden-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-treffen-rubio-100.html",
|
||||
"https://www.tagesschau.de/sport/wm-kader-neuer-100.html",
|
||||
"https://www.obi.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-nikkei-dax-ki-brent-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/debatte-rente-renteneintrittsalter-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/rio-paris-flugzeugabsturz-airfrance-verurteilt-100.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.obi.de/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.tagesschau.de/inland/regional/hessen/autoren-westend-verlag-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/israel-gaza-aktivisten-abschiebung-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/renteneinstieg-alter-ueberblick-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/debatte-rente-renteneintrittsalter-100.html",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/bgh-klage-blinde-diskriminierung-100.html",
|
||||
"https://www.tum.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.tagesschau.de/investigativ/monitor/fussball-fankurven-rechtsextremismus-100.html",
|
||||
"https://www.tagesschau.de/wissen/forschung/gentherapie-gehoerlosigkeit-100.html",
|
||||
"https://www.bahn.de/",
|
||||
"https://www.tagesschau.de/ausland/asien/tuerkei-chp-gericht-opposition-100.html",
|
||||
"https://www.tagesschau.de/sport/wm-kader-neuer-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/rio-paris-flugzeugabsturz-airfrance-verurteilt-100.html",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.tagesschau.de/ausland/amerika/usa-senat-trump-streit-100.html",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-nikkei-dax-ki-brent-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-treffen-rubio-100.html",
|
||||
"https://www.tagesschau.de/inland/luftverkehr-steuer-senkung-beschlossen-100.html",
|
||||
"https://www.spiegel.de/",
|
||||
"https://www.tagesschau.de/",
|
||||
"https://de.wikipedia.org/wiki/Spezial:Zuf%C3%A4llige_Seite",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-aussenminister-schweden-100.html",
|
||||
"https://www.ebay.de/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.tum.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.bahn.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.ebay.de/",
|
||||
"https://www.bild.de/",
|
||||
"https://www.kicker.de/"
|
||||
"https://www.spiegel.de/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
50
data/regions/DE/SN/Falkenstein.json
Normal file
50
data/regions/DE/SN/Falkenstein.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.arbeitsagentur.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-aussenminister-schweden-100.html",
|
||||
"https://www.tagesschau.de/investigativ/monitor/fussball-fankurven-rechtsextremismus-100.html",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/marktberichte/marktbericht-nikkei-dax-ki-brent-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/israel-gaza-aktivisten-abschiebung-100.html",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.tagesschau.de/wissen/forschung/gentherapie-gehoerlosigkeit-100.html",
|
||||
"https://www.tagesschau.de/inland/regional/hessen/autoren-westend-verlag-100.html",
|
||||
"https://www.obi.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/debatte-rente-renteneintrittsalter-100.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/usa-senat-trump-streit-100.html",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/bgh-klage-blinde-diskriminierung-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/renteneinstieg-alter-ueberblick-100.html",
|
||||
"https://www.tagesschau.de/inland/luftverkehr-steuer-senkung-beschlossen-100.html",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.tagesschau.de/ausland/asien/tuerkei-chp-gericht-opposition-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/rio-paris-flugzeugabsturz-airfrance-verurteilt-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/nato-treffen-rubio-100.html",
|
||||
"https://www.tagesschau.de/sport/wm-kader-neuer-100.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.obi.de/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://es.wikipedia.org/wiki/Especial:Aleatoria",
|
||||
"https://www.elmundo.es/",
|
||||
"https://www.elpais.com/",
|
||||
"https://www.marca.com/",
|
||||
"https://www.rtve.es/",
|
||||
"https://elpais.com/espana/2026-05-22/el-juez-senala-a-la-secretaria-de-zapatero-como-una-pieza-operativa-esencial-de-la-supuesta-trama.html",
|
||||
"https://cincodias.elpais.com/companias/2026-05-22/de-los-mozos-trato-de-restablecer-los-puentes-rotos-de-indra-con-santa-barbara-y-sapa-tras-la-salida-de-escribano.html",
|
||||
"https://www.zara.com/es/",
|
||||
"https://elpais.com/tecnologia/2026-05-21/un-cuento-premiado-desata-una-sospecha-global-lo-escribio-una-ia-he-dado-pruebas-de-que-yo-lo-escribi.html",
|
||||
"https://elpais.com/quadern/literatura/2026-05-22/lany-mirific-de-1966.html",
|
||||
"https://elpais.com/opinion/2026-05-22/el-ultimo-de-la-ceja.html",
|
||||
"https://elpais.com/aniversario/branded/un-futuro-por-escribir/2026-05-19/de-grupo-universitario-a-gigante-tecnologico-espanol.html",
|
||||
"https://elpais.com/gastronomia/el-comidista/2026-05-21/vacio-de-ternera-adobado-con-especias-y-vino.html",
|
||||
"https://elpais.com/videos/2026-05-13/nucleo-nacional-el-grupo-que-agita-el-nazismo-en-espana.html",
|
||||
"https://elpais.com/elviajero/2026-05-22/en-ruta-por-malasia-un-pais-de-contrastes-donde-conviven-lo-humano-lo-divino-y-lo-natural.html",
|
||||
"https://www.renfe.com/",
|
||||
"https://elpais.com/economia/2026-05-21/stellantis-preve-elevar-su-facturacion-casi-un-25-hasta-los-200000-millones-en-cinco-anos-para-revitalizar-el-negocio.html",
|
||||
"https://elpais.com/eps/2026-05-22/el-arte-de-practicar-la-autocompasion.html",
|
||||
"https://elpais.com/opinion/2026-05-22/chico-negro-busca-piso-en-una-espana-racista.html",
|
||||
"https://administracion.gob.es/",
|
||||
"https://elpais.com/smoda/bienestar/2026-05-19/la-mayor-repulsion-de-charlize-theron-es-que-le-digan-hacer-el-amor-esta-esta-expresion-condenada-al-ostracismo.html",
|
||||
"https://elpais.com/planeta-futuro/2026-05-20/el-bloqueo-de-ormuz-encarece-el-combustible-en-kenia-reaviva-las-protestas-y-agrava-la-escasez-de-fertilizantes.html",
|
||||
"https://www.santander.es/",
|
||||
"https://www.amazon.es/",
|
||||
"https://www.elcorteingles.es/",
|
||||
"https://elpais.com/eps/2026-05-17/asi-es-la-gira-de-bad-bunny.html",
|
||||
"https://www.agenciatributaria.es/"
|
||||
],
|
||||
"static_urls": [
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.lemonde.fr/",
|
||||
"https://www.lefigaro.fr/",
|
||||
"https://www.amazon.fr/",
|
||||
"https://www.service-public.fr/",
|
||||
"https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard",
|
||||
"https://www.france24.com/fr/france/20260521-carburants-annonces-du-gouvernement-fran%C3%A7ais-aides-face-%C3%A0-la-crise-au-moyen-orient-essence",
|
||||
"https://www.cdiscount.com/",
|
||||
"https://www.fnac.com/"
|
||||
"https://www.credit-agricole.fr/",
|
||||
"https://www.service-public.fr/",
|
||||
"https://www.france24.com/fr/france/20260521-periscolaire-paris-trois-personnes-presentees-juge-vingtaine-enfants-victimes-gestes-caractere-sexuel",
|
||||
"https://www.france24.com/fr/moyen-orient/20260522-en-direct-moyen-orient-iran-etats-unis-espoir-progres-diplomatie-otan-trump",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260521-cannes-2026-pen%C3%A9lope-cruz-et-glenn-close-dans-la-bola-negra",
|
||||
"https://www.amazon.fr/",
|
||||
"https://www.france24.com/fr/europe/20260521-donald-trump-annonce-envoi-5-000-militaires-americains-pologne-europe-otan",
|
||||
"https://www.france24.com/fr/am%C3%A9riques/20260521-non-marc-rubio-n-a-pas-annonce-le-retrait-total-des-troupes-americaines-d-europe-otan",
|
||||
"https://www.france24.com/fr/moyen-orient/20260521-flottille-gaza-prisonniers-humili%C3%A9s-n%C5%93ud-coulant-ben-gvir-ministre-israelien-outrance-permanente",
|
||||
"https://www.impots.gouv.fr/",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260521-travers%C3%A9e-de-la-manche-la-mont%C3%A9e-sur-le-canot-l-%C3%A9tape-la-plus-dangereuse",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260521-grasset-bollor%C3%A9-devrait-faire-son-travail-de-milliardaire-estime-l-%C3%A9crivain-tahar-ben-jelloun",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260521-turquie-des-inondations-meurtri%C3%A8res-dans-le-sud-du-pays",
|
||||
"https://www.sorbonne-universite.fr/",
|
||||
"https://www.france24.com/fr/asie-pacifique/20260521-instant-positif-donald-trump-buffle-albinos-sosie-president-am%C3%A9ricain-star-aid-bangladesh",
|
||||
"https://www.france24.com/fr/%C3%A9missions/journal-de-l-afrique/20260521-la-r%C3%A9publique-d%C3%A9mocratique-du-congo-se-mobilise-pour-contenir-ebola",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260521-bangladesh-un-buffle-sosie-de-trump-devenu-une-star-sur-les-r%C3%A9seaux-sociaux",
|
||||
"https://www.france24.com/fr/%C3%A9missions/%C3%A0-l-affiche/20260521-cannes-2026-rami-malek-face-au-sida-dans-the-man-i-love",
|
||||
"https://www.sncf.com/",
|
||||
"https://www.france24.com/fr/%C3%A9missions/politique/20260521-la-sant%C3%A9-des-pr%C3%A9sidents-du-secret-%C3%A0-la-surexposition"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.service-public.fr/",
|
||||
"https://www.impots.gouv.fr/",
|
||||
"https://www.sorbonne-universite.fr/",
|
||||
"https://www.credit-agricole.fr/",
|
||||
"https://www.sncf.com/",
|
||||
"https://www.amazon.fr/",
|
||||
"https://www.cdiscount.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://hk.news.yahoo.com/%E5%8A%A9%E5%85%92%E5%AD%90%E7%88%AD%E5%AD%AB%E5%85%92%E6%92%AB%E9%A4%8A%E6%AC%8A-%E5%85%AD%E6%97%AC%E5%A9%A6%E6%B6%891%E8%90%AC%E8%A1%8C%E8%B3%84%E6%B3%95%E6%8F%B4%E7%BD%B2%E6%9B%B8%E8%A8%98%E8%A2%AB%E6%8E%A7-200000942.html",
|
||||
"https://hk.news.yahoo.com/%E5%AE%8F%E9%83%BD%E6%8B%89%E6%96%AF%E6%A3%95%E6%AB%9A%E5%9C%92%E5%B1%A0%E6%AE%BA%E4%BA%8B%E4%BB%B6%E9%87%8019%E6%AD%BB-%E7%96%91%E6%B6%89%E5%B9%AB%E6%B4%BE%E7%8A%AF%E7%BD%AA-043501831.html",
|
||||
"https://hk.news.yahoo.com/%E7%99%BC%E5%B8%83%E7%BE%9E%E8%BE%B1%E5%BD%B1%E7%89%87%E5%BC%95%E7%99%BC%E8%BC%BF%E8%AB%96%E6%B2%B8%E9%A8%B0-%E4%BB%A5%E8%89%B2%E5%88%97%E9%A9%85%E9%80%90%E5%8A%A0%E8%96%A9%E8%88%B9%E9%9A%8A%E4%BA%BA%E5%A3%AB-062003125.html",
|
||||
"https://www.hsbc.com.hk/",
|
||||
"https://hk.news.yahoo.com/%E6%B2%B9%E9%BA%BB%E5%9C%B0%E5%8A%8F%E6%88%BF%E5%A5%AA%E5%91%BD%E7%81%AB-%E6%AD%BB%E8%80%85%E5%A6%BB%E5%AD%90%E8%81%9E%E5%99%A9%E8%80%97%E5%93%AD%E6%88%90%E6%B7%9A%E4%BA%BA-%E5%96%AA%E5%A4%AB%E4%B9%8B%E7%97%9B%E4%B8%8B%E7%BA%8C%E6%8B%BE%E8%8D%92%E9%A4%AC%E5%8F%A3-034826270.html",
|
||||
"https://www.gov.hk/",
|
||||
"https://hk.news.yahoo.com/%E6%B2%B9%E9%BA%BB%E5%9C%B0%E5%8A%8F%E6%88%BF%E5%96%AE%E4%BD%8D%E8%B5%B7%E7%81%AB-%E6%AD%BB%E5%9B%9B%E5%82%B7-231739212.html",
|
||||
"https://www.hktvmall.com/",
|
||||
"https://www.mtr.com.hk/",
|
||||
"https://hk.news.yahoo.com/%E7%BE%8E%E6%8C%81%E7%BA%8C%E6%96%BD%E5%A3%93%E5%8F%A4%E5%B7%B4-%E7%9B%A7%E6%AF%94%E6%AD%90-%E8%87%B4%E5%8A%9B%E6%8E%A8%E5%8B%95%E5%93%88%E7%93%A6%E9%82%A3%E9%AB%94%E5%88%B6%E6%94%B9%E8%AE%8A-222003974.html",
|
||||
"https://hk.news.yahoo.com/%E6%99%82%E4%BA%8B%E5%85%A8%E6%96%B9%E4%BD%8D%E9%87%8D%E9%BB%9E%E6%8F%90%E8%A6%81-5%E6%9C%8822%E6%97%A5-112728932.html",
|
||||
"https://hk.news.yahoo.com/%E8%91%B5%E6%B6%8C%E7%A7%81%E5%AE%B6%E8%BB%8A%E5%8F%B8%E6%A9%9F%E6%B6%89%E9%80%86%E7%B7%9A%E9%A7%9B%E9%81%8E%E6%96%91%E9%A6%AC%E7%B7%9A-%E8%A2%AB%E6%8E%A7%E5%8D%B1%E9%9A%AA%E9%A7%95%E9%A7%9B-112328852.html",
|
||||
"https://hk.news.yahoo.com/%E8%94%A1%E8%8B%A5%E8%93%AE%E7%8E%87%E4%BB%A3%E8%A1%A8%E5%9C%98%E5%87%BA%E8%A8%AA%E7%91%9E%E5%A3%AB-%E8%80%83%E5%AF%9F%E7%95%B6%E5%9C%B0%E9%AB%98%E7%AD%89%E6%95%99%E8%82%B2%E5%92%8C%E5%89%B5%E7%A7%91%E5%BB%BA%E8%A8%AD-052525947.html",
|
||||
"https://www.police.gov.hk/",
|
||||
"https://hk.news.yahoo.com/%E7%B6%B2%E7%B4%84%E8%BB%8A%E8%A6%8F%E7%AE%A1-uber%E6%81%90%E9%81%8E%E5%8D%8A%E5%8F%B8%E6%A9%9F%E5%A4%B1%E6%A5%AD-%E4%BF%83%E8%AB%8B%E6%94%BF%E5%BA%9C%E7%99%BC%E6%94%BE%E6%9B%B4%E5%A4%9A%E7%B6%B2%E7%B4%84%E8%BB%8A%E7%89%8C%E7%85%A7%E9%85%8D%E9%A1%8D-%E4%BD%95%E6%BD%81%E4%B9%8B%E5%A0%B1%E9%81%93-110628824.html",
|
||||
"https://hk.news.yahoo.com/%E5%86%92%E9%9B%BB%E5%99%A8%E9%9B%B6%E5%94%AE%E5%95%86%E8%81%B7%E5%93%A1%E7%A8%B1%E6%8F%9B%E7%94%A2%E5%93%81-%E7%A7%81%E9%9A%B1%E5%B0%88%E5%93%A1%E6%8E%A524%E6%8A%95%E8%A8%B4-%E6%9C%89%E4%BA%BA%E5%A4%B11-7%E8%90%AC-200000209.html",
|
||||
"https://hk.news.yahoo.com/%E7%A0%B4%E8%B7%A8%E5%A2%83%E9%9B%BB%E8%A9%B1%E8%A9%90%E9%A8%99%E6%B4%97%E9%BB%91%E9%8C%A2%E9%9B%86%E5%9C%98-7%E9%9B%99%E7%A8%8B%E8%AD%89%E6%BC%A2%E5%8F%97%E8%81%98%E4%BE%86%E6%B8%AF%E6%94%B6%E6%AC%BE%E8%BD%89%E7%A7%BB%E6%AC%BE%E9%A0%85-200000841.html",
|
||||
"https://hk.news.yahoo.com/4%E6%9C%88%E5%9F%BA%E6%9C%AC%E9%80%9A%E8%84%B9%E7%8E%87%E7%82%BA1-6-%E9%9B%BB%E5%8A%9B%E7%87%83%E6%B0%A3%E5%8D%875-5-200000754.html",
|
||||
"https://www.hku.hk/",
|
||||
"https://hk.news.yahoo.com/%E4%BB%8A%E5%B9%B4%E9%A6%96%E5%A0%B4%E7%B4%85%E9%9B%A8-%E6%89%93%E9%BC%93%E5%B6%BA%E5%81%9C%E9%9B%BB-%E7%9A%84%E5%A3%AB%E6%AD%BB%E7%81%AB-%E4%B9%9D%E5%B7%B4%E6%B0%B4%E6%B5%B8-%E5%A4%A9%E6%96%87%E5%8F%B0%E6%96%99%E4%B8%8B%E5%91%A8%E4%BA%8C%E9%85%B7%E7%86%B1%E9%A3%86%E8%87%B333%E5%BA%A6-200000756.html",
|
||||
"https://www.hko.gov.hk/",
|
||||
"https://yahoo-news.com.hk/BBCChineseNews/41783/?yptr=yahoo"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.hk/",
|
||||
"https://www.hko.gov.hk/",
|
||||
"https://www.scmp.com/",
|
||||
"https://www.hk01.com/",
|
||||
"https://zh.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.hktvmall.com/",
|
||||
"https://www.mtr.com.hk/"
|
||||
"https://www.police.gov.hk/",
|
||||
"https://www.hku.hk/",
|
||||
"https://www.hsbc.com.hk/",
|
||||
"https://www.mtr.com.hk/",
|
||||
"https://www.hktvmall.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
40
data/regions/ID/Default/Jakarta.json
Normal file
40
data/regions/ID/Default/Jakarta.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://www.antaranews.com/berita/5577857/anggota-dpr-kawal-bebasnya-wni-ditangkap-israel-hingga-tiba-di-ri",
|
||||
"https://www.antaranews.com/",
|
||||
"https://www.kompas.com/",
|
||||
"https://www.kominfo.go.id/",
|
||||
"https://www.antaranews.com/berita/5577860/kebakaran-auditorium-binus-kemanggisan-padam-70-personel-dikerahkan",
|
||||
"https://otomotif.antaranews.com/berita/5577900/diler-nismo-akan-dibuka-tawarkan-dukungan-restorasi-skyline-gt-r",
|
||||
"https://www.setneg.go.id/",
|
||||
"https://www.antaranews.com/berita/5577863/infinix-hot-70-dirilis-di-indonesia-pada-24-mei-2026",
|
||||
"https://www.antaranews.com/berita/5577843/polisi-bekuk-komplotan-curanmor-di-indekos-jaktim",
|
||||
"https://www.antaranews.com/berita/5577883/janice-tjen-bertemu-emma-navarro-pada-babak-pertama-french-open-2026",
|
||||
"https://www.antaranews.com/berita/5577940/meta-snap-dan-roblox-janji-perkuat-upaya-pelindungan-anak-di-inggris",
|
||||
"https://www.antaranews.com/berita/5577875/kemendikdasmen-ingatkan-gim-daring-tingkatkan-paparan-ekstremisme",
|
||||
"https://www.antaranews.com/berita/5577839/bnn-kader-sobat-bersinar-beri-edukasi-pencegahan-narkotika-di-sekolah",
|
||||
"https://www.antaranews.com/berita/5577889/bojan-minta-tim-fokus-pertandingan-dan-abaikan-euforia-potensi-juara",
|
||||
"https://www.bi.go.id/",
|
||||
"https://www.antaranews.com/berita/5577869/ada-hilirisasi-smelter-kesdm-raup-pnbp-minerba-rp56-triliun",
|
||||
"https://www.antaranews.com/berita/5577865/menaker-tegaskan-bpjs-ketenagakerjaan-harus-jadi-motor-penggerak-k3",
|
||||
"https://www.antaranews.com/berita/5577891/tak-tertib-kemenhaj-copot-penanda-yang-dipasang-kbihu-di-tenda-arafah",
|
||||
"https://www.antaranews.com/berita/5577956/survei-konflik-iran-tak-populer-di-kalangan-mayoritas-warga-as",
|
||||
"https://www.antaranews.com/berita/5577832/polda-metro-jaya-imbau-masyarakat-bijak-gunakan-media-sosial"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.setneg.go.id/",
|
||||
"https://www.bi.go.id/",
|
||||
"https://www.kominfo.go.id/",
|
||||
"https://www.antaranews.com/",
|
||||
"https://www.kompas.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/IN/Default/Delhi.json
Normal file
40
data/regions/IN/Default/Delhi.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://timesofindia.indiatimes.com/sports/cricket/news/if-60-wickets-arent-enough-scrap-ranji-dilip-vengsarkar-slams-selectors-over-auqib-nabi-snub/articleshow/131255557.cms",
|
||||
"https://timesofindia.indiatimes.com/entertainment/hindi/bollywood/news/actor-hemant-modi-who-worked-with-aamir-khan-ranveer-singh-amitabh-bachchan-more-exposed-as-absconding-murder-convict-reports/articleshow/131256682.cms",
|
||||
"https://www.rbi.org.in/",
|
||||
"https://timesofindia.indiatimes.com/world/rest-of-world/air-france-flight-to-us-diverted-due-to-ebola-travel-curbs/articleshow/131254933.cms",
|
||||
"https://timesofindia.indiatimes.com/india/quran-mandates-qurbani-ajup-chief-humayun-kabir-stirs-row-after-bengal-cattle-slaughter-curb/articleshow/131256678.cms",
|
||||
"https://timesofindia.indiatimes.com/india/tamil-nadu-cabinet-expansion-cm-vijay-inducts-vck-iuml-mlas-as-ministers/articleshow/131256280.cms",
|
||||
"https://timesofindia.indiatimes.com/sports/cricket/ipl/ipl-2026/ipl-2026-orange-cap-sai-sudharsan-shubman-gill-leapfrog-vaibhav-sooryavanshi-to-occupy-top-2-spots/articleshow/131255139.cms",
|
||||
"https://timesofindia.indiatimes.com/sports/cricket/ipl/ipl-2026/virat-kohli-58-runs-away-from-historic-ipl-record-set-to-overtake-chris-gayle-david-warner-and-kl-rahul/articleshow/131256313.cms",
|
||||
"https://timesofindia.indiatimes.com/city/delhi/dowry-demands-beatings-never-stopped-alleges-family-of-25-yr-old-woman-who-fell-to-death/articleshow/131250802.cms",
|
||||
"https://timesofindia.indiatimes.com/sports/cricket/ipl/ipl-2026/nandri-2-shubman-gill-continues-social-media-banter-after-gt-eliminate-csk/articleshow/131255153.cms",
|
||||
"https://www.thehindu.com/",
|
||||
"https://timesofindia.indiatimes.com/sports/cricket/ipl/ipl-2026/pat-cummins-abhishek-klaassen-trav-ishan-shouldnt-be-told-that-they-can-only-bat-a-certain-way-you-want-to-see-them-at-their-full-flight/articleshow/131255368.cms",
|
||||
"https://timesofindia.indiatimes.com/city/bhopal/ghar-pe-toh-judge-twisha-hi-hogi-twisha-sharmas-playful-wedding-videos-surface-as-police-hunt-absconding-husband-samarth/articleshow/131256494.cms",
|
||||
"https://timesofindia.indiatimes.com/business/india-business/us-iran-war-will-rupee-hit-100-versus-us-dollar-soon/articleshow/131247485.cms",
|
||||
"https://www.pib.gov.in/",
|
||||
"https://timesofindia.indiatimes.com/city/lucknow/imd-issues-red-alert-for-10-up-districts-warns-of-very-severe-heatwave/articleshow/131256692.cms",
|
||||
"https://timesofindia.indiatimes.com/",
|
||||
"https://www.india.gov.in/",
|
||||
"https://timesofindia.indiatimes.com/india/where-is-her-husband-twisha-sharmas-brother-questions-whereabouts-after-samarth-singh-missing-for-10-days/articleshow/131256634.cms",
|
||||
"https://timesofindia.indiatimes.com/city/bhopal/man-posing-as-occultist-rapes-sis-in-lawon-pretext-of-warding-off-aghori-curse-in-panna/articleshow/131251424.cms"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.india.gov.in/",
|
||||
"https://www.rbi.org.in/",
|
||||
"https://www.pib.gov.in/",
|
||||
"https://timesofindia.indiatimes.com/",
|
||||
"https://www.thehindu.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
33
data/regions/JP/Default/Osaka.json
Normal file
33
data/regions/JP/Default/Osaka.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"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://news.yahoo.co.jp/pickup/6581222?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581228?source=rss",
|
||||
"https://www.rakuten.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581209?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581210?source=rss",
|
||||
"https://www.yahoo.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581224?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581214?source=rss",
|
||||
"https://www.nhk.or.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581217?source=rss",
|
||||
"https://www.jnto.go.jp/",
|
||||
"https://www.japan.go.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581229?source=rss"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.yahoo.co.jp/",
|
||||
"https://www.nhk.or.jp/",
|
||||
"https://www.rakuten.co.jp/",
|
||||
"https://www.japan.go.jp/",
|
||||
"https://www.jnto.go.jp/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -4,17 +4,36 @@
|
||||
"base_lat": 35.6812,
|
||||
"base_lon": 139.7671,
|
||||
"lang_params": "hl=ja&gl=JP",
|
||||
"valid_url_suffix": "com"
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://ja.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.yahoo.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581209?source=rss",
|
||||
"https://www.smbc.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581214?source=rss",
|
||||
"https://www.rakuten.co.jp/",
|
||||
"https://www.nhk.or.jp/",
|
||||
"kakaku.com/",
|
||||
"https://www.goo.ne.jp/",
|
||||
"https://www.amazon.co.jp/"
|
||||
"https://www.mhlw.go.jp/",
|
||||
"https://www.amazon.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581210?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581222?source=rss",
|
||||
"https://www.jreast.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581224?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581228?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6581217?source=rss",
|
||||
"https://www.japan.go.jp/",
|
||||
"https://www.u-tokyo.ac.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6581229?source=rss"
|
||||
],
|
||||
"static_urls": [
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
35
data/regions/KH/Default/PhnomPenh.json
Normal file
35
data/regions/KH/Default/PhnomPenh.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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://www.khmertimeskh.com/",
|
||||
"https://www.cambodiadaily.com/2026/05/05/21/58/87403/",
|
||||
"https://www.cambodiadaily.com/2026/05/20/15/55/87429/",
|
||||
"https://www.cambodiadaily.com/2026/05/18/13/09/87422/",
|
||||
"https://www.cambodiadaily.com/2026/05/05/21/50/87405/",
|
||||
"https://www.cambodiadaily.com/2026/05/18/17/35/87425/",
|
||||
"https://www.cambodiadaily.com/2026/05/05/21/45/87404/",
|
||||
"https://www.phnompenhpost.com/",
|
||||
"https://www.cambodiadaily.com/2026/05/18/12/53/87418/",
|
||||
"https://www.akp.gov.kh/",
|
||||
"https://www.nbc.gov.kh/",
|
||||
"https://www.gov.kh/",
|
||||
"https://www.cambodiadaily.com/2026/05/05/21/44/87406/",
|
||||
"https://www.cambodiadaily.com/2026/05/21/20/48/87440/",
|
||||
"https://www.cambodiadaily.com/2026/05/21/19/57/87437/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.kh/",
|
||||
"https://www.akp.gov.kh/",
|
||||
"https://www.nbc.gov.kh/",
|
||||
"https://www.khmertimeskh.com/",
|
||||
"https://www.phnompenhpost.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
36
data/regions/KR/Default/Seoul.json
Normal file
36
data/regions/KR/Default/Seoul.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"region_name": "South Korea - Seoul",
|
||||
"google_module": {
|
||||
"base_lat": 37.5665,
|
||||
"base_lon": 126.978,
|
||||
"lang_params": "hl=ko&gl=KR",
|
||||
"valid_url_suffix": "co.kr"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260522145329SFz",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260522143836r0o",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260522152334hOw",
|
||||
"https://www.kakao.com/",
|
||||
"https://www.coupang.com/",
|
||||
"https://www.naver.com/",
|
||||
"https://www.kbstar.com/",
|
||||
"https://www.hometax.go.kr/",
|
||||
"https://www.korea.kr/",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260522145229fzF",
|
||||
"https://www.daum.net/",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260522134015KXm",
|
||||
"https://www.snu.ac.kr/"
|
||||
],
|
||||
"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.coupang.com/",
|
||||
"https://www.kakao.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/LA/Default/Vientiane.json
Normal file
40
data/regions/LA/Default/Vientiane.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://news.google.com/rss/articles/CBMiwwFBVV95cUxNemtvTWRfTjZEZU16dmE5cVRIUVdYUG1vYkJTNlphQVdJbHBfdF9PTmliQ251Z055MFhxMjlSS19sWms4ZG5jZmRBaWdLU3BNNjY0cE9GcXJ1STVDdTIyUW9PMUI2N21UVW9UYm9hby1SZy0xTFhkLTNqcm1ycmVUR2FrZWd2MDBvWFU2UVJMZ0M1VTJRbnBudWpBNnJld1BlUGgyR1AzOEZ3b212SDcxWXJ6Z0NJVkNKekRWSEJCLV9EMlE?oc=5",
|
||||
"https://www.bol.gov.la/",
|
||||
"https://news.google.com/rss/articles/CBMijAFBVV95cUxOcmJYaGJsbXVKSFVFc0x5cE5VU1hMY0tvS3hiNkhTQmNYR0dtNHRyNjJja0NZbVZ5ZmJxdVNXdTZQZE5rYU92cmY5OUdLQzZ1cW9nU2R4N0trblZsMElSQl8wMC1zeF94aUNJLXdrbGRSZkNuZE1NQXRiQXJrTVFEaGEwZDBDSnhXUzRqYg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikwFBVV95cUxNYkpBNS01Vm1yYlNQT2hpT00weU9VQnVJRHhMTzZ5OGJ2elNUQUNpdDhDRk9aZEh2M1lnRjlEbWNLMF9QMVU2MXZaMUZWLWItZEk1dkZnd0ZaU0xtYXRrdGNSYVctTFNubzJwYVFfY0lNOEVXaUxZcmZ2Y044N1V2YlV1SS1heHVPXzhLY2diY0RUYVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihgFBVV95cUxOMUVsMkdsN0s0UE8xR3NmcWFPbS1HMGlKVkdKMVZUcVZfYldUOHhDY216RlY0LVl0aHB1TThQME1iWEdDdjM2YXYteUVYRHViR0kteWFQSFptNjZjRVNtZEZ0TXlzZHA3Y2hvZUFlc0ZmNFhERFI0UUxwRlR1RlRVcDlCaUFZQQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiygFBVV95cUxNMXV4OWpmRElfTl90aWdPa0NEUGF1VlN6azhXUU9CNy1qTkFZaC05dlZHU1BSeVFheXJUN1dTVndxcTFWb0RCVFN3bmY4UzAxNHNVNTVDdGVlNUZudDl0UjRHTTJFdjBWQlV2TUdfZUZpUlMycWZjWkRVRU81TTUyWjh0VjduRm4tN0YxU1hiMlBNa3I5U0JRbElIWFN1U0pBekZwSDF3SlpSMUhKMkR3YThJbW9ZOTllQWhVc2hzUzNoSWNQOTMwMjRB?oc=5",
|
||||
"https://www.laotel.com/",
|
||||
"https://news.google.com/rss/articles/CBMijgFBVV95cUxOVHA5ZEZrLWVwUnhxWk56UGxqM2F5aTZSMm9IclJNN1JjQWQ4UmdiTC1kLXo1OFJnbkpIc0V3Q3hvODNJd2JxNVBZRTk0clRVb01fUExOdnkyUUFsTkxlQkE4dllXZzE1MFFDLTc4QnF3TkRXNGJSNUtFdF9YdDlEM0hqSXJ5cGs3bzN4NTln?oc=5",
|
||||
"https://kpl.gov.la/",
|
||||
"https://news.google.com/rss/articles/CBMipAFBVV95cUxNVkQ0Z1pKckQ5YXZ3WkZFMlZMVmJrbUltNzhGRkh1WkZmd0hnSjg3TmNPZkd0RURycTc0NWpnT19NSG1pYkR3anZGN2hmTnA3Z014cnVUeE83cnZBZzJYdzkwQjg4aFhxeVQ2S3ZPS1NiWm45eVpLbnRJVzlxRTZKOURBR0pjSGozTkJGZ3VWMGFzSFJseHRPenZTTERMbDM0OHR6Vg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxQeGl5eEtfVGZlRlBIcTE2b3plN1dOaUhod1h1V1FSOGZLb1VaSkM3XzR3OWNjSkhGWlc2UlBGZUZPbHJqZUtpOEFqQ2FtQlhWNElCYU1NSHBlVHpUVWowTkN6NjlyWWllNEFzTG1hRzNUX28tZzR1UXhodFhqVlRwWkJUc0M5YWx2Zi1nMDdfRy0tdUVfd284RTNfWjgyY2dHaUlWNktBelZuVUhJemFTRHdyTHZMNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE0zeXFFU3FkN1R3dWlkNXMyeXRpYmpBZE13Y0FlVEZLM3B1NDd5TnZVa2JVbDRzbWFydEUtSjRKNXVXdVRjV1JoZFdnV3BLYVRCTGIwTmU5N1BfYXU3SW9z?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxPRWVCUEhzVHFQRjNoR1BhTUFCWk5fZEMwamMydkpRay1GSHZBcnZZZmZtbEQ3YWs1UU1qLXFzLW4zYmRWbEoxSlVrbU12Y0cwdjRodkV2aGlLVURHVmhHNVNpSk5RLXcxb1dUdU15SnpEaXF2N2l2eXhVU2FSVnBQYTRNMlZ2aktaZXVLalJJNDJfUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMigwFBVV95cUxQcmotVWVDcm10RHAyNUpLbFc2QlI0LWQ3dHpnSExvWE9zRXhxZVpBTU1XSGVIU01JZk5ZRk1WR3lJbGVHbk4taEx6Vlc2WF9KTWg4U0U1eHdMdnNGTVZtdWtoU1ZYMkhZTGZWd1RoWGNYUTJVNGl3REd2eXp0aDc5TUtDc9IBiAFBVV95cUxQV3JDQW5wUW9NU2RKRTFqSTNnNWxMT0R1bnl0OVhRcWJBUGl5bmR4WnU1VGZFdkM2b2o3NW5NZUVfQkRyNGZ0MndnaXFsd2Z5a0RiQXFNQlJLVEdtMElnMHdyRGplMmU4aEd6ak5mUHlmem1uQXBlMF8xb0JQWjVZbHg4N2RDSVZN?oc=5",
|
||||
"https://www.mof.gov.la/",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxQc3kyVzZFRXMzbWhfYWJScTFEaHlrYVpWOUQ5NmtyT0VCN1BpX3ZMY3dUVm5Qb2l1ZXh1Nzh3dGExdURYY2NWeHJKZGg5YmxyRDEzbkE3a1VjZXNsX0ZwNG92MkkxakRVdTFWZzF1YUMzcmt4UUU4UVRHci02T0lyR0FIOVJsZTdRZUptbUNBdE11bVVXOTFGR2hWZ05wUUIybDFPc3cwY05aeUFqVHhHN0ZtZEZfTWgzTWhnemY5WW8tenREWnJ3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiowFBVV95cUxOeXhSMjFaSEgxTWw3VEZ4ZmtNQmdaMm9iZl9WSU90ZzhqZXk4WmZ3c0h1NDk2TUs5OGk5a2hta3B1T0owX1pDQTliZ0t3b2ZzRHM5bm11NzRoU29EOE5TcVkwMnBmY3MxdUhGT3hraFRlRm4zR1diMEhDRFY0WXpiVFlHWkZJcUNTNElRbERvZ2pzTHdJbEJ4S01PeUxmempIdjNN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52R0dzT2wxWGJyTGUtQkRhUVFGbFJiTmdxTDF3WF82Ymc4N3FzT0Rodmg4ak9qNW1Uc0RHb3NabmF3NDN1OWhWUEEyOW03WUd6ZC1meERqZldnUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMic0FVX3lxTE5kZFBmVE00UjB3bVl5ZHFmbTc5MXdlakFLYkJUZktOT2JMMFNTb2trbXBXaFR1aHF3UlZGMUFIdmhWSVZwdVNPWE5FYjN0WG9BOUNjVkZJeTRSckhlZWZ6MHROTkROZ2hmOXFjVDZ0TlNoNFU?oc=5",
|
||||
"https://www.vientianetimes.org.la/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://kpl.gov.la/",
|
||||
"https://www.vientianetimes.org.la/",
|
||||
"https://www.bol.gov.la/",
|
||||
"https://www.mof.gov.la/",
|
||||
"https://www.laotel.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
38
data/regions/MM/Default/Yangon.json
Normal file
38
data/regions/MM/Default/Yangon.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"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://news.google.com/rss/articles/CBMikwFBVV95cUxNYkpBNS01Vm1yYlNQT2hpT00weU9VQnVJRHhMTzZ5OGJ2elNUQUNpdDhDRk9aZEh2M1lnRjlEbWNLMF9QMVU2MXZaMUZWLWItZEk1dkZnd0ZaU0xtYXRrdGNSYVctTFNubzJwYVFfY0lNOEVXaUxZcmZ2Y044N1V2YlV1SS1heHVPXzhLY2diY0RUYVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihgFBVV95cUxOMUVsMkdsN0s0UE8xR3NmcWFPbS1HMGlKVkdKMVZUcVZfYldUOHhDY216RlY0LVl0aHB1TThQME1iWEdDdjM2YXYteUVYRHViR0kteWFQSFptNjZjRVNtZEZ0TXlzZHA3Y2hvZUFlc0ZmNFhERFI0UUxwRlR1RlRVcDlCaUFZQQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiwwFBVV95cUxNemtvTWRfTjZEZU16dmE5cVRIUVdYUG1vYkJTNlphQVdJbHBfdF9PTmliQ251Z055MFhxMjlSS19sWms4ZG5jZmRBaWdLU3BNNjY0cE9GcXJ1STVDdTIyUW9PMUI2N21UVW9UYm9hby1SZy0xTFhkLTNqcm1ycmVUR2FrZWd2MDBvWFU2UVJMZ0M1VTJRbnBudWpBNnJld1BlUGgyR1AzOEZ3b212SDcxWXJ6Z0NJVkNKekRWSEJCLV9EMlE?oc=5",
|
||||
"https://www.irrawaddy.com/",
|
||||
"https://news.google.com/rss/articles/CBMijAFBVV95cUxOcmJYaGJsbXVKSFVFc0x5cE5VU1hMY0tvS3hiNkhTQmNYR0dtNHRyNjJja0NZbVZ5ZmJxdVNXdTZQZE5rYU92cmY5OUdLQzZ1cW9nU2R4N0trblZsMElSQl8wMC1zeF94aUNJLXdrbGRSZkNuZE1NQXRiQXJrTVFEaGEwZDBDSnhXUzRqYg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxQeGl5eEtfVGZlRlBIcTE2b3plN1dOaUhod1h1V1FSOGZLb1VaSkM3XzR3OWNjSkhGWlc2UlBGZUZPbHJqZUtpOEFqQ2FtQlhWNElCYU1NSHBlVHpUVWowTkN6NjlyWWllNEFzTG1hRzNUX28tZzR1UXhodFhqVlRwWkJUc0M5YWx2Zi1nMDdfRy0tdUVfd284RTNfWjgyY2dHaUlWNktBelZuVUhJemFTRHdyTHZMNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiygFBVV95cUxNMXV4OWpmRElfTl90aWdPa0NEUGF1VlN6azhXUU9CNy1qTkFZaC05dlZHU1BSeVFheXJUN1dTVndxcTFWb0RCVFN3bmY4UzAxNHNVNTVDdGVlNUZudDl0UjRHTTJFdjBWQlV2TUdfZUZpUlMycWZjWkRVRU81TTUyWjh0VjduRm4tN0YxU1hiMlBNa3I5U0JRbElIWFN1U0pBekZwSDF3SlpSMUhKMkR3YThJbW9ZOTllQWhVc2hzUzNoSWNQOTMwMjRB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxQc3kyVzZFRXMzbWhfYWJScTFEaHlrYVpWOUQ5NmtyT0VCN1BpX3ZMY3dUVm5Qb2l1ZXh1Nzh3dGExdURYY2NWeHJKZGg5YmxyRDEzbkE3a1VjZXNsX0ZwNG92MkkxakRVdTFWZzF1YUMzcmt4UUU4UVRHci02T0lyR0FIOVJsZTdRZUptbUNBdE11bVVXOTFGR2hWZ05wUUIybDFPc3cwY05aeUFqVHhHN0ZtZEZfTWgzTWhnemY5WW8tenREWnJ3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiowFBVV95cUxOeXhSMjFaSEgxTWw3VEZ4ZmtNQmdaMm9iZl9WSU90ZzhqZXk4WmZ3c0h1NDk2TUs5OGk5a2hta3B1T0owX1pDQTliZ0t3b2ZzRHM5bm11NzRoU29EOE5TcVkwMnBmY3MxdUhGT3hraFRlRm4zR1diMEhDRFY0WXpiVFlHWkZJcUNTNElRbERvZ2pzTHdJbEJ4S01PeUxmempIdjNN?oc=5",
|
||||
"https://www.cbmm.gov.mm/",
|
||||
"https://www.moi.gov.mm/",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52R0dzT2wxWGJyTGUtQkRhUVFGbFJiTmdxTDF3WF82Ymc4N3FzT0Rodmg4ak9qNW1Uc0RHb3NabmF3NDN1OWhWUEEyOW03WUd6ZC1meERqZldnUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMipAFBVV95cUxNVkQ0Z1pKckQ5YXZ3WkZFMlZMVmJrbUltNzhGRkh1WkZmd0hnSjg3TmNPZkd0RURycTc0NWpnT19NSG1pYkR3anZGN2hmTnA3Z014cnVUeE83cnZBZzJYdzkwQjg4aFhxeVQ2S3ZPS1NiWm45eVpLbnRJVzlxRTZKOURBR0pjSGozTkJGZ3VWMGFzSFJseHRPenZTTERMbDM0OHR6Vg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxPRWVCUEhzVHFQRjNoR1BhTUFCWk5fZEMwamMydkpRay1GSHZBcnZZZmZtbEQ3YWs1UU1qLXFzLW4zYmRWbEoxSlVrbU12Y0cwdjRodkV2aGlLVURHVmhHNVNpSk5RLXcxb1dUdU15SnpEaXF2N2l2eXhVU2FSVnBQYTRNMlZ2aktaZXVLalJJNDJfUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE0zeXFFU3FkN1R3dWlkNXMyeXRpYmpBZE13Y0FlVEZLM3B1NDd5TnZVa2JVbDRzbWFydEUtSjRKNXVXdVRjV1JoZFdnV3BLYVRCTGIwTmU5N1BfYXU3SW9z?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMijgFBVV95cUxOVHA5ZEZrLWVwUnhxWk56UGxqM2F5aTZSMm9IclJNN1JjQWQ4UmdiTC1kLXo1OFJnbkpIc0V3Q3hvODNJd2JxNVBZRTk0clRVb01fUExOdnkyUUFsTkxlQkE4dllXZzE1MFFDLTc4QnF3TkRXNGJSNUtFdF9YdDlEM0hqSXJ5cGs3bzN4NTln?oc=5",
|
||||
"https://www.mmtimes.com/",
|
||||
"https://news.google.com/rss/articles/CBMigwFBVV95cUxQcmotVWVDcm10RHAyNUpLbFc2QlI0LWQ3dHpnSExvWE9zRXhxZVpBTU1XSGVIU01JZk5ZRk1WR3lJbGVHbk4taEx6Vlc2WF9KTWg4U0U1eHdMdnNGTVZtdWtoU1ZYMkhZTGZWd1RoWGNYUTJVNGl3REd2eXp0aDc5TUtDc9IBiAFBVV95cUxQV3JDQW5wUW9NU2RKRTFqSTNnNWxMT0R1bnl0OVhRcWJBUGl5bmR4WnU1VGZFdkM2b2o3NW5NZUVfQkRyNGZ0MndnaXFsd2Z5a0RiQXFNQlJLVEdtMElnMHdyRGplMmU4aEd6ak5mUHlmem1uQXBlMF8xb0JQWjVZbHg4N2RDSVZN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMic0FVX3lxTE5kZFBmVE00UjB3bVl5ZHFmbTc5MXdlakFLYkJUZktOT2JMMFNTb2trbXBXaFR1aHF3UlZGMUFIdmhWSVZwdVNPWE5FYjN0WG9BOUNjVkZJeTRSckhlZWZ6MHROTkROZ2hmOXFjVDZ0TlNoNFU?oc=5"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.moi.gov.mm/",
|
||||
"https://www.cbmm.gov.mm/",
|
||||
"https://www.mmtimes.com/",
|
||||
"https://www.irrawaddy.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
38
data/regions/MN/Default/Ulaanbaatar.json
Normal file
38
data/regions/MN/Default/Ulaanbaatar.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"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://news.google.com/rss/articles/CBMipAFBVV95cUxNVkQ0Z1pKckQ5YXZ3WkZFMlZMVmJrbUltNzhGRkh1WkZmd0hnSjg3TmNPZkd0RURycTc0NWpnT19NSG1pYkR3anZGN2hmTnA3Z014cnVUeE83cnZBZzJYdzkwQjg4aFhxeVQ2S3ZPS1NiWm45eVpLbnRJVzlxRTZKOURBR0pjSGozTkJGZ3VWMGFzSFJseHRPenZTTERMbDM0OHR6Vg?oc=5",
|
||||
"https://www.gov.mn/",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52R0dzT2wxWGJyTGUtQkRhUVFGbFJiTmdxTDF3WF82Ymc4N3FzT0Rodmg4ak9qNW1Uc0RHb3NabmF3NDN1OWhWUEEyOW03WUd6ZC1meERqZldnUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMijAFBVV95cUxOcmJYaGJsbXVKSFVFc0x5cE5VU1hMY0tvS3hiNkhTQmNYR0dtNHRyNjJja0NZbVZ5ZmJxdVNXdTZQZE5rYU92cmY5OUdLQzZ1cW9nU2R4N0trblZsMElSQl8wMC1zeF94aUNJLXdrbGRSZkNuZE1NQXRiQXJrTVFEaGEwZDBDSnhXUzRqYg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxQc3kyVzZFRXMzbWhfYWJScTFEaHlrYVpWOUQ5NmtyT0VCN1BpX3ZMY3dUVm5Qb2l1ZXh1Nzh3dGExdURYY2NWeHJKZGg5YmxyRDEzbkE3a1VjZXNsX0ZwNG92MkkxakRVdTFWZzF1YUMzcmt4UUU4UVRHci02T0lyR0FIOVJsZTdRZUptbUNBdE11bVVXOTFGR2hWZ05wUUIybDFPc3cwY05aeUFqVHhHN0ZtZEZfTWgzTWhnemY5WW8tenREWnJ3?oc=5",
|
||||
"https://montsame.mn/",
|
||||
"https://news.google.com/rss/articles/CBMijgFBVV95cUxOVHA5ZEZrLWVwUnhxWk56UGxqM2F5aTZSMm9IclJNN1JjQWQ4UmdiTC1kLXo1OFJnbkpIc0V3Q3hvODNJd2JxNVBZRTk0clRVb01fUExOdnkyUUFsTkxlQkE4dllXZzE1MFFDLTc4QnF3TkRXNGJSNUtFdF9YdDlEM0hqSXJ5cGs3bzN4NTln?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikwFBVV95cUxNYkpBNS01Vm1yYlNQT2hpT00weU9VQnVJRHhMTzZ5OGJ2elNUQUNpdDhDRk9aZEh2M1lnRjlEbWNLMF9QMVU2MXZaMUZWLWItZEk1dkZnd0ZaU0xtYXRrdGNSYVctTFNubzJwYVFfY0lNOEVXaUxZcmZ2Y044N1V2YlV1SS1heHVPXzhLY2diY0RUYVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiwwFBVV95cUxNemtvTWRfTjZEZU16dmE5cVRIUVdYUG1vYkJTNlphQVdJbHBfdF9PTmliQ251Z055MFhxMjlSS19sWms4ZG5jZmRBaWdLU3BNNjY0cE9GcXJ1STVDdTIyUW9PMUI2N21UVW9UYm9hby1SZy0xTFhkLTNqcm1ycmVUR2FrZWd2MDBvWFU2UVJMZ0M1VTJRbnBudWpBNnJld1BlUGgyR1AzOEZ3b212SDcxWXJ6Z0NJVkNKekRWSEJCLV9EMlE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMisgFBVV95cUxPMUtlYlZYVE51RjBXYXk0a2ZWVnhmMUp2eEU3LV9idnI3dmw4XzRQQ18zeTZuU3E0LURGSUtVS1Fyblp3bEtNVzcyNmc3SDJEM0hVYVNLWGxFQWp1UUdEeHNobXBVeXF0VnhQMWF1V1RhRVU4TVRMOV9Wb25FbnpVMmw0T0hBaHFvanFHWHlUeGJXSkdEU25FcHVDZU9EaENsbVh2WS1XREpGUGVtODFmbUNR?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxQeGl5eEtfVGZlRlBIcTE2b3plN1dOaUhod1h1V1FSOGZLb1VaSkM3XzR3OWNjSkhGWlc2UlBGZUZPbHJqZUtpOEFqQ2FtQlhWNElCYU1NSHBlVHpUVWowTkN6NjlyWWllNEFzTG1hRzNUX28tZzR1UXhodFhqVlRwWkJUc0M5YWx2Zi1nMDdfRy0tdUVfd284RTNfWjgyY2dHaUlWNktBelZuVUhJemFTRHdyTHZMNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMigwFBVV95cUxQcmotVWVDcm10RHAyNUpLbFc2QlI0LWQ3dHpnSExvWE9zRXhxZVpBTU1XSGVIU01JZk5ZRk1WR3lJbGVHbk4taEx6Vlc2WF9KTWg4U0U1eHdMdnNGTVZtdWtoU1ZYMkhZTGZWd1RoWGNYUTJVNGl3REd2eXp0aDc5TUtDc9IBiAFBVV95cUxQV3JDQW5wUW9NU2RKRTFqSTNnNWxMT0R1bnl0OVhRcWJBUGl5bmR4WnU1VGZFdkM2b2o3NW5NZUVfQkRyNGZ0MndnaXFsd2Z5a0RiQXFNQlJLVEdtMElnMHdyRGplMmU4aEd6ak5mUHlmem1uQXBlMF8xb0JQWjVZbHg4N2RDSVZN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE0zeXFFU3FkN1R3dWlkNXMyeXRpYmpBZE13Y0FlVEZLM3B1NDd5TnZVa2JVbDRzbWFydEUtSjRKNXVXdVRjV1JoZFdnV3BLYVRCTGIwTmU5N1BfYXU3SW9z?oc=5",
|
||||
"https://www.mongolbank.mn/",
|
||||
"https://news.google.com/rss/articles/CBMic0FVX3lxTE5kZFBmVE00UjB3bVl5ZHFmbTc5MXdlakFLYkJUZktOT2JMMFNTb2trbXBXaFR1aHF3UlZGMUFIdmhWSVZwdVNPWE5FYjN0WG9BOUNjVkZJeTRSckhlZWZ6MHROTkROZ2hmOXFjVDZ0TlNoNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiowFBVV95cUxOeXhSMjFaSEgxTWw3VEZ4ZmtNQmdaMm9iZl9WSU90ZzhqZXk4WmZ3c0h1NDk2TUs5OGk5a2hta3B1T0owX1pDQTliZ0t3b2ZzRHM5bm11NzRoU29EOE5TcVkwMnBmY3MxdUhGT3hraFRlRm4zR1diMEhDRFY0WXpiVFlHWkZJcUNTNElRbERvZ2pzTHdJbEJ4S01PeUxmempIdjNN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMilgFBVV95cUxOekR2UTJBWnI1N09nQko0YXpaU3hUeFNGNVZjMXUwWkZSdll6a3dRUFNJaTdNTlJoTkVNajBBLWZWWEU5TGxWS3FZZU1SdXFyeUcyZWFEaHhuZnY1UU9mNjJhQjFFTzlRZnFVZFRLQWNpNThBYnZvRDFtVVJoMV85TW9fdjBFZGZsaWU3OGFLS19tSTljZVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxPRWVCUEhzVHFQRjNoR1BhTUFCWk5fZEMwamMydkpRay1GSHZBcnZZZmZtbEQ3YWs1UU1qLXFzLW4zYmRWbEoxSlVrbU12Y0cwdjRodkV2aGlLVURHVmhHNVNpSk5RLXcxb1dUdU15SnpEaXF2N2l2eXhVU2FSVnBQYTRNMlZ2aktaZXVLalJJNDJfUQ?oc=5",
|
||||
"https://news.mn/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.mn/",
|
||||
"https://www.mongolbank.mn/",
|
||||
"https://montsame.mn/",
|
||||
"https://news.mn/"
|
||||
]
|
||||
}
|
||||
}
|
||||
39
data/regions/MO/Default/Macau.json
Normal file
39
data/regions/MO/Default/Macau.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"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://www.macau.gov.mo/",
|
||||
"https://macaudailytimes.com.mo/summers-finest-at-diva.html",
|
||||
"https://www.bocmacau.com/",
|
||||
"https://macaudailytimes.com.mo/govt-vows-more-diverse-community-spending-promotion-activities.html",
|
||||
"https://macaudailytimes.com.mo/zhuhai-border-expects-heavy-traffic-during-buddhas-birthday-holiday.html",
|
||||
"https://www.umac.mo/",
|
||||
"https://www.ctm.net/",
|
||||
"https://macaudailytimes.com.mo/govt-silent-on-student-mental-health-numbers-while-hong-kong-records-steep-increase.html",
|
||||
"https://www.macaudailytimes.com.mo/",
|
||||
"https://macaudailytimes.com.mo/hkd6-4-million-needed-for-retirement-majority-lack-financial-confidence-survey-finds.html",
|
||||
"https://macaudailytimes.com.mo/domestic-helper-arrested-over-lost-phone.html",
|
||||
"https://www.dsat.gov.mo/",
|
||||
"https://macaudailytimes.com.mo/satellite-milestone-advances-geomagnetic-navigation-research-and-applications.html",
|
||||
"https://macaudailytimes.com.mo/geg-honors-nearly-10000-long-serving-team-members.html",
|
||||
"https://macaudailytimes.com.mo/the-differences-and-similarities-in-the-trump-and-putin-visits-to-china.html",
|
||||
"https://macaudailytimes.com.mo/iam-says-conditions-not-ready-for-expanding-vet-outpatient-surgical-services.html",
|
||||
"https://www.gov.mo/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.mo/",
|
||||
"https://www.macau.gov.mo/",
|
||||
"https://www.dsat.gov.mo/",
|
||||
"https://www.bocmacau.com/",
|
||||
"https://www.umac.mo/",
|
||||
"https://www.ctm.net/",
|
||||
"https://www.macaudailytimes.com.mo/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/MY/Default/Kuala_Lumpur.json
Normal file
50
data/regions/MY/Default/Kuala_Lumpur.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Malaysia - Kuala Lumpur",
|
||||
"google_module": {
|
||||
"base_lat": 3.139,
|
||||
"base_lon": 101.6869,
|
||||
"lang_params": "hl=en-MY&gl=MY",
|
||||
"valid_url_suffix": "com.my"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://news.google.com/rss/articles/CBMiqAFBVV95cUxQTTRlalNlM3BRdEVnSmF6djBRelhvMWxjcjIwdEJfNDFMdXhROWczeDlWb0FuTFctS0RQTWkzZS1xSHhPdmRqc3p2MllEMmVUdER6SEhfVVBPbnZlRllSN0ZacEFPYlJ2MlJLcjVRd1VUQWJ0RnJvdXVyRUJULThTS2hCdEJqakhwV2hrdVFCeHZOS2kxTXU2OTNQRHFmazhmQ3l4U1BLcHQ?oc=5",
|
||||
"https://www.thestar.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMiugFBVV95cUxNSVZnaE5lQ2lVdHMwdE8zek5KX211d1c4LWVZbGF6b0dpTl9iTWxjcTByODNXc1VvdGtVSzJPczZYd2xaUXF1b3JYakdEa1J4YUI0cmpBSnBOSXBuNEU5dEdPZXdGUHh5M1lCV1I3SUNMWkJsdDlWTDNxMUVDQkdWY1pHUXlqLXVCOFVjMGd6cjF5bTNpbl9ucWhuX0tVSkljdDd2X2tXZWt4cGpFdG5LZGRPU2FIQ3d4RkE?oc=5",
|
||||
"https://www.pos.com.my/",
|
||||
"https://www.cimbclicks.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMi4gFBVV95cUxNZmxsc2hZTWMwRVVvTjNjTm1VM3VSUXpDMUxzTHVJNGN0OVNLUC1Ra3A5TjIyaDJlcGwzY3BWV1J6UXhZTG9kY255Z0JsU25ta1I5cnVsZnF4U0J6M2t6eUxfcjVfeWZsbVB0ZVk1dUhmMnlZaDdJSW84c2I5TElZOVZIZElKcksxdnc0WkVHbE9hMHpTbmlYZ1ZpZ2pqSThQTmlzaXlaNTJDWGZpeHNzeGgzY19NOGlWdllzUFlldHVLRHhiNmlEbkUwdUREWlpSMjBxS1hXa2xGNHhqQ0hFS1FB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMivgFBVV95cUxNN2ZmeEJoemNCd0lzOUFGOUdGNzdXX2FDOFJ2aEhETHBCejN5LXE4QUM2NzdrbUROSm5TSzN2cFVEVzNqb0lDYUhmTXo2THQ4YWVWTW11dzBWWUVVS2t2VUl4RFRUQzhyVVhHSkY5WGtuXzE4YWF4QzZ4a0hHRkxkTTdTVmQ2UDBqWE4ydHpaT3pmbnlZUmdXYm5LMks1MGl3c3ZaeHM1NlcyNldSYXpDeGlwNUhKSXFmOWVheklB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiYkFVX3lxTFBuS1VDZVBWcVlMSUVsN1lEXzUxM1lTZURZTFBUUmdjNXh4NHdmMi04S1E4R2Y5VHMxV29zU0pOeWJmVDlmT0NvX1ZfSDNnMjQtVGliUHpxRnR3VENnSG8xYWhB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiiwFBVV95cUxQRVVEYnZLZl9XTkIyVFNtQ3BIRUQ5X1h3R2tmdlk2NHlCUkhURHhlckhNaVJMUUdtdWlaNEhSR1JnMDhQTk5HRnZ1MmNJankyOFpleFphT0dqM3Q3SG9mcHIzLWNoWHkyZFd0clNHMmhrREhudlBHWVpld0J0Z2E0ZERjWjFkdGlvNUI40gGQAUFVX3lxTE1qVWhzNHVJR1JDcVJObm1tYUZGT2Q5UEMxZUs3UUZ3VlFjLXl0QWhpSmliVmoxMFhzeXkxNEV4SWJhVGlacWVkWkJJS1BYTkZJVFpVRElvUUhtTzh5Um5fSHRmZC1qZ3pfT1NrN3hUMzc2LXluQ1hCVkR4X2hvRzYzM2FJeHI4SzBKY2NETXBCaQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi3wFBVV95cUxNTXR5SktXbEpxYjZXc2pucGpyZ0xXeElxMzd5NGx6UVNLa3prNFZjWlRNTml5M2hzWnkzTE9NZGJiV19lTTdob1VtNUNVUTExUmloVzB5MEpwRHh3S2hLdlo5bTlLSEhrQUdPQlhkYVNyZmlfX01feURPdUtNbHR1NlF5N0J2TGRYd0NBdmV0X1FIM3g2aTVzcjFzMTFaS2s4ZHp6U1BhZ2lQUXRwSHBkRjAxamF4V3hDdGRnRFF3T0llaDA4RmJaNllZbjlrdzBwYjNBLUNpc0ljQVFDdmIw?oc=5",
|
||||
"https://shopee.com.my/",
|
||||
"https://um.edu.my/",
|
||||
"https://news.google.com/rss/articles/CBMiugFBVV95cUxNLVc3LUNRSThTdG5KM3ZpdnJfNnpScjNNZi0xYWd0TGhYeXpLMjlHNm9RYUZkeUxWcXE3SlBuSV84ZVV6NTk4Z1pGM25GRFhTem9fdzYyMW0tcXI2eEw3VHA3M1h6b1BNZkFLQlFZQXFfR0VkbDlnMVZ0S0ZKc0pXUDZJVktGb3RfNHVFemZncG1sM0RYbXRuU1Z4cTFBUEdKcFpEUV9la1JUVk04M2xBZEs5RjlFd09IcFHSAb8BQVVfeXFMUFIzTHU3dEJQN284UWxUWExaNjF2V2JlcU5tbEt2SjVVb0Y2aTBQNUJXQmZyQU9IM2Jkc3VIMXE1RzZQWnp4VUlDSUJGWTVfd0o5eWFDbFpJLVBzM0J0U0J5M0JkQnNiTElIZnZMc0EweGRKN3lmaFR6U2pWdjU1ZjZWdlVaZG1iYWJxQ1ZkaUVjQ2J0V1p2enVLWWY1UzRRcVBBWUJNN2txbk16bGk0LVB0d2RmaFJLaVpqal9JVzQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihAFBVV95cUxNMVp5RnhzNWs2clFsV1puUklDWU83dWdFNDVzUklZdmlGT3ZBLXlsLXoyQWIxMVFURG0tS01MckJqMGdWUlZpTTMwRzFBXzBxVFU2ZDZhckx6UE42aXo3b05QZHlmS3lVOTNBOGxMRnNQMTJPNnpMQUZ5M19TOGZEQWFqRVg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi3wFBVV95cUxORHJOMmU1UFVDM2RKN2RDNGtaOGQxcFRBU1RGamhWWS1URDcxSlpPRGR2OEZadzliSjY2bVlyUVlIVkI3MnZRSFpiM1lBVEFOYmNDQ095LUZLUWpwV0psT0RrWEhlYURKYlMtYzF0Y2hFSTd3S1hubVBoMkd4TzZ1TzM0M0dDRndmN25lQ2lIQngwN19PeVE2ZkVBMDJEZGROMGlESlZaeGRsakE5UzZsNEhCYjNUcDRQSDAxT2ZPWW8tYTRGajJqejlCZHZhY3V4dWhTd2pUdHB0dU1kYWxJ0gHkAUFVX3lxTE02TjFzbWVkN2tjcXFqQnRFcURGb0FaWGtyU0dMMkFMOTJvN3pkTGNSTEJPWFJuVDlxZ3c5dG1TN1VReEt3UkJDc0FNSEh3T1RrdGUyV1dDVlY0V242VVJmaXgxaVNEOVBCYVJEaWh5bXY2enFhaGhCTGtOcm9sS2hpS2RZTkdnVzljSVFuNnJBVFBFdEdLQWtobW9penJIUkliRy1CWWxRM21XVmRFTG9OUXdLejRfUFB1dlpJOFpGLXZLZTZLM0Z1THpCMkxTeFUzcDV1LVYxMUh5UjFDaWlBOGFlRQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihgFBVV95cUxNTHJXczdkRGNqVVVTblBBbTg3OERvSEdZV2pjVHlwMlozZ0d2NHhwM09Ga25GUXZvSktNZUxlbVktMGNxSHF6Q1hzZHBxS1htanNoX2U3cDNGWTlubTY4Y212Tk1wMzl5TklkaWVUQnhpV2lfaDFUSTlQbWN2dzgtS1BsQkhvZw?oc=5",
|
||||
"https://www.malaysia.gov.my/",
|
||||
"https://www.lazada.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMilgFBVV95cUxNd1BfaVVfYmdheXg1ZFJGcnE3RkM5Ymo0ektwYTBhaFM1VDFCZS1nVmtWRnh5YzVwMk1YX2ZNX3NleGRWSUREa1BUd3pTQTVUTVN4bGtWVTRZdHhEQktfTVExNEZ1bmJzeXk3Mno0V1hxcWtsXy03LXdTMWpkWnZVOURGUmNhNzFOSmNVTmZ3dk1lZzFSbUE?oc=5",
|
||||
"https://www.kwsp.gov.my/",
|
||||
"https://www.hasil.gov.my/",
|
||||
"https://www.maybank2u.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMivgFBVV95cUxOc0VVcXZFN09mUEdRLXJzZy04VXNJRjBDREcwd29UWXRSUW1HQlZlZTMzVEhBUlEyUThCTkRWRjNiX2lobFdnQWtRbGpPUWREaGVQeTZSb2MtWVBpX2RkdzJBTE43UFJ6LUl5UjhhZ3h6YnBBQi1DQWRlV3RGRG9HN0RBMXJNa1BadjhRTWhwWVowd3MzZk1RTjA0d1hvc3NrTVlnMUsxNnZCVm5QUEFYM1ZLZWVWVTdTZjZlcVNR?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixAFBVV95cUxOSmticzhXSk1TTXN0QldjbXItMDFacUk1c0xIb2xyMldTVDZIUThHWFVWWW1iUDJiNE1idmZUclRSc00yMzRyTmN1bVd1NWpqS1lXSTQ2NVN1eV9kZGEwQ25XaTE4VERZM29yNXk2SmVQUkhqREdLXzVtVl81Ym1OVEQwTWM2bkpseW14S1VEaWsxazJUMllKRk9vU0RlemJ2WGVvamJwNW1YNTI4UDJGMzVBLVdEQVhWSnpENE1UVkUzUlVt?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiiwFBVV95cUxOVlFvMDBKVS1DY2FOb2RGZkNkYjFqVXc5NC14Y0xzV0xJZkY1ZmhDN3ZaOEZOdlRxbmlQWWJ1T2IyZEpCb1JJSk5td3Q0My1veWREWUxBY0FlOVFsU1NEUVlmTE42MVdyTWs4TmdMM3ljeTlPbHZ4WGxrSzF1a2hpN192SUxFVjFlYnpv?oc=5"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/NG/Default/Lagos.json
Normal file
50
data/regions/NG/Default/Lagos.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "Nigeria - Lagos",
|
||||
"google_module": {
|
||||
"base_lat": 6.5244,
|
||||
"base_lon": 3.3792,
|
||||
"lang_params": "hl=en-NG&gl=NG",
|
||||
"valid_url_suffix": "com.ng"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.gtbank.com/",
|
||||
"https://www.vanguardngr.com/",
|
||||
"https://www.airtel.com.ng/",
|
||||
"https://punchng.com/ghana-court-jails-nigerian-welder-six-months-for-forged-passport/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://punchng.com/businessman-emerges-ogun-pdp-senatorial-candidate/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/dollar-to-naira-exchange-rate-today-may-22-2026/",
|
||||
"https://www.nairaland.com/",
|
||||
"https://www.vanguardngr.com/2026/05/nigerias-trade-surplus-rises-220-to-480m/",
|
||||
"https://www.mtn.ng/",
|
||||
"https://www.vanguardngr.com/2026/05/only-a-fool-ll-believe-im-working-for-tinubu-kwankwaso/",
|
||||
"https://punchng.com/abia-apc-lauds-members-as-gov-candidate-emerges/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://guardian.ng/",
|
||||
"https://punchng.com/police-arrest-another-bauchi-man-for-circulating-fake-appointment-offers/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://punchng.com/aig-warns-adamawa-police-against-unprofessional-conduct/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/naira-depreciates-to-n1387-in-parallel-market/",
|
||||
"https://www.vanguardngr.com/2026/05/inside-makurdis-mopol-barracks-where-families-drink-from-pond/",
|
||||
"https://www.punchng.com/",
|
||||
"https://www.konga.com/",
|
||||
"https://www.jumia.com.ng/",
|
||||
"https://www.vanguardngr.com/2026/05/srol-sweeps-three-awards-at-maiden-solid-minerals-excellence-awards-2026/",
|
||||
"https://punchng.com/119-ak-47-ammunition-recovered-near-gombe-graveyard/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/gbenga-hashim-hails-justice-umar-for-nullifying-inecs-illegal-timetable-commends-court-for-upholding-rule-of-law/",
|
||||
"https://www.firstbanknigeria.com/",
|
||||
"https://www.vanguardngr.com/2026/05/over-41-of-electricity-consumers-still-without-meters-nerc/",
|
||||
"https://www.vanguardngr.com/2026/05/igwe-de-mc-marks-20-years-on-stage-with-uk-debut-show-jokes-apart/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.jumia.com.ng/",
|
||||
"https://www.punchng.com/",
|
||||
"https://www.gtbank.com/",
|
||||
"https://guardian.ng/",
|
||||
"https://www.konga.com/",
|
||||
"https://www.firstbanknigeria.com/",
|
||||
"https://www.vanguardngr.com/",
|
||||
"https://www.nairaland.com/",
|
||||
"https://www.airtel.com.ng/",
|
||||
"https://www.mtn.ng/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://nl.wikipedia.org/wiki/Speciaal:Willekeurig",
|
||||
"https://www.rijksoverheid.nl/",
|
||||
"https://www.nos.nl/",
|
||||
"https://nos.nl/l/2615353",
|
||||
"https://www.bol.com/",
|
||||
"https://www.nu.nl/",
|
||||
"https://nos.nl/l/2615319",
|
||||
"https://nos.nl/l/2615351",
|
||||
"https://nos.nl/l/2615317",
|
||||
"https://nos.nl/l/2615336",
|
||||
"https://nos.nl/l/2615355",
|
||||
"https://www.marktplaats.nl/",
|
||||
"https://nos.nl/l/2615364",
|
||||
"https://nos.nl/l/2615350",
|
||||
"https://www.buienradar.nl/",
|
||||
"https://www.telegraaf.nl/"
|
||||
"https://nos.nl/l/2615354",
|
||||
"https://nos.nl/l/2615341",
|
||||
"https://www.belastingdienst.nl/",
|
||||
"https://nos.nl/l/2615349",
|
||||
"https://nos.nl/l/2615325",
|
||||
"https://www.ns.nl/",
|
||||
"https://www.rijksoverheid.nl/",
|
||||
"https://nos.nl/l/2615316",
|
||||
"https://nos.nl/l/2615313",
|
||||
"https://nos.nl/l/2615356",
|
||||
"https://www.ing.nl/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.rijksoverheid.nl/",
|
||||
"https://www.belastingdienst.nl/",
|
||||
"https://www.ing.nl/",
|
||||
"https://www.ns.nl/",
|
||||
"https://www.bol.com/",
|
||||
"https://www.marktplaats.nl/",
|
||||
"https://www.buienradar.nl/"
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/NP/Default/Kathmandu.json
Normal file
40
data/regions/NP/Default/Kathmandu.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://thehimalayantimes.com/",
|
||||
"https://news.google.com/rss/articles/CBMiwwFBVV95cUxNemtvTWRfTjZEZU16dmE5cVRIUVdYUG1vYkJTNlphQVdJbHBfdF9PTmliQ251Z055MFhxMjlSS19sWms4ZG5jZmRBaWdLU3BNNjY0cE9GcXJ1STVDdTIyUW9PMUI2N21UVW9UYm9hby1SZy0xTFhkLTNqcm1ycmVUR2FrZWd2MDBvWFU2UVJMZ0M1VTJRbnBudWpBNnJld1BlUGgyR1AzOEZ3b212SDcxWXJ6Z0NJVkNKekRWSEJCLV9EMlE?oc=5",
|
||||
"https://kathmandupost.com/",
|
||||
"https://news.google.com/rss/articles/CBMic0FVX3lxTE5kZFBmVE00UjB3bVl5ZHFmbTc5MXdlakFLYkJUZktOT2JMMFNTb2trbXBXaFR1aHF3UlZGMUFIdmhWSVZwdVNPWE5FYjN0WG9BOUNjVkZJeTRSckhlZWZ6MHROTkROZ2hmOXFjVDZ0TlNoNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE52R0dzT2wxWGJyTGUtQkRhUVFGbFJiTmdxTDF3WF82Ymc4N3FzT0Rodmg4ak9qNW1Uc0RHb3NabmF3NDN1OWhWUEEyOW03WUd6ZC1meERqZldnUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMihgFBVV95cUxOMUVsMkdsN0s0UE8xR3NmcWFPbS1HMGlKVkdKMVZUcVZfYldUOHhDY216RlY0LVl0aHB1TThQME1iWEdDdjM2YXYteUVYRHViR0kteWFQSFptNjZjRVNtZEZ0TXlzZHA3Y2hvZUFlc0ZmNFhERFI0UUxwRlR1RlRVcDlCaUFZQQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxQeGl5eEtfVGZlRlBIcTE2b3plN1dOaUhod1h1V1FSOGZLb1VaSkM3XzR3OWNjSkhGWlc2UlBGZUZPbHJqZUtpOEFqQ2FtQlhWNElCYU1NSHBlVHpUVWowTkN6NjlyWWllNEFzTG1hRzNUX28tZzR1UXhodFhqVlRwWkJUc0M5YWx2Zi1nMDdfRy0tdUVfd284RTNfWjgyY2dHaUlWNktBelZuVUhJemFTRHdyTHZMNFU?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTE0zeXFFU3FkN1R3dWlkNXMyeXRpYmpBZE13Y0FlVEZLM3B1NDd5TnZVa2JVbDRzbWFydEUtSjRKNXVXdVRjV1JoZFdnV3BLYVRCTGIwTmU5N1BfYXU3SW9z?oc=5",
|
||||
"https://nepal.gov.np/",
|
||||
"https://news.google.com/rss/articles/CBMijAFBVV95cUxOcmJYaGJsbXVKSFVFc0x5cE5VU1hMY0tvS3hiNkhTQmNYR0dtNHRyNjJja0NZbVZ5ZmJxdVNXdTZQZE5rYU92cmY5OUdLQzZ1cW9nU2R4N0trblZsMElSQl8wMC1zeF94aUNJLXdrbGRSZkNuZE1NQXRiQXJrTVFEaGEwZDBDSnhXUzRqYg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMigwFBVV95cUxQcmotVWVDcm10RHAyNUpLbFc2QlI0LWQ3dHpnSExvWE9zRXhxZVpBTU1XSGVIU01JZk5ZRk1WR3lJbGVHbk4taEx6Vlc2WF9KTWg4U0U1eHdMdnNGTVZtdWtoU1ZYMkhZTGZWd1RoWGNYUTJVNGl3REd2eXp0aDc5TUtDc9IBiAFBVV95cUxQV3JDQW5wUW9NU2RKRTFqSTNnNWxMT0R1bnl0OVhRcWJBUGl5bmR4WnU1VGZFdkM2b2o3NW5NZUVfQkRyNGZ0MndnaXFsd2Z5a0RiQXFNQlJLVEdtMElnMHdyRGplMmU4aEd6ak5mUHlmem1uQXBlMF8xb0JQWjVZbHg4N2RDSVZN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxQc3kyVzZFRXMzbWhfYWJScTFEaHlrYVpWOUQ5NmtyT0VCN1BpX3ZMY3dUVm5Qb2l1ZXh1Nzh3dGExdURYY2NWeHJKZGg5YmxyRDEzbkE3a1VjZXNsX0ZwNG92MkkxakRVdTFWZzF1YUMzcmt4UUU4UVRHci02T0lyR0FIOVJsZTdRZUptbUNBdE11bVVXOTFGR2hWZ05wUUIybDFPc3cwY05aeUFqVHhHN0ZtZEZfTWgzTWhnemY5WW8tenREWnJ3?oc=5",
|
||||
"https://www.nrb.org.np/",
|
||||
"https://news.google.com/rss/articles/CBMiowFBVV95cUxOeXhSMjFaSEgxTWw3VEZ4ZmtNQmdaMm9iZl9WSU90ZzhqZXk4WmZ3c0h1NDk2TUs5OGk5a2hta3B1T0owX1pDQTliZ0t3b2ZzRHM5bm11NzRoU29EOE5TcVkwMnBmY3MxdUhGT3hraFRlRm4zR1diMEhDRFY0WXpiVFlHWkZJcUNTNElRbERvZ2pzTHdJbEJ4S01PeUxmempIdjNN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxPRWVCUEhzVHFQRjNoR1BhTUFCWk5fZEMwamMydkpRay1GSHZBcnZZZmZtbEQ3YWs1UU1qLXFzLW4zYmRWbEoxSlVrbU12Y0cwdjRodkV2aGlLVURHVmhHNVNpSk5RLXcxb1dUdU15SnpEaXF2N2l2eXhVU2FSVnBQYTRNMlZ2aktaZXVLalJJNDJfUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikwFBVV95cUxNYkpBNS01Vm1yYlNQT2hpT00weU9VQnVJRHhMTzZ5OGJ2elNUQUNpdDhDRk9aZEh2M1lnRjlEbWNLMF9QMVU2MXZaMUZWLWItZEk1dkZnd0ZaU0xtYXRrdGNSYVctTFNubzJwYVFfY0lNOEVXaUxZcmZ2Y044N1V2YlV1SS1heHVPXzhLY2diY0RUYVE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMijgFBVV95cUxOVHA5ZEZrLWVwUnhxWk56UGxqM2F5aTZSMm9IclJNN1JjQWQ4UmdiTC1kLXo1OFJnbkpIc0V3Q3hvODNJd2JxNVBZRTk0clRVb01fUExOdnkyUUFsTkxlQkE4dllXZzE1MFFDLTc4QnF3TkRXNGJSNUtFdF9YdDlEM0hqSXJ5cGs3bzN4NTln?oc=5",
|
||||
"https://www.onlinekhabar.com/",
|
||||
"https://news.google.com/rss/articles/CBMipAFBVV95cUxNVkQ0Z1pKckQ5YXZ3WkZFMlZMVmJrbUltNzhGRkh1WkZmd0hnSjg3TmNPZkd0RURycTc0NWpnT19NSG1pYkR3anZGN2hmTnA3Z014cnVUeE83cnZBZzJYdzkwQjg4aFhxeVQ2S3ZPS1NiWm45eVpLbnRJVzlxRTZKOURBR0pjSGozTkJGZ3VWMGFzSFJseHRPenZTTERMbDM0OHR6Vg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiygFBVV95cUxNMXV4OWpmRElfTl90aWdPa0NEUGF1VlN6azhXUU9CNy1qTkFZaC05dlZHU1BSeVFheXJUN1dTVndxcTFWb0RCVFN3bmY4UzAxNHNVNTVDdGVlNUZudDl0UjRHTTJFdjBWQlV2TUdfZUZpUlMycWZjWkRVRU81TTUyWjh0VjduRm4tN0YxU1hiMlBNa3I5U0JRbElIWFN1U0pBekZwSDF3SlpSMUhKMkR3YThJbW9ZOTllQWhVc2hzUzNoSWNQOTMwMjRB?oc=5"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://nepal.gov.np/",
|
||||
"https://www.nrb.org.np/",
|
||||
"https://kathmandupost.com/",
|
||||
"https://thehimalayantimes.com/",
|
||||
"https://www.onlinekhabar.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
36
data/regions/PH/Default/Manila.json
Normal file
36
data/regions/PH/Default/Manila.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"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://news.google.com/rss/articles/CBMirgFBVV95cUxOTGJzT05FV3hEXzF3T2pKTmtXNV9OV2JpR3FnblJXNDJCS05SVXV1aFE2dUxmSmNpOTBJbHF5VlVvenZFTXUxcm53VFo0bDZtLVdIRTE4LXdzWGFVem0zUDd6bkdnZ2d0b1l4dllYenY1enpwcjRlbVRCYkJJeUY2NWNmWlg3alFQRlZ6OEZDZDFFX3MtT2kwVmJBcjV1WkVKZHhFcS1ZWHFncnY2RXc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikwFBVV95cUxON3FucmtSZGtMMFFjZFJEMDJxWEt3S05Fc19JeUE3R0d3WGgtbXVRY0c3ZUZ4MV9CWVJsNDdfZmdZRkFWd084bFpHUFhqSmtIVHd3X0g1d0xLWUFNOGNERDFyeTlCejU1bm52OWRrR25UaDF2WHJZYkRFM1J0ZXdPWndzYnZGX2hvSmt0a0IxTWc1eXPSAZgBQVVfeXFMT3pRQ2VoS2dXZjd0dklWVmp1dV9YYk5aY0N4SjlpRWVnNFZLamtxVGpmWWV6ZV9kTmZFSW0zNEw5TGFDU1RXVURLWk5sSWVMai1XYzh2OEl3dlpKWDRpM0llVkFHZ3MwcG5jcW9NZFAwTmJOdzlyZDMwQTFZTTNoc1RmTElRdWt1Q1ZOVzk3ZDRlUHFyalFPMFo?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi2AFBVV95cUxNQ3MzRDd5Szg3dHF2VDljY0dUbDJOMzlKS3JRUFhOTmc3WjJ3WmNqSTRnRENGcC1SWXJVdHBZcjZuamoza0NIc1plMHFVbVBpSjJzdXktUlFtUUlucWpQV0lIS05QSjRLRk9Tdk02RDh2M0J3TzdYVnNaM0ZCMHVJVGRveVRISGhENGYtTjdfNEpRcGVIaTdxLUZsazJFS2gzdUhFanZFVm53WXI0M29yQ3pyT0hadVphQ3lQa2gzc2xGb01yc1lDUG5GQXc5VEJGV0xpNG5EZTg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiqwFBVV95cUxQZ1JIY0d2eEpubzRqTlNVN3FiS0ctaVd3aWttdDdWaE05VTBrcVp6d3FhcU9oQk5XOWRwS0ZMUXV1RkpwOFJ3MVNITnFCTlpaa3B5LVBMWnhqMjdMWlllRUdSS3RKWHFKd1FPd25QRTRvZERQTFB5TFRueUhCTjA3ZXJOakxrYWhLZklTNUFua2JoVEE1blRqQ0Q4UGx4dUlvaVpNYVBNQ1VrNm8?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiekFVX3lxTFBqNkM3V0JqbjVMM3dmVWYtUUR0ZTVPbHVnOUdHUnFxcEtuTFllcVFWak1OUGppSFJla2puX3IwX09TYWpNblE5X0dXWWotMDNjSnpnYTdmTVNuQjd5WGtWcnA0U1d4WHlEc1o3NG1MVGRDYXVvRnFLUlNB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMinwFBVV95cUxPMzNoWnFCNGhFVFZRcUl4cDhpbzhieEtHVTdha0ZlYW9lUE1ZR3lQTjM0aUNJOV9naWgtcTdtUVBHVXpNT0hfQUVDY25sVnd5X2xneExCVmFvZDJ2dDhTZFpmZml0U01xUmJQNHlJZWNlNE92aUN2ZXZwZndXVGdZNVBTSnlCRngtNktHTjZtaWM0dlVDbFpYRnlyOVY5cW_SAaQBQVVfeXFMTjdoanpweTVKeXQ4dWpWZVRLNVJlb1FhNDBhVl9uUGpZQTV1cWtlSmQ4S2d3NzExRE9rOUdOT3p1WFBiZ25sQ3dIZVZlQVMzSnRkX2NJQVB3Um1mUVEyQV9kQjdUazJ6cWtXbzVaQmFlUnVkZXVDVXRYQjkzYktURGlYeWwzU1VSMEUtdkJTSGtIVVBNUnE4OVNUV0JmVnlMbzNHSWI?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMikgFBVV95cUxOTXhvMWc2dElKT0lRV3JrckV1V2Jmc0EtOUJackVpamRHR1dQeTh6a20tSGdXWXNlR19HaXplODhpYXlmdmVRQ295elEzR3pSNS1sUnRjd2ZVYmxOc3F6V0ZDMzhybzJ5c3p4MWwtQlNVd1pkSVU0SmVWeVRxMGx6ekZJMHBvbzVMN0JGeG9oM0RIUdIBlwFBVV95cUxPUW5OYm8xekdGdWRIZTdhaGtXOVJ4X0JuejhuSnhkel9iMXoxdHVib0I1cnZlRlUwOHFWai1vNFR0NFQwYVlVS25OTVBiWTZ4dkVwV05GTWdZU0JuV0RfSk04YWNYbFRqbVZLMW1iUUJDZGdOY1hVaUZ4OWYxenJiM1ZnWlhOSFBKNUh3THVjaFYtc3RRSUlN?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitAFBVV95cUxOXzE0NjRkS2hCNEhvVHZhN1NUSXFFbXNTZTctMDZDR0lXdHRmZ29BTEdtX3pnMXdRcWVNcVZsYmNmQk41b2hMZ0poZmMycGQ5NmdJMnc0Z3VkUkNkM0pZVzlNME5FcWd2b2d5NlZOZnp3RG5SS2t0M2p4cEVaZnN2OXJ2X3lLeHZGcEd3VE16UGpNclBzbTh1UTNYNlUwZWVtcUNyMVoxclBtYVZ5dUdWN1BSU0U?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMivwFBVV95cUxQTk5lV1ExQThwQ2phMnBNNE5yaDFKanU0R0d0YUMzUkx1LVVjMUx4VkQ0bnRBUFRUaDg0dWlRYlllZy1HM25ITDBrR19FWV9tX3R4REVULTBTX1ZVWVE1MUtpdURlU1dJY3VXVzlfbWNlLXRLRExBdVEyTXJSOGNtVkVxSFJ3TlB4MG1PeTFKZl9yZnpoQW1iNUxsTVVnWG5wX2M4NEYtSzUtcU15bVZVREYwRVNxejBRN3hGazdnWdIBxgFBVV95cUxOWUJ3MlRvcUNRZG52UVJYWjdlUWd4ajU5ZlBuWnhaT083RXJuV2lvM2dnaG5kczN4Y0Z2ZFM4QWVrck9sbWtSbmtqRV93UF9uZ2lOTnZaYkpFTEJMNzNEaHBmQ1lKaG1XVkJPbFpOUTBFU21ZWHZTRVp3UnZCdnFTTXl3QjFsWG1xSkxpMm9xZnJXUzFDUlJWNDVyYW5rQTQ1MzF6VzVrc2llZVZkYXBxMm1kV044SmdMZi1SeHUxOEFZdTJsMXc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMinwFBVV95cUxPN05FYVpZN1V6VVU3b0VadjJvbWhYLTFTMkhYTE5jYmRWbGhsZnIybWVRdEJVaFlhQlNjWnNGU3ZFSlo4X0NCZXEtdFJHcGtrM0kxVjhFcndCanFBTVhneTlFajFsSWZmMHpLU3NjbGNPRGJ4RHNOXzJkckVhVlRreW9EOGxoUHdBUFRCaTlLM094MHptRXJTQ3h2MU0tOWM?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiuwFBVV95cUxOTFpvckRQU3o2TTV1Q1NmLUZFNndONXhVbG5DZV9uc3BYTFhXM2p4YmVFTXhOWGRkdXFfRDR6MDA4WEUyeURRbWo5Q3NHNlhtSEpQT3dyc1RTZkk2d2pHUVhqYkZBWWkyOXZCUVltRVg1UWVaMnV5d1ZScXhIRmU2Y3dXVnB6aXZXMkFJRDlYcFJLWWZHSERnUHp4ZFNxUHRWV1VBOXlrZUJvR1N0YjQ3YURYVlNZMVpUbURN?oc=5",
|
||||
"https://www.pna.gov.ph/",
|
||||
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE5OQkNaQk5nUmVtTkM2V3pLWjg4dmk3NTVDbFlHODdyQmduTTFQbS05MXh1WVg0VkpaS2FMNUFyVF9TMzN6QWZyUkJiZHdrOTFt?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMigAFBVV95cUxNcDNPcFRrQThfWTcwN19INXpaZWpLbDhKVUhRdk1MS29GbXpweks5RUc0QlNTWEJFNUQ4YnpUbndtTnFMUnRmNXRUX2pWN1luNjUzWFU2eFVPalVvT0pwcnZIVWRzN0ozSnZCdHBOdEVJMXpsbER3VHhjb2JkWXBBdA?oc=5",
|
||||
"https://www.bsp.gov.ph/",
|
||||
"https://news.google.com/rss/articles/CBMi1gFBVV95cUxNOHBJdzh2NkkyM1VCdTE5LTQzNS02TTdYVWVyTzd5aU5nWDJjVDI3a1licGItdHBsUVhyaE90SEcwZVNrQXhVd01GNE92eFNBSDJ5SFBqSHhaR1g3UzIzNWZCSy1PNXFybnBYOUpNRnduQnJYU1pwTExObFVCU1JFVmQ1UExpOGhCMTBkbzc4SEVGQ2p5TllhU09BOVFNZlFlYzdvTmtRcV81bWVUcEF5eGQ5Z216T0Zpd3NXY0FVbUFQWGN3N3FFZHpDMTJHYi1EQTVOcmZn?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMilwFBVV95cUxOdFlOSktLUHJmcGRmSG54bDh0bkM4WWY4TXVIM0Z4bFlUZ1ROU1FlLURxNGxMM2RLSjIya0Nmd2dGbXRYdFRDbkxEck1VWkZXQWpqRVJfTTVoZWdaS2k2RGNZaGRXRlhsMGZvTDdVRzlPZ3NmWFJNcGUyMVhITGVuMUVNaEc5X1liYXFjenBkSU1nNHkxaUVR?oc=5",
|
||||
"https://www.gov.ph/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.ph/",
|
||||
"https://www.pna.gov.ph/",
|
||||
"https://www.bsp.gov.ph/"
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/SA/Default/Riyadh.json
Normal file
40
data/regions/SA/Default/Riyadh.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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://www.arabnews.com/",
|
||||
"https://www.saudigazette.com.sa/",
|
||||
"https://news.google.com/rss/articles/CBMixwNBVV95cUxPQy1lNFNpMW5vdTV0TmZvazBVMWVlOF9kajZHZ2p4VmZCTUtDRTlQQVFSZDRVQ0ZOcWV3Ul81WXcySkZfa3JaeUlRaTc1a3dwS0VLeGF5bm1YNEdvdDJjUGwzODFSRXYxdDdqWV9XUjhBcTlJZFdlVnlzXzQ4Sm1LclpZd2NuVkxKYTNJN3dFT2pTOGZjWWJXMUlDaS1LV3dCUzljRFJIaHdmMWRyOTF3LTlOWEdWckl5d3VXTENkckZSX3kxRDVpNzlzWVJ2TEFSRjI1YVFxejhsMzBmREdJSFYycTNORXFDbTdfeXBtYWV2NmdVY0h1TUVWVUEzeVJscXZQRTR1amNfa09Mb3F3bzVnak1wQlJCcG1aQ01tVHpVRTMwbFliOWxLb1NfWDV0RWJNLWUyOElyQ29uZHFfUkpyTEdJTXlyU3kzTEJ0bDh1MHZNNEZLZFBEZWk3Wmd6MHNGN2xJQ1RrazZNNXRWemptcWNQSVo0S3VZb0treUFPQ3ZSVk1keXJrNEV0T21lUjQtMWZnaktXUXUtYWdiOGx1LXA5R3pfZHpXRDNvZXFpcjZtdVBPWFNxREF0bjRnQ1l4VFduONIBzANBVV95cUxNRkV5LUFSRWVHeFpIQW13cmZWcmZ0ek1KMHNNUU9rTFVZQk9mVVFlNXhBWVN0ZHZhd0hibXVCSXBQY2FVRUlndlJMSVA4S3Zkd3Etc0JMTVF6bHowWTBqZkRJUTZXRnFsekd5NkRMY0E4TXRfWUJpT1phLTE2Q3hSNENqMXU3UUZnTmtFNHdUZjhvSTRtMFFLbGtVZWdzSDRxUnB3TlJfNVRxMExRXy1yT0gxOUVQT1AzMkcyVnRRRVlfMERpN0VaT041YTJXZ296ZWVBT19ENU8tRXVaR0tqMFlRbnF4bkhYVERZNmdIWWRMMVZkOGZPUnY0QmE2WThaR0s0TFdKNnJCdGZRVFlXNDRSNjVGZkhIWjdseG83aEc2cTJmcTVBYjRjVlI0cE1iRVhBamRuRW15Wk1vT0RXUjRXTnljUEZ2bjJGMEdHMEluUlp6TXdHcW81SUpCWjNndTZYd3VTTGJvYWh2T3laNndsNE9NbWM4R3NKQWFPdzZSdzVFWmRad0Z3Z2kwcW1qdUJZZUd2cU5sRlFaazRRb0xCTGY2aENZSnNCM2UtSEdzYU5qQ21fV21ZOE5hSWFZMkNGNjRBLVZUaTBp?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixwFBVV95cUxOZTdGWmR0QkI0OEcyZ0xfdEo5RlZiSld1eGUwM0tUaGQ4N3RmMl9ocWthWExONDJtLWlIcWJxQVJrVEJHQWNNQ2F5SVpkY1BwOXJjcTZiUHItQ3puMTZGRldmdEM4amstZUpaYU0wRE9zTldwU201eWNHREQ4TVU1Z1prRWE2azE0dk05ZW16dzJUVXE2cVZzZklXZVU2RHZqbjVLa0xVRDNiUVBpVEdzTUxUczk2TlYycEp1bVdEVDI0X3pxRDhJ0gHSAUFVX3lxTE45a1J1WkhPZlJxTWtKOEZMM01rLXRCRmZsRUVJRzNjWTQtcjc4QlBzNXE0eW9GNmVtcVpQZmFGSjB6THFORC0zQWdlME93dTNvWWFJVkFCWURVQ3lkaWNrUTZWQTM4UlFHOV9mZFpoTTFLNTBuVTIwYkhJTVlUQ21MR3M1TXEtSmVwMXI4Tk1mdGEyQTlTRk1DaDBwZGxBalowa1JEOU5CSlJzOTRRYUNNdC05SERfcnJDcFVwRlp2VExvejRwQVpCNTkyS3h0SGlOQQ?oc=5",
|
||||
"https://www.sama.gov.sa/",
|
||||
"https://news.google.com/rss/articles/CBMimgRBVV95cUxPTWtUSl8yX0x6NlRGRFlZSkdEZTc5b00yYV9qb3cwbnU2Ty1SQzMzR1ZvQVlMV2J6M0xiWGwwd1VVcURLU21VMGZLWjUzWVMybnFoa2U2UFpDMDA4ZWh5YXZNaGN5eHEtZFJmYmFVSTRYWUFYcE5pdFhIVEZCRnhZeVRQSjNWU2sxbFU1alg4ZzhxNE41b09FYXVWVmxEbG4zc1hGY3hvS3VGOTdDMzRNV2tOLUpoMUVyRUQ2SjNPdmExODI0cExvd1NCa3dGNnpmTko0WlBYRW0taVczSEdiY3pnTHhVYTBLTlV1OXZPVDFnYXczU1RfNlRmdWlrdXUxSHI4Y3dzNTdVRTk2Yk5iTG5ZQ2xpQjRJeXo1b2wzRlJSR0hzNkJ5UlhDUTRiYy1FT1ZLSzF1Ul9ZYmNFLTRVSWpvaTRFN0MwVWM0bzVJUXBnU0o2ekh0QzdjQ211T2l1TG9pR2dJWWxLRFU5OWpQdVppVWItRldBRWV1TEF6WWFlZHIzTVU1cXNoM0xBYUszdDJUbk9MRXVSOXBaTjJYS1VnbG1XaXpLOE94OU1IWEMxWUNLeWdvNHpFYnJEbVpRYXVVNVMwYzdWcVVJSVotSWFVR2FZbjRBU3hQdS03ZGczRHlFMGZ0VkJwOTFlakVxRTRfS3VMUzBLMmZfbEg2VWZBU3YyN3RYd1F4czJhXzQ4LUNreTVuc0Jn0gGfBEFVX3lxTE1zWE1mSTlxSzg3cWwxWDV4ckpQLWdFV2JKOEZ4MFJMQi16Ylc0cl9wZjdtVDNjM3Q4Wl9DenNHSWtvMngxR3pBQXF5ZHJIQWNLT0FwSHpNZE9RNTZsWXRwd0lURE1TanNORXlQcjJVZW5VRkdBRC1RekFUalhtRlZwNE9ZWU1rWmZsY3BqN293US1QV3lYVDZKd2ljTjRRNjF3dlpVZU40c3RzWVNWUDk0SFIyYzJYMzBLbHNIX3FnUDg1c0FpX2p2TFhoTmVDRV9hNnE3dkJNVlZqNnZSLUV3QmxJRnluSlU3S2FjaWQ2LXVqWHNPRnVzT2V3c2pRVDFFZUtwNW5xdkdiYkxwTllmdHZOak5RaTY3OWJLbzFLcGxwbUVRbWI0RGJwX1NHQVdpTVI4UUhtQ3FmRDZNQTZDd1ktVWRRZ2FDWFUwRjM4dm5QQ1E1MFpSTGVraHY4TGlYYVFISElib19idWFrck95dHBsZkJEVWc4YUFiM1FCUDE1VXJEdU9xZXNsVWFHR1lHdXdoME9GSVVabUJPMVFDalBGSzFSYi1xMzFraFJpVE9VT0JwczFQT3RGcy02UldiWTdCM2pvWlZVb3hNaVdrTGJGQ0g2UHU4SmZaYkt2UWRRRjZKTS1qSEpVektxR3VPLXljU3JzcVRkRko3ZU5vdE1DdVpnTkZYMGtrUXpLeVFDdDVmaVNRYmowbkpSZw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiYEFVX3lxTE10X0UxaTFRZlNQQWZWVUZlOVNMeGN2a2RfLUFGWkhVdFlGNkVMaXIwUlQ1bGZGekQ1U2VidC05VzVKR0pwLVBvMUZKem5VWGJOWTNucDE4N0dCR2ZOaWhZaQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi5wRBVV95cUxOSG54NVVqNExrek1JM0trTE1mcldoc0xnMmt2MXZHR0pfN090LTRucngzd2VHXzFneE1CcUNsdXcwRGptNGllMUdtNTZrQVhkMEQ5X200cm9iaWxxY3RnTEdsZUd0bmJHMDJLbS02UER3VFlvSjdNVFZnMG1vRE10MkVyVEtJM1JpREpzZDNKNzFHcHVHZm4tZ280cjNEYlJTOVlxcDVhZkp5d3VnSjc0N0ZHaGFqbW14anc3WWhUVTFjOUt6anlQWDhtMUlvTTR2MWo5MHV1Qzlkc2tpOTJCZHFiWndKSmlya28zRHFNeTg1WUNMVzNBS1JKNjFtNU4zOG5CRVh0Y0N4SUxRVW1zZ3JjdmNtT1I3Y0h1S2w5M2F6bGVkZG9IbW9UcDVlb1RVcTYya2dMRmoza2htQlVtMlNuVjhodGpac1ByS1NWRU8zdzNOODZBV3lHNlgweEpEVWt1RExKUWVhTWVxMHB2QjRvWFR2c25uLXJqc1pMRHdkcVVJMGIzUFJhRWJSUGNLZFNialBnQW5yUzk5dGRyaG1PVG5ibUpPYVFYZXg5TE9vSUZEZHIxaUt4dFhSYWxsZTI0Y0RTV3k4bXVJRDRDTmQzV0pSVVVjUmotSURmaFpLU0pzRVlSdFlBV3FEYy15YlFaMDlDelNmb0xHMFJIY3FGUWllQW51MW1Eb2YydldPUVdDV1ExajE0QjVKZUxEWXlqajFlS3JKX2tWUVJKMmNNRUVhZVR5c2I2OHRWRDYyTllzZkhCU3hwR0JPdWoyX0R1cFptdVVNMFFvOXBiN0tVajFhMFnSAewEQVVfeXFMUGpUU1B2Y0ZkR1NXYkpybElieFltTk1pc0ZrdE44UWh2V2dLSnFObHlJOGktcXZmQWNYMzVCUF83d1FEM0dkcWtBbWNZSThKLUFhN0tlLWlhaFRvb05KekVqdmp6SEpVaVhBZWNIR2RtYXhObWlZa2RsXzFkVXZVdDRLT2tiYTQyaG5HbWhGem5ET1lnbmRDallzLV9keGRCTFo3amU2NFJQQnhEbk9JRVpxa0ozdTdNR1ZIcHg0VWlWRnN3UXNZR3lwYnZkVHRERk5RUkxUVl9LT3BPeGVSN0dxSjdOcFc5SnBZamtFTU45SVBhTk5wN3JqWFlXejJNSjlHSTVrc3ZmWWNoUXdnVkdBNUg0U3EtamFXcmtaY05qcHhwa093bWNHOWpwdGpHR0NlNjlIZHZnRDF1Z0ZXX1dVX19Md3pNaEs3SFdKQ1FTa2M2WjVwSU5TVUdwZVpOWUVfcmlGNG5FLUVMbVBSMzYwYTJZZkkxdW5RcW8yZUZrT2tCVmwxallGZ2d4ODRaSWxRVnZybFNQT3RPWGo5b1BoR05fdFNPNnE3aFU5NzUzVGRJTFc4ZElvbEdHbU03V2hGX2xJV1FJcDU2VHM1OG1UeUJ3dU43RFoyNGpZekxlXzVNSnd6N0VUbUtwODFLNUYzdWwzaW1LR3drVl94UGFyeTdpN0Y1QVJxV3o1ckJvR1lqU2RaMG9ZbG1Mc0hrSjdRTkYtR0NVckRXci0xWjh2MzhxUGx4VWUzN1RRSVdIYnpOZWRNSWFHX0kwdjlXOHZVY3NFSHVXY0ExeWFoTUVlcmdrWnNVZWtpd1k?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMixARBVV95cUxPYW5YZGRUV0cxY3pSN0VXUHlGUWFldzdLWlI1VHRkRW1LM2FkTFVmMHRwdlhsYkxtTkl3bXpVQ3JFaVcydjlQQzRZZ0x1QmRBVkN0Rkx2VU15MTBETkZ3WHpLMThoUExpVnJ2SHZuNDJXdUtweXlkVFZ1Uk5fZGt5aEJaUEw1VG5Gb2d6VDhkdGJZc1pwdzZBMzZxMFY0TGQzdm5MeUVMY0FpM29yVE8zMWdtLUlSdmRwRGFrRWQ0OTBGd1hoRXNQWXFtRzBLWC1hRmR6ZVdNTDZ1S2R3UFk3eWVhODVHT3BiWk5wR1l6SllBWVNlcDkyYWJkcXRJNmVsNHZ5YkkycmYyS3VXc3V5bmxMc0tZQm1rWmpfZFpUR2ZvaWdDTm1UM1ZDOGJBR00wdmE1TE9GX2FpMG1LdXZIOW1sb2J6RjN3R3VhUDB3VFA3Z2FraXc0NTJhc2o5MTFBcmF2MHhuWTBZWElYWXFBQ1dibUdPZTZ6R1B6VTh3WnpacXBrbkQzLXVDMG50M0V3VlhDQjd1Z3NIcVVOUWVBQXFJMzkxQlFFQ3ZnQWpWYnRBS1NzZEZqNk5tdFBKbFhaUUU5b29SSDBKY0MxaEFDbHpJQS0yUS1RZzhZSllfRVNVZm1vQjgwdXczNnItUGd5R05NaXp1LWdESUlCcjFUaHIwNkFSb2ctOEpFZE8xTUxpTi0tZkMtX1VSWXhybVo4WDVZWjA1U0ZMWmxnMUlNRURUYnI0TzVWTl9LOGxEclJUQlJH0gHKBEFVX3lxTFBJTEZLVzlIeTRIRDUteHhfRVVWeGpXY1VSRmpmYkF1X1RPMmNGRDdfVTI2VG1oaGxNYk5tTXV4Y1VYakF4aHh1M0hNbXAzeUpVT1NRcG1fY3FLMllnWnY0MkItUTFpSkdrZjF1czI4ckt3OU5NR19POVRMN0wzWTdwbzdveTktcTNqWmk2UzZIbi02QkFjNFk1dGpJNUNaS2VOVTFEMTlpTlZKQUJQTktQaF92WDlwV2dRemJxOGw3dFEzRng0TUFyaWJJVkM1WjZ1TEhyR1BsMi1kZm84S3J5a1NKa0dQSHpGTzNGMGxiVXBocG5wRUZTRUk0TDVZbW9QdURBX2hJb1VFYmNDdzlyNTVVT0VqdVFuekdjZjBya0dudU10UWI1OVJEUmpwby1GbFNLYTJRZFpwOFBDQjdtQXVPQ2w4c2hWa1lrTkZsNXItTG9oZHNyN3FCTExQRmpObW5LdU43d3lIMTlFU2cwbTFXWEZOXzFkWi1WY3g5bjhXd2ZOcW8zdWZXcXJJRXdIOWplYzd6TXBfaXZ4bFB3UnJMS1d3X3pMN3JRb2VEVzZ5QjdrY0pXWkU3Yi1OUHVCaGZnbkZwNVZ4OF9mcC1ZWTRmN3FnaXF4R0FHVFNwMHR4Q0dfYklrY0RxTi1TR1paYWsySmljRFBPdHhtNHBSQmI4MTlvbllSbnQwVjFBdTZkSzJ5Z3FYQWRNWTJnVVBPRHE2eUU4TkpUZzNwT0tlNURMWkc3MGhPaThOUTB5dnBmV1hyX1JBYnc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiogNBVV95cUxNSzlpQ29xMmtMVVVJN0tKQUNiSDVaWjZoSm84YU5ldnN6Tk0wWk1oTU4waHYyT1JwdUtZbXhDVkNZLUpUM0R2dlU1Z1lJcVdUTXNScFdheUw1aEZPZUtVcU5FNzBTeFNKMDdxQkRJMmlGSGZYT2I1N05lNm12YlZTWDVDZWxROWUxTHNFSVJaZ1FsZlJUckROQTR4ejFRcnEzRmpvNU1ISDB6SmF0VFdTOUZsamdTdzJWODV1U2VHdU95WEQ3eTFXM2I5S1VsTko3ODVaT000STJTdHR5bFE1SG5mV3RGM2owNGhTU3BvXy1MSW9fX3lmR19HZlNjRFBWeUpuSzZPSk1TWFlsejNLaFJYM3FiOHBUSVExdTR2VHhmTTdjbU5RWVhmU2hISVNWc0dPWHdkWU5KMU9RWTh3Y2g2YVRNUTVhZjFyUFdxTERBVG5xNU9OOTN4akt0c1lkLU0zZWZjZmZvTWRPWW82TFNFcGxpRFNKemxXZUNJbDU2YWNiMEZ2WHFTOS1VeGJkT09lUnMtMWsteVhhNjZyNmN3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiuAJBVV95cUxNSnQ3YThIcXVTZ2NyMG9yZThpYzhhU01pblRjN0JNYi1hQnpXWllCZ2NMZ0VJTzFva194UWhDRW5COUJDVVZMUVlZNW1yM2s3cHNlQjgxN1B4Qkp4aldPZE8yaWNvRG1xTDRlUzhCcjVsTll0N3F4V3JmWHZiX1JIdVZoNUZEeHlvak0zNlZkNlgyZU9rZUNSQkNLd18wMlB3bHVZVktiTEJWdnZjRTFIYi1HaHg1aXR5aDdjcml6VWxSNnk2QXJULTEyRDlKdzN1Wml4Y2I2am9LeEluUGJXR0pMQzdNb192OXdoNjJocWNSNW0xNnBwZ1RadW9MbHZia3YzenFSdDNBeERfTHVSdVZNVF9SeXR1TUNuWVU2VXNwMnVCanQwTFUwZ1J6VlBhRUh3NlBUNEM?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiVkFVX3lxTE9HT3VWQ00zejJzdzQyeU9ldjhtQzdRVTFKUFF1U1Q3UnBuV3I5UGFFdmx4N1Z3MEVrWW1pYnRQUkhlSEc5ZmhFdndjYU1GUlc3SjY1cXZn0gFUQVVfeXFMTWFDN1pEd2Q4cmh6LVEyTVRCYjJiMEVSTlQ1RGx0MkMwd1dtS2pfSEtNeXdfUUcweVN5RVkxMklwbVBCTTg2YnN4b1JwVVFVZGFZazVM?oc=5",
|
||||
"https://www.my.gov.sa/",
|
||||
"https://news.google.com/rss/articles/CBMizgNBVV95cUxPRlF2aWEzVmdtcXpLVHBlbFFhRHdLVlFtcXJrSkg1UjFNU01MX0Vld3BKaUpwaWpyVGE1dW5Pd0l3NkxaanFQYlJDd3hoNmJMOHZQZ1d1RlRTYWRRN3l0T1BYbERELVZ0OFJadDZVWnhGaUc5OW15bHdLbWtvcFRVc3k1bTd1eThBaDFyNi1teEphOFVua1dwMUlZcTM0VUN0NE8xNGRvak85SGMyaE5iODFWTWt1TzJ1MDhNYTdMVVN6cy1nNDZaVFV4dzFpVlJfb2htWUZkZS1IeDZDdVptcnA0RWJLdmxkYjVWR3NrRjFMWnRaejlYaXQtYnd1Skk5c0JQV1lVWUR6LWRKNGtBbDlvbG91OVNULUgxM0ZqU29jM2RsRUtjRVBvaXJQVERaOElUdUZISzljd2tTSGNudXFPaktTTXV0VlVtNnVFZ25oTXgwWVJmV0VBLWM1YmV3cE13eGRIQXhFbmNsd2xzZktHNzZqeHB1TnFyam9sdW5kNWZZQ3hXT0lfS3lONHFwZ3lJT2tnaWxGaGtQcjlxWFJacjNvelhvT3VjLUlVWkhNOE9KZTZqUjYwdGhCaE1xUWo2UE1iaEp2UWxINUHSAdMDQVVfeXFMUGdrZkE1Nzc4RjFORk5RUWNKa3RFRTFBMEFhY2otLXZDLUNSN1Y1YVhPUXZLTUtHZVMzWjc3ZkQtTmNOeFhyZmtfdV81MEV6Vjh2aDU4bmtXWXJvcENTUVBxR1UxYkpsM2NFWTN5Mno2bjNaWFNjU19VX1gtWnVXREU0eThMeEd6b0xVa2VzeG9JU1FTTVJCUmxSTFF3ZmhKN0EtNEl0Y05iaG1LbFFGNXRBSUJBaE5WUU1vYnNTNW1pUnJNWVl0VUI0R29jRzdUSV9uSDZObWxzVG5LS0lwcld3T0taejIydE5wc2VIMWpERU16OHljTEh3MUhVMjdPZ1FpbjhlR2VQb01rZWZDdmZpQzZEM2dIcHRMQzVRS0cyXzFYSk1waTJnYmV5akgtMU5RSWpDbGo4Zl9hQTV4aWpZbGd5VW9VMkpRM01nVWJPeVA2dzV4S3kzY3EweU9nRklkMlNlMXppaHl6VTB6eWkzd1BxRFhwMUtSOUoxYTRPMjE4MDUwdFlVbFZkTUlhYmdqRC1TUk1NNHQ1a2JJcTdhS1RYc3VtNGFGNmd3ejdabUpMTGdsR3J4Z3pRQW1JdG81XzAwUGRFUk50LXMzM0cybG8?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMipARBVV95cUxORXhuMmU0cF8ybkN6YjhTWThNdlNvRnVKWjJiNXpBNG9nbXVaTzVOa1lIeHZrc1BTbmZHNHZJRk1sUnJNUVU3MU1YSkUyZkVsU1VTVnBkbUNYclE1RGx0TUloZHlKWWd4SlFiaFJ1M3B1TDhTemJGVzBTMkVJbWFlNVVTMDcwVXZsSF9ud2tlWW9BZWI2aW5vU0dJNzQxaGxOMl9kYmg1NGtmUHpVVkxJRVB5aTJ3NjFvZThjU3BqMEgtR183MUtFNktxeWNFbGUxWklnRmpwYVVyYVpqQ0tLaTJMejRkTkdHS0pBYXRoOGIzVjkwX3BaZS1oZGZNaHk1YktEenVuVkxIUWlVTFFOZ1NNSWZGbmY4dFd5YlhSTVltMXRvOUc0WE9NSjNrQkc4WlpmcDlTS3BiODJWWHJjYW5BV280VlVLQTQ5YU5nVElmUDA4UVBxS0VleDc0T0JodzM2QWNhUDh6S0k2Q0VLMmpOSzd5WWs0U1dWODA5YkQ0UnVxOHZVTk1YVzFoVnU0WVllYmRXdzdkWXRVckJlVFREbUhORjRMNUFmdmhIc1drRUxiTFJrOWdxZExLZWVwbnRvNjlxbm92aS01YjNHcHdCUS1acHhrVlUyajFEcWN0X2xnTlM0Y0lfeWpaSTlhUnpicmpjSEpUUUttdTFMNGpzQTV5Szl3YmRGTmRvMlBVV3h0RDlMYTRyZWJpMlpiNVdpSw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTFBtamFxcmpoa0RhNUlsM1d3OXRsZEQtWjR6ZjBZelpQVWpNWVRPRHlDTFVHMW91b1h2TjZISjctVEpqRnFOYVNIYmJjY1Zza3pyS1JrVHhNZ094aExHWTZj0gFjQVVfeXFMTlkzTTlBR0JsLWhjOUN2Mm5XYzlHVTlaSTlLRVZHS1BKaEwtTkZWTHliVDYyc045MjB5SUhleWlIQVpyajNjVlRCU1BRc0xJem5UNVYydUhUdVUza1YwRUhVY1JR?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi6ARBVV95cUxPLW00cW9EYXpOSkJVazNQVVJMcnpmR2VRZUYyWUZzdy1Ydlg2VXZKT1ByZWZsUWljamE1Ri0tUE9DbTFSTnk2RUFzc1F4VWVWYkg0SkVkaE9rbDBxcU42Rkw2UHUtbm1JVHktcWw4SHlfYUt5NERQTnAyVk5YMXhLNnhZN3hWNG5vclJ0SzFrcGpNblVsZENlbThocnFXcWR1bUpTdG9tMWxibURRcTMwbGR6Q3dlRXgySmZ3VWYtSGxDdTFMM0FoMDdHN2QtSnQzaExhcWU0Vm56anpsRDhGNXdTTVNST3lsQjBSQUc3TEhvQWQ2YW0yaW5tWk44Yzl3WmRfZGhGMlhNMmVBQUlVS3VGNjJoMU5ORnBKTDRDWmE1bEhhdDR5emFnalFfbzlHNUVUbkRpZmVKTUFmcFpzOUNVblNpNmpCdmJZQmhYbnA2WHhXMko1ZUtfaFBScnNqeTJLY0dla19sNld0N0RTeGswa0d0aFp5bldJRFdYeE9kMHlCblhFeFltM0RPZTNCSW1aOUFjZWFmZzBmeXNPWWxjekJMU2lGd2VTMVRLM1I0WkU4LXluMU1rT1FZV3VzUFZ5ZFhJRTRCYWdDak4tdGRwLUV4N0VPc2ZoSmw1Q05DRnp1VWVEWDhiXy1JS2xPLXRlS011SU5xakQ4T0N5UGVNdVAzYk5vVnI0UGlmTW9wSVIyOFFKYUFKZzR3bzhzaktxeHZtbzZ1SkpZczk4TU83NU1wSlp3MVQ1TjQ0NmtzRXRzVGZjOXRGTlIyOUw1cktTZ2t3dEhMWkR4YWFqQ2tqWVdzRWxD0gHuBEFVX3lxTE1wdDllaklFZ0hZTWpCQ2VPSnRiYndLTU5Bb2ZvSTFZZngtUnFKMHJXc1J0eGVBMXN0b1ZJZ3VfNXdWamRpcE5JSF9oeEJTUUhOT0JOWlZuNy1KXzNwQmY5MnVyNUVILUpBOEtqblBlcDFxM0tKOUhFZm1fa01TcHNFeUJYZHBheHJvejY2MEZGbUVwQ1BBWWVLN3EyWU4xWGVYNmdkUDVjQmEyMElldDRlXzBRUVBtWmlaSjhhTjhSbmRqUHFfRTlZNkRFUzVxRUlFTVJaWWFNN0s4NWl4aU5QQ25TOVdtMm00LXZVZkhUMTE5VU0zY1JJS1dCanF6TUpySzB3Vm1nZHRiR0JmVlZTZ2h2dWwycGk5dm5NUDlacnhpSFZNUncwQnUtNXNsb1M5b0ppM3lnbUpCa3cyRzhOTjYwUDdsbE15YVkzb1Jwc0tUQTlwQ0lTejVqb3BWYzZMN0dwOTRVU3N0bGRFUjBjLWlXSDA1MjI0dGJRbDlobWRvMjdXeVYzbXJCMHY2NGs1Tjd3WmppZUdDN2FTUzlPZnI3NVNzMkdKSWtvdEt0WGsta1Y2aElGODg4S2NxVk1rekIycTJ3dW5nVTNCTmZNLWplVVVpaXdESFg1bFNqTFlNd0JDdTg5bzQzVXFIa1FyRVVHbjNKWm1iS0oza1k0SExwQ2x5c3hNUGp2ODNvR2RFZ0NSTUZzMnFLRHh1M2JRSkVJdlExckZQNElZYTM1WUtROHVxaVl0c2pzOS0zaVhnNk9PWDZRTXhJVVJVcVg5dHM5OEN4c0E4VUVSU0l1UmVqN1BEUzNMU054T3c?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMidkFVX3lxTE13cUJmaEU0MFYyZ2FnTVpDcjJaazZHQndYMWVNNF85WG16cnM3NXpZZUFTVHNPT2EzN2YwM0RfWmVyazRZOEFiWWpDaXhMWmUwa0NfZ25WYkdBejkwaHo0em5qNUotOGMwWGMzZ3lSd2s1VDI2RUHSAXtBVV95cUxOLTBaeEdhZmJRTFRwVDF3YmJpNzhLSHlnLURLYnYxX1ViUDVMUmlKc2N4LUFOdW9WaW1NeUlZalZYVWtMNjlxcmstdms4SjBucG1UQm9RWGxZald1and1NzJBVjNYaFNMMkl2cDBsUXNtbElHWVJ6bFc2VUU?oc=5",
|
||||
"https://www.spa.gov.sa/",
|
||||
"https://news.google.com/rss/articles/CBMiyAJBVV95cUxNUEs0WUJNM244eGtGXzNiQkJVOVlpZjhqanllNnpYN19tZ1A4NFg5LS1fYWhhWUhkd1RLeERZMXp2Q2dyX1VNMEFiekhfcDd1U012aDJCTXkyQldZc3p5Q2RkXzFtZGVGaWlmYVhCUDlQZC1jOVJoOHR5dEJhX0pZZzAzLXdJZF9yS28tWHZsY2dQMjlseFRVekg0OGpYSV9zV2xTYmtoYXNBeFVzampYbzJyUGFRVUxta2t5NFNRZWgxR3lLYUY1X1Z0VVdSbjZWRGdreWtQZ3IyTGtKUkpGZktuZmdaUkVtN0pKQ2xUb0RZNWVFcjlwSWROSmpHQ00tZUZnXzlVMmZLWExPR2hUalltT3B4OEsyV25lQ1FkZnZaVkFvZURka3pmbi1RYmNlenNnY2syZVdQTnVra3pPNVJZVzl1Q0R00gHOAkFVX3lxTFBfQkRmTkVsYkdoX043MmppUGxvYmpCMDRXeFUwc3p6c3BSNGNTdDdZbGxvNERmNU9BQTBPZ0dXUGxvQ3VrV09UcGh0WDdzbmk3eXpXU1I2WTBob0tqMndkTUQ5bXNTMHU2QUtoNTBFSFhaWVBRcDJEbi1SZWhkcEhRYThHck51Z0Q1SWMwTWQwSU4ySnFLeUhibE9RaUU5OXR6NHhud01fVlVybW43dFFGYXh3T2hSSXVkdUp6RE9RQ21pNjdxQ3Z1Wk1SUGMwQ0ZVN2l2RW5UUmNBc2poQ3M4cUNsbjJIeU9fcVBxSlVwSWFJWlJRTEFvYWlFdlFuMnJ5MDFBLUNIU3A0R0JUM3RtdzZnMGwxejlhUUdvVHBFTGxqOG9LVE1QeFJFNTh4c2JGQmppYnlEdzVOVmgxYkFiOWxrbkQwWjRjTXRtUnc?oc=5"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.my.gov.sa/",
|
||||
"https://www.sama.gov.sa/",
|
||||
"https://www.spa.gov.sa/",
|
||||
"https://www.arabnews.com/",
|
||||
"https://www.saudigazette.com.sa/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.straitstimes.com/",
|
||||
"https://www.channelnewsasia.com/",
|
||||
"https://www.gov.sg/",
|
||||
"https://shopee.sg/",
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.channelnewsasia.com/entertainment/bts-livestream-busan-concert-singapore-shaw-theatres-6134296",
|
||||
"https://www.channelnewsasia.com/world/russia-asian-food-sanctions-pop-culture-6135966",
|
||||
"https://www.fairprice.com.sg/",
|
||||
"https://www.dbs.com.sg/"
|
||||
"https://www.channelnewsasia.com/east-asia/starbucks-tank-day-vouchers-south-korea-6135956",
|
||||
"https://www.iras.gov.sg/",
|
||||
"https://www.channelnewsasia.com/east-asia/taiwan-us-arm-sales-pause-iran-war-6135911",
|
||||
"https://www.channelnewsasia.com/entertainment/bts-singapore-concert-ticket-sale-prices-jun-3-6136001",
|
||||
"https://www.channelnewsasia.com/singapore/lta-investigating-man-fall-lrt-track-death-6136006",
|
||||
"https://www.channelnewsasia.com/asia/perikatan-nasional-contest-johor-state-election-pakatan-harapan-barisan-nasional-6136071",
|
||||
"https://www.singpass.gov.sg/",
|
||||
"https://www.channelnewsasia.com/asia/pakistan-inflation-rising-prices-eid-al-adha-cut-spending-6136041",
|
||||
"https://www.channelnewsasia.com/east-asia/china-authorities-demolish-fantastical-ghibli-village-house-6135916",
|
||||
"https://www.channelnewsasia.com/entertainment/jack-neo-stand-up-comedy-live-show-debut-6135941",
|
||||
"https://www.dbs.com.sg/",
|
||||
"https://www.cpf.gov.sg/",
|
||||
"https://www.channelnewsasia.com/business/philippine-central-bank-governor-says-it-considering-cycle-rate-hike-6135886",
|
||||
"https://www.channelnewsasia.com/singapore/ndp2026-ticket-application-ballot-may-23-jun-6-6135906",
|
||||
"https://www.shopee.sg/",
|
||||
"https://www.channelnewsasia.com/singapore/woodlands-tuas-checkpoints-heavy-traffic-june-school-holidays-6135901",
|
||||
"https://www.channelnewsasia.com/singapore/police-patrol-drones-detection-crimes-emergencies-6134241",
|
||||
"https://www.channelnewsasia.com/singapore/tan-see-leng-shanmugam-defamation-low-de-wei-bloomberg-closing-submissions-6133906",
|
||||
"https://www.nus.edu.sg/"
|
||||
],
|
||||
"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.shopee.sg/",
|
||||
"https://www.fairprice.com.sg/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
35
data/regions/TH/Default/Bangkok.json
Normal file
35
data/regions/TH/Default/Bangkok.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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://www.bangkokpost.com/business/general/3258963/copay-unlikely-to-help-big-eateries",
|
||||
"https://www.bangkokpost.com/business/general/3258888/economists-stress-inflation-warning-for-thai-economy",
|
||||
"https://www.bot.or.th/",
|
||||
"https://www.bangkokpost.com/thailand/general/3259170/pattaya-hotel-fire-injures-four-guests-relocated",
|
||||
"https://www.bangkokpost.com/life/travel/3258668/tourists-in-thailand-plan-for-cuts-to-visafree-stays",
|
||||
"https://www.bangkokpost.com/thailand/general/3258928/anutin-departs-for-france",
|
||||
"https://www.bangkokpost.com/business/general/3258868/businesses-warn-of-worker-shortage",
|
||||
"https://www.bangkokpost.com/thailand/general/3258803/three-charged-over-fatal-train-crash",
|
||||
"https://www.thairath.co.th/",
|
||||
"https://www.thaigov.go.th/",
|
||||
"https://www.bangkokpost.com/",
|
||||
"https://www.bangkokpost.com/business/general/3259008/exim-bank-raises-export-growth-projection-to-7",
|
||||
"https://www.set.or.th/",
|
||||
"https://www.bangkokpost.com/thailand/general/3258670/esports-in-thai-schools-to-help-build-digital-human-capital",
|
||||
"https://www.bangkokpost.com/thailand/politics/3258818/premier-backs-privy-council-attendance"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.thaigov.go.th/",
|
||||
"https://www.bot.or.th/",
|
||||
"https://www.set.or.th/",
|
||||
"https://www.bangkokpost.com/",
|
||||
"https://www.thairath.co.th/"
|
||||
]
|
||||
}
|
||||
}
|
||||
46
data/regions/TR/Default/Istanbul.json
Normal file
46
data/regions/TR/Default/Istanbul.json
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"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://www.hurriyet.com.tr/gundem/eski-hatay-buyuksehir-belediye-baskani-savas-mutlak-butlan-davasinda-cikan-karari-degerlendirdi-43180097",
|
||||
"https://www.trendyol.com/",
|
||||
"https://www.hurriyet.com.tr/kelebek/televizyon/kadin-gucunu-anlatiyoruz-43180344",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/gebze-2-sulh-hukuk-mahkemesi-43179484",
|
||||
"https://www.hurriyet.com.tr/gundem/artik-googleda-kontrol-elinizde-hurriyeti-tercih-edilen-kaynaklar-listenize-ekleyin-haberi-aldiginiz-adresi-algoritma-yerine-siz-43172872",
|
||||
"https://www.hurriyet.com.tr/kelebek/televizyon/biraksalar-prenses-leonor-askerlikten-emekli-olacak-sira-ucaktan-atlamaya-geldi-43179558",
|
||||
"https://www.hurriyet.com.tr/yazarlar/sefer-levent/muskin-mars-hayali-icin-wall-streette-milyar-dolarlar-havada-ucusacak-tarihin-en-buyuk-kumari-43180261",
|
||||
"https://www.ziraatbank.com.tr/",
|
||||
"https://www.turkiye.gov.tr/",
|
||||
"https://www.hurriyet.com.tr/kelebek/stil/yururken-cekin-43180347",
|
||||
"https://www.hepsiburada.com/",
|
||||
"https://www.hurriyet.com.tr/",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/izmir-7-sulh-hukuk-mahkemesi-43179390",
|
||||
"https://www.hurriyet.com.tr/gundem/kilicdarogluna-yakin-vekillerden-destek-aciklamasi-kilicdaroglunun-emrinde-yolumuza-devam-edecegiz-43180195",
|
||||
"https://www.hurriyet.com.tr/lezizz/brokoli-salatasi-tarifi-videolu-43070362",
|
||||
"https://www.hurriyet.com.tr/kelebek/hayat/tarkan-son-noktayi-koydu-yeni-marsa-gerek-yok-43178958",
|
||||
"https://www.milliyet.com.tr/",
|
||||
"https://www.hurriyet.com.tr/kelebek/televizyon/oya-unustasi-oyunculuktan-vazgecmistim-43179015",
|
||||
"https://www.hurriyet.com.tr/gundem/chpye-mutlak-butlan-karari-ozele-uzaklastirma-kilicdarogluna-gorev-43180301",
|
||||
"https://www.sahibinden.com/",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/kandira-satis-memurlugu-43179471",
|
||||
"https://www.garantibbva.com.tr/",
|
||||
"https://www.hurriyet.com.tr/gundem/chp-icin-mutlak-butlan-karari-cikti-simdi-ne-olacak-kemal-kilicdaroglu-gorevi-kabul-edecek-mi-4-soru-4-yanit-43180009"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.turkiye.gov.tr/",
|
||||
"https://www.ziraatbank.com.tr/",
|
||||
"https://www.sahibinden.com/",
|
||||
"https://www.trendyol.com/",
|
||||
"https://www.hepsiburada.com/",
|
||||
"https://www.garantibbva.com.tr/",
|
||||
"https://www.hurriyet.com.tr/",
|
||||
"https://www.milliyet.com.tr/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,48 @@
|
||||
{
|
||||
"region_name": "Taiwan - Taipei",
|
||||
"google_module": {
|
||||
"base_lat": 25.0330,
|
||||
"base_lat": 25.033,
|
||||
"base_lon": 121.5654,
|
||||
"lang_params": "hl=zh-TW&gl=TW",
|
||||
"valid_url_suffix": "com.tw"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://zh.wikipedia.org/wiki/Special:Random",
|
||||
"https://tw.yahoo.com/",
|
||||
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE84aGhxcGladEZJMS01Q3RzaWJsS3lBSnJqZG90cWpKMGNXclBZZjN5enFVeWw5MFVHeDFwUDZqaGYtNWMxV1pDNktCeWRERC110gFWQVVfeXFMTndtaG5fOGc5Wml0U09wS3prb1pGMXhLRlF4Ql9sOVpia0ZVQUpxdkhTNW5uVDAtbGE3WVRGR0FRWXlRVkE3WDE4YVhmSmd0YWN4WUFLc3c?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMibEFVX3lxTE9ScEtQazE0am9ra1VuVTB5LWNvOVhJOFRQNnBCMjNrcFQ3RjBLVjFVdWdfbmxBNVQydUZ1dE5CaElHeVZiVnRZV2hMdWI4akpHdktjRkw1N2RvSER1TGJyY0JZNVAya3B4S3BBVA?oc=5",
|
||||
"https://www.dcard.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE1kNFhnMTFudFlwRVFiUGJwd2ZablNMcGdBRlhBOGE2SnQ3YWxpWmNET3dfbVhFX1RuMjR5N29McHNzTzdrdDdqa2szdkFvV2hv0gFWQVVfeXFMTjFyQXNZaUdxWmJkN2pzRlRBSnJ1RlVLcUtoQ2RBdWZlRVQ5Zi1QMjRXSjdlQ01NWDlnYnF6dXBaZzN1cTJPRXlweVFkVDAyemxXMjY3cHc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi_wJBVV95cUxOZ0xRQUtzLTRlRW5kUWROQTJnVUdvR09QR2FsOXIyd3FDb1lfdHoyNVRYMUtjWF9LWGUtVFd2MXhPN1BmOWJ3bzlrS2tJVW9OWXJ2RGtUM2U4TGtYQjZjbWpVTUFLVHl0aUYyX2dMd0ZhdDRJbmFfbk9RR0wyTU1XYmpjZVNvM3dvaVVOYUJaeS1VYWlTMzdLaG4wa2RKZGh3MzZ2ZDhQOEJHZWxGTHlabm5yWXNNV25hemt2UzZBYWF4eUctMjd6S3lrTk0za2RkQURQRWdkdjhoYVZpS1BCYmhvNVRGdHVjb1J2NEJXSEd4MTg5cWVMVFpib0xxVWtkODZFS090R055YktHSXB2dFlfUm9zSm55V000UHY3MFBWQzM5R3hSVFBkS0cwaW1XcUdjdFJVMHN0OURXdjBWRVpueWhPRTQ0NWlfWEw2WXJmZkZYUFlEdUwxSTEtNVJ0R1BvdXlVUGpOSW1PdmJmbVoxVXE3T0dlUmw0bHpHSQ?oc=5",
|
||||
"https://www.pchome.com.tw/",
|
||||
"https://news.google.com/rss/articles/CBMi6AJBVV95cUxPNlVlaldreUZPaWVLTk9XRGFRTzQya055MWNfRjBLYXNqaU16VjhtWmpKbnhEanJwRG5rM1MwWjhsMUc4Q2JETnBoVHBZVU4wWVBxTWFxVjQzSy1OX2VGWmpVUTYxMnJOUGtQOHEtbUQ2OGxBLXRxQjFFbHV4NVZ4VC1qU3NmNnNYSC1DV3NhTTV6bXMxLTJzc0RVR084T3dZS3pkZHFpSjhGbWNJcUZWVEhGLXQ1WnhrSlRWNnBrejRvemVXQkxpT3ZvdTFRZllSTnlGaUVZR05KcDBCVEdxMl9nTnFsYzhTS1VCbTB3dDR5OVUyeGRqSnMtMU5ybUthRkdNc1dVQ0I1N0ZwU3lWVTAzYlMtZ3B2ZEE2VlVpazZqd3BGM19zSWUtUjhVQy1Cd2VLTTFQcmQwUEYzNTZKMUxMSnlET0RqQmhudEFQWDBmdjdpTm81N0d5ZGdyQVpVUkxVcUxKYlo?oc=5",
|
||||
"https://www.gov.tw/",
|
||||
"https://www.cathaybk.com.tw/",
|
||||
"https://www.post.gov.tw/",
|
||||
"https://www.ntu.edu.tw/",
|
||||
"https://tw.yahoo.com/",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTFB5Y29qTlBWNnE3UFRZTEg2VzJxWXZweEtadEJFTWVXU3REaTBYWlpuN1psZ3QwZkF1YXRWWnRiNXhyWjFISnRVS3FndndJYUtXcXFnazhvb2U4eG92aDRn0gFkQVVfeXFMT2FjeGVVVXZoeVRLZ0d4OGZHdm41YkJXUDU3WTRnOHRuQVVIWGowVGdFenZmalZHNUdpRUw4V0VmS1BnMmZqRW1CZko1ZHpWd1lybGpJWDNEVUpXNThYc0c5NjhGVg?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiXEFVX3lxTFBpd2hSN29naGIwTHB3YmlUZlplX09GLTBiQWZQNGlMc1B5amNpSnRYRHlNQ1RTRlVwWms0WFlFMS04Q2NVOTcyNklzQnRjOXpXekdYd053cmlMeFJF0gFiQVVfeXFMUExGRG1uM0JRUHB5SkVGelY3dnJHRzhsNUluU0VTV3c2NWJJODQtV3h0Wk1hWFJYOEMwdllKOUE5TWxxYkNxVDVGTUdZdmJTUE0tWUxHNldELXB1c0dOWURfVXc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiX0FVX3lxTFBxalpQRFlyN2NMaHFuRl9mNTNqNWRNRDI5NHpNU3JINTg2QTBFRDBuVVh0THM2X1FaMG0xYzVYUWItd2JNbEVoX05BaF94bHJYSHY3bklpazF6eHoyamY40gFkQVVfeXFMTnB3N0VIeGFDS1pGM01oekkwM0c3MzVSTkh1eWN1Zl9BT3NudnZmMEdUYVNycW5jaGpBOERLMVVPZjk5MTdsNkd3elhHb2l0M0NnVVlVU2EtUGp6TWxBSzBocnlCRw?oc=5",
|
||||
"https://www.thsrc.com.tw/",
|
||||
"https://www.momoshop.com.tw/",
|
||||
"https://www.ruten.com.tw/",
|
||||
"https://www.mobile01.com/",
|
||||
"https://news.google.com/rss/articles/CBMisgNBVV95cUxQTUxEX25YeWx1Xzd6dHFoRVlFdEROVFlKWVFVdlFGM1o4TXVJQlpCOFBJd3RWU3JMRUpTbThjSWdSbzdXdDRXOFBPQnd1WlNfc1BhaXExMURJdjJiV3NrbHpZLV94ZkVoem0yeGxRbU05bWt4U0R4SEswNUF0YUJMWmlTV2JXZFVMbHBKVXdtZWs2SVlGNFZDMEhSeFZTeVFtamhaSnBwZnEzcm41Q3lzTGJLbjVLMk1ySURROXM1bDZoeGswWndhMG91ODZxM29iS0hMTXA1ai1PVkRPWk5WQlU4OHBRMlpGLVhuNGc0ZzBpQzczYkRmbG5NdGtKNy16RU9sWjRPRnpKZXFQekl1dDlZRVY4U3BHVktGc0VGWTNCNURmNHJELVpWLVlaMC1wY3o3d3prM0FoeUVieG1rZmtqNlUyTXAxNU9FVnpOeS11aGZKY2JXNVg0dU5SeF9FbHVaRFowbFdfZmZOanRpbklrMy12QlowdWUzY1k0eUwtSFB2aGxXTDlTeDJPem1jTzZuZ2d1ZXBlMW05TXEwWlBMYmx0c1FHd0cyZm1LamlEdw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiTkFVX3lxTFBsNFFaRy1BWGdMNkYtOVh5ZjhjbG9oSC05Q0owckJxTmtROXczeW1VUVpPYzFVY3dJbFNWSFZHalpGeTE3dWotUTVkZjBHd9IBakFVX3lxTE5Da08yakZWTGNyQ2hZRG82bVlZcHBWTnFmUnVXVGZJdzhwWkM5VTR1NGphSlI1S1BBLTl5Mkt3amRObzVmazBvVy1rTzlENlVPMTA0RV9HaC1DRVJodVAyYTJaX1V0OEpsZ0E?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiTkFVX3lxTFAtNk9WNHRFeHNfV0JkT2M1QXZMSEVsVXVVYU1xWmxoVXc2eUNHU2NLXzg2ZFVKbjdRMG1hT1prRjRDU3hyM3dzUWRNVGdWZw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMijwRBVV95cUxOcjJKREQxU3pmMEhKSzNTN2xuR0Q0RFIxdWt1aGwtZDFlX09KTVVoOS1vWHZibWRmeEF1cG96ckQxRlEzNHBJWEdMOVEyZ3F0c0NLTFJDNzhlUXFvWnVoWURhYVdIUHdVRDJPZHR1TUJaR3V3alNfeEk4UGtQWVRELVBxMXRfU2tiNmF4YUVtcUxqNEF2MlpnQmZrdlJFWFprMVpYLUV0WnNLVEVnakhIYVNNUGRvdlBuVnVJTXo2S1Q2QjdmSURNOF9HaW9pOW02OUwzQzN5RG91NFlycnlJUExFS3AtWkRfdjZZdDZWNUdWQW1fRTJzRUxNSjRnNmJuRGtoeUptOW5DV0FfOGk1SFFCMzh2RGRCZHRfTW12U2R0eFpFX2NCQV84TzFEZDRqYUJsWWdvdjBMUnVmUUN0WTA3RGdHdHpPellzMFg3UkdEUHcxTnpQVDhndU5YTlRXTmFObzdQYkgyRWlQRG9EZVEzak9JMUNpQXFqV1JuMUR5bk1fXy1PWDc1djdvZWZBOWU0UlFWSGxyZEhwWXE2ckY2akJWeWxLSVZpRGdIWVdSc2g2UkFpZU5lVElwRnkyNG5OSFYzSUdxNVp3UUM3dGtiMXhDZU5TNkVMVUpPTE5JUXdiNS1iYzZSNDhvdmY1ZkhHdVZnanRxRnNiYWJjci1Ja0FQa3VSTFBpZ1BWNA?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMinwNBVV95cUxPSkRjbjBwcVdpOGNZY0pPY3k4dWpwQWRPTEJIdU9FNDNiYXFzR1MySjg3ajlTSEVCVXB2OHRPS0Rkd1VKRHNodEh5RkkzeVd6TzdDa1VxMzZxV19CbXZKV1VOV1NmNUNRUHJoS1AzZ2M5TjdzSkV5NGNMYlh3Q3FsQ21IVWV0clF2Q3FYQ3pIeUFjMU9WdTVyb2xNS0l1R043dGxPazZZRi16MHlaSENzVWxmeC1sUE1MRmFLU0JoV250NEIwaTE0QXlKTEp1cW0zeTYyYmJDNF9HTzIwdDFtLW4tOTdaU3dHSnBiT054c0NiRUFWZVNDMGdPWDFHcjVkWlVSU3h4WElXbEdzVHh3blJFTkRFX1JtWEx5Y1Brem1BVURuTl9oUk9YSEJDRl9DZWQ4eGZWbkVOWGxET3NjTkQ2ajBFM1B2XzYzNjNjT2c5SmduVjR6OFBBRXJoOGNVUmZXaG9fckxVa2Y1aVZXQUZWT2FqdVdOdGEzUml4ZjU5UGJrcjVRSE1CV1VTTG1qMHZQMUV4RHdlcDBnY1I4?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiZkFVX3lxTFA4U1RZaEpuVkRreU1QdXljSGZKNHF3TWprNDNTcmVkRE1Ka2VrMS1XYXg4VnF5MlZ5azh3VklGSmpXTE5laVh4NkZ4ZlZfb3pxckhVN0dITnFMSEVmVDM3Z1c1VTVOZ9IBa0FVX3lxTE5yWnlZZDJTbVJYRTNuQnd1R0dGbFNmdlpMWlRqSjlMV0JVNHhEYjQ5QzdCOF9NbEsxQzFJYnhJd3VlbmM0WDcwUC1JelRzalEtT19GbXZwWjltMkktWTZiSG84eEk4VUxsQ0lF?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMivwNBVV95cUxOby1XLXNhZndzSkxMMHhVa1VQT3hjTFZ6eWFTUnpDTmRvRzhRV2F2aGJfSlF5aWhVOUpJd0VlV0d4T0w3bEk5NUEtdjRVZ3BIa014REZuZDE1bDFZTUZiUTQtaXhvV004Zmw3ckJXX1ozYUt1d3RvaDl2cWk3MjB5emhhQURxYWlKX3piNWlWUTU4SmV1T0lMaG1zMTQwSjV1WkxwRWg2VW5uZ016TUljZ2d2T2Rlb0ZiYk1zSDBXbmZGbk1pa3hHLVFIV0U3bWZvY1Vlc0g1S1ROcF8xbG40TS0zV3Jybnh6eGQzQmd6YWE3NHZjVFhrSXo4Sy1iS2xoWUdxUU5nN0ZyU3dFN05TNk5PbkFzMzBvQVc5U3MxQXN5bmkzVXZrcjlWM0VBTEd4dDBRSTBlQWZOaTdEWEswMC0wc2NiQWJrTGo2TkUtcjBoTWtiVEdqZXc3RTlEWGFZQXBralBtaG5WaWRIaks2TF9hSzEyNlFyX1IzaXdCaWFOVElHRllyX3hxUkFNLTNCb1V0dkkyWTZnNDcwdmpVdGh2OFVYTm5PdURNZjdUbDA3OF9lU3VSVng1WGxITVE?oc=5"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.tw/",
|
||||
"https://www.post.gov.tw/",
|
||||
"https://www.ntu.edu.tw/",
|
||||
"https://www.cathaybk.com.tw/",
|
||||
"https://www.thsrc.com.tw/",
|
||||
"https://tw.yahoo.com/",
|
||||
"https://www.momoshop.com.tw/",
|
||||
"https://www.pchome.com.tw/",
|
||||
"https://www.dcard.tw/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,10 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.bbc.co.uk/",
|
||||
"https://www.nhs.uk/",
|
||||
"https://www.bbc.com/sport/football/articles/c1k2g782m1ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.ebay.co.uk/",
|
||||
"https://www.bbc.co.uk/news/10628994?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.barclays.co.uk/",
|
||||
"https://www.nationalrail.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c707l2jx0z4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cx21gnlx0w1o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/ce9py7nx8j4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.ox.ac.uk/",
|
||||
"https://www.gov.uk/",
|
||||
"https://www.bbc.com/news/articles/c0j2q988x17o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c4gv0qg2levo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c93xv27kpwxo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cp3p7yzgq4no?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c4g0ryrewdxo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.amazon.co.uk/",
|
||||
"https://www.theguardian.com/uk"
|
||||
"https://www.bbc.com/news/articles/clyp2lrpxm0o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c04216r5n07o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c0l2x5351n4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/clypx2pr52qo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/ckgpzwkn5jko?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.postoffice.co.uk/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.uk/",
|
||||
"https://www.nhs.uk/",
|
||||
"https://www.ox.ac.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,39 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.bbc.co.uk/",
|
||||
"https://www.gov.uk/",
|
||||
"https://www.barclays.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c4gv0qg2levo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.amazon.co.uk/",
|
||||
"https://www.theguardian.com/uk",
|
||||
"https://www.bbc.com/sport/football/articles/c1k2g782m1ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/clyp2lrpxm0o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c0j2q988x17o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c4g0ryrewdxo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.ebay.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c707l2jx0z4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.nationalrail.co.uk/",
|
||||
"https://www.postoffice.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c0l2x5351n4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c93xv27kpwxo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/clypx2pr52qo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.ox.ac.uk/",
|
||||
"https://www.bbc.com/news/articles/c04216r5n07o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.gov.uk/",
|
||||
"https://www.bbc.com/news/articles/cx21gnlx0w1o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.nhs.uk/",
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.bbc.com/news/articles/ce9py7nx8j4o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cp3p7yzgq4no?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/ckgpzwkn5jko?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.co.uk/news/10628994?at_medium=RSS&at_campaign=rss"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.gov.uk/",
|
||||
"https://www.nhs.uk/",
|
||||
"https://www.ox.ac.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
50
data/regions/US/AZ/Phoenix.json
Normal file
50
data/regions/US/AZ/Phoenix.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.yahoo.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.npr.org/",
|
||||
"https://www.weather.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cdc.gov/"
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/CA/Ontario.json
Normal file
50
data/regions/US/CA/Ontario.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,14 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.yahoo.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.npr.org/",
|
||||
"https://www.weather.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.usps.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.mercurynews.com/"
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"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/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
50
data/regions/US/CO/Boulder.json
Normal file
50
data/regions/US/CO/Boulder.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/FL/Miami.json
Normal file
50
data/regions/US/FL/Miami.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/GA/Atlanta.json
Normal file
50
data/regions/US/GA/Atlanta.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.target.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
38
data/regions/US/HI/Honolulu.json
Normal file
38
data/regions/US/HI/Honolulu.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"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.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.staradvertiser.com/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.hawaii.gov/",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.hawaiinewsnow.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://health.hawaii.gov/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.hawaii.gov/",
|
||||
"https://health.hawaii.gov/",
|
||||
"https://www.staradvertiser.com/",
|
||||
"https://www.hawaiinewsnow.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/IA/Council_Bluffs.json
Normal file
50
data/regions/US/IA/Council_Bluffs.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Warrenville",
|
||||
"google_module": { "base_lat": 41.8164, "base_lon": -88.1748, "lang_params": "hl=en&gl=US", "valid_url_suffix": "com" },
|
||||
"trust_module": { "white_urls": [ "https://en.wikipedia.org/wiki/Special:Random", "https://www.yahoo.com/", "https://www.target.com/", "https://www.npr.org/", "https://www.weather.com/", "https://www.amazon.com/", "https://www.cdc.gov/" ] }
|
||||
}
|
||||
"google_module": {
|
||||
"base_lat": 41.8164,
|
||||
"base_lon": -88.1748,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.chase.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.usps.com/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.usa.gov/"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/KS/Kansas_City.json
Normal file
50
data/regions/US/KS/Kansas_City.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"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.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.chase.com/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Charlotte",
|
||||
"google_module": { "base_lat": 35.2271, "base_lon": -80.8431, "lang_params": "hl=en&gl=US", "valid_url_suffix": "com" },
|
||||
"trust_module": { "white_urls": [ "https://en.wikipedia.org/wiki/Special:Random", "https://www.yahoo.com/", "https://www.target.com/", "https://www.npr.org/", "https://www.weather.com/", "https://www.amazon.com/", "https://www.cdc.gov/" ] }
|
||||
}
|
||||
"google_module": {
|
||||
"base_lat": 35.2271,
|
||||
"base_lon": -80.8431,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.usps.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.target.com/"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/NJ/Newark.json
Normal file
50
data/regions/US/NJ/Newark.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - New Jersey (Newark)",
|
||||
"google_module": {
|
||||
"base_lat": 40.7357,
|
||||
"base_lon": -74.1724,
|
||||
"lang_params": "hl=en-US&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.chase.com/",
|
||||
"https://www.zillow.com/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Las Vegas",
|
||||
"google_module": { "base_lat": 36.1699, "base_lon": -115.1398, "lang_params": "hl=en&gl=US", "valid_url_suffix": "com" },
|
||||
"trust_module": { "white_urls": [ "https://en.wikipedia.org/wiki/Special:Random", "https://www.yahoo.com/", "https://www.target.com/", "https://www.npr.org/", "https://www.weather.com/", "https://www.amazon.com/", "https://www.cdc.gov/" ] }
|
||||
}
|
||||
"google_module": {
|
||||
"base_lat": 36.1699,
|
||||
"base_lon": -115.1398,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.target.com/",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.usps.com/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.usa.gov/"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/NY/New_York.json
Normal file
50
data/regions/US/NY/New_York.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - New York",
|
||||
"google_module": {
|
||||
"base_lat": 40.7128,
|
||||
"base_lon": -74.006,
|
||||
"lang_params": "hl=en-US&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/OH/Columbus.json
Normal file
50
data/regions/US/OH/Columbus.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Ohio (Columbus)",
|
||||
"google_module": {
|
||||
"base_lat": 39.9612,
|
||||
"base_lon": -83.0007,
|
||||
"lang_params": "hl=en-US&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.target.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/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.homedepot.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Bend",
|
||||
"google_module": { "base_lat": 44.0582, "base_lon": -121.3153, "lang_params": "hl=en&gl=US", "valid_url_suffix": "com" },
|
||||
"trust_module": { "white_urls": [ "https://en.wikipedia.org/wiki/Special:Random", "https://www.yahoo.com/", "https://www.target.com/", "https://www.npr.org/", "https://www.weather.com/", "https://www.amazon.com/", "https://www.cdc.gov/" ] }
|
||||
}
|
||||
"google_module": {
|
||||
"base_lat": 44.0582,
|
||||
"base_lon": -121.3153,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.usa.gov/",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.usps.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.bankofamerica.com/"
|
||||
],
|
||||
"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.target.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.usps.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
50
data/regions/US/TX/Dallas.json
Normal file
50
data/regions/US/TX/Dallas.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Dallas",
|
||||
"google_module": {
|
||||
"base_lat": 32.7767,
|
||||
"base_lon": -96.797,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/audio/podcasts/the-assignment/episodes/42a2f0e2-066a-4675-82ff-afe2016a0bb5",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/18/health/fda-bivalent-booster-additional-doses/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/videos/us/2023/04/18/jeremy-renner-snowplow-accident-bodycam-nc-melas-contd-vpx.cnn",
|
||||
"https://www.texas.gov/",
|
||||
"https://www.cnn.com/2023/04/17/health/rise-type-2-diabetes-global-wellness/index.html",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/2023/04/17/entertainment/jamie-foxx-remains-hospitalized/index.html",
|
||||
"https://www.cnn.com/2023/04/17/tech/google-ai-search-engine-stock-drop/index.html",
|
||||
"https://www.npr.org/2026/05/22/nx-s1-5830999/rubio-diplomacy-cuba-trump-military-action",
|
||||
"https://www.foxnews.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.nytimes.com/",
|
||||
"https://www.dallasnews.com/",
|
||||
"https://www.cnn.com/",
|
||||
"https://www.cnn.com/2023/04/18/opinions/2024-presidential-election-alternative-voters-lieberman",
|
||||
"https://www.cnn.com/cnn-underscored/fashion/mens-spring-fashion-style-guide?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/travel/article/southwest-airlines-flight-delays/index.html",
|
||||
"https://www.cnn.com/2023/04/17/economy/china-gdp-q1-2023-intl-hnk/index.html",
|
||||
"https://www.npr.org/2026/05/21/nx-s1-5827015/american-passenger-order-hantavirus-quarantine",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/money/how-to-file-taxes?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/health/teen-misuse-adhd-meds-wellness/index.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.texas.gov/",
|
||||
"https://www.dallasnews.com/",
|
||||
"https://www.cnn.com/",
|
||||
"https://www.foxnews.com/",
|
||||
"https://www.nytimes.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.bankofamerica.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user