mirror of
https://github.com/hotyue/IP-Sentinel.git
synced 2026-05-11 06:49:40 +08:00
Compare commits
220 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
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:
|
||||
|
||||
37
README.md
37
README.md
@@ -5,6 +5,7 @@
|
||||

|
||||
|
||||
> **一个极度轻量、零感知、支持中枢遥控的 VPS IP 自动化养护与区域纠偏引擎。**
|
||||
> **💡 提示:如果本项目提升了您的节点稳定性,请点击右上角点亮 🌟 Star!您的支持是我们持续研发和维护指纹库的核心动力。**
|
||||
|
||||
📢 官方战术交流频道: 🛰️ [IP-Sentinel Matrix](https://t.me/IP_Sentinel_Matrix)
|
||||
|
||||
@@ -12,15 +13,18 @@
|
||||
|
||||
## ✨ 核心极客特性 (Core Architecture)
|
||||
|
||||
- 🎛️ **扁平化指挥矩阵 (Flat Command Matrix)**:[v3.6.1 重构] 引入扁平化 L0-L3 四级战区降维视图与双轨身份制。深度定制 Inline Keyboard 逃生舱交互,支持在统一哨兵终端进行原位丝滑重绘 (In-place UI Edit),实现毫秒级模块热启停与日志抓取,彻底告别刷屏烦恼。
|
||||
- 🔄 **全栈零信任 OTA 引擎 (Zero-Trust OTA Upgrade)**:首创双端物理熔断机制。长官可通过私有中枢,一键向全舰队下发静默热重载指令;更支持**「司令部金蝉脱壳」**,中枢大脑可在此面板自我抛出幽灵进程进行免交互直装覆盖,实现真正的全栈去 SSH 化运维。
|
||||
- 🛡️ **SSOT 溯源与热更新装甲 (Smooth Upgrade Engine)**:全系脚本彻底消灭硬编码,部署时动态抓取云端版本信标。自带状态机嗅探逻辑与防撞甲探测,即使是手动在终端运行安装,也仅需回车瞬间完成配置继承、数据同步与无损换代。
|
||||
- 🗺️ **全球拓扑矩阵与活体词库 (Global Nexus)**:守护版图横跨亚欧美三大洲。接入 GitHub Actions 云端流水线,每日静默同步全球各大区当日 Google 真实热搜榜单与高权重本土站点,让伪装行为永远贴合当地网络脉搏。
|
||||
- 👻 **资产持久化与错峰调度 (Hash-Seeded Persona)**:摒弃随机抽取指纹,基于节点物理 IP 哈希永久锁定 3 个绝对专属设备,完美构建高权重真实家庭内网画像。叠加按需智能分频与随机防并发休眠,化解“惊群效应”。
|
||||
- 🖧 **底层路由死锁与高精度探针 (Hard-Bind Routing)**:底层探测引擎强力接管 curl 核心参数 (`--interface`),将发出的每一滴伪装流量死死绑定在物理网卡或隧道 IP 上。配合多级 ISP 容灾链路,彻底杜绝双栈环境下的流量溢出与 API 误判。
|
||||
- 📊 **深海声呐全维探针 (Deep Sea Sonar 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+ 带绝对物理分区的真实终端设备数据。
|
||||
- 🏭 **全自动云端军工厂 (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 的全透明计数中枢,绝对零隐私收集,仅作原子累加,底层网关源码全开源。
|
||||
@@ -32,8 +36,8 @@
|
||||
```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 大洲战区拓扑)
|
||||
@@ -45,6 +49,7 @@
|
||||
```
|
||||
|
||||
## 🚀 极速部署 (Quick Start)
|
||||
> 🛡️ **跨平台装甲支持**:Debian / Ubuntu / CentOS / RHEL / Alpine Linux / Arch Linux
|
||||
系统现提供两种接入模式,请根据您的战术需求选择:
|
||||
|
||||
### 🔹 模式 A:私有独立模式 (全自主、强烈推荐)
|
||||
@@ -53,13 +58,14 @@
|
||||
> ☢️ **核按钮系统已就绪**:采用私有部署,您将解锁 **OTA 远程静默升级** 权限!所有私有前线节点均可通过您的 TG 面板实现一键全网代码热重载换代!
|
||||
|
||||
- **部署 Master (中枢大脑)**:找一台 VPS 作为司令部(仅需部署一台),执行:
|
||||
- [官方部署教程](https://blog.iot-architect.com/engineering-practice/ip-sentinel-master-deployment-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/master/install_master.sh -o /tmp/ins_master.sh && sudo bash /tmp/ins_master.sh
|
||||
```
|
||||
- 部署 Agent (边缘哨兵):在需要养护的机器上执行 Agent 脚本,安装时选择私有独立中枢,并分别输入您自建机器人的 [Token](https://blog.iot-architect.com/engineering-practice/create-private-telegram-bot-via-botfather) 以及您的个人 [Chat ID](https://blog.iot-architect.com/engineering-practice/get-telegram-personal-id-via-userinfobot) :
|
||||
|
||||
- [官方部署教程](https://blog.iot-architect.com/engineering-practice/ip-sentinel-installation-and-upgrade-guide/)
|
||||
```Bash
|
||||
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
|
||||
```
|
||||
- 激活节点:安装完成后,您的手机会收到一条 #REGISTER# 注册暗号,将其转发给您自己的机器人即可完成编队入库。
|
||||
|
||||
@@ -69,9 +75,9 @@ bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/core/i
|
||||
- 关注机器人:在 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
|
||||
```
|
||||
- 激活节点:同上,将收到的暗号转发给官方机器人即可。
|
||||
|
||||
@@ -124,6 +130,9 @@ bash <(curl -sL https://raw.githubusercontent.com/hotyue/IP-Sentinel/legacy/core
|
||||
|
||||
如果你想为项目增加新的节点区域(例如德国、英国、大洋洲等),或者提供更丰富的本土化搜索词库,非常欢迎提交 Pull Request!
|
||||
|
||||
|
||||
> - 感谢 @xykt 本项目IP质量检测采用[xykt/IPQuality](https://github.com/xykt/IPQuality) 脚本!
|
||||
|
||||
**💡 全球节点贡献规范:**
|
||||
1. 在 `data/regions/国家代码/省州代码/` 目录下新增对应城市的配置 `.json`。
|
||||
2. 在 `data/keywords/` 目录下新增或完善配套国家的词库 `kw_XX.txt`。
|
||||
|
||||
@@ -40,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
|
||||
@@ -71,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
|
||||
@@ -79,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'):
|
||||
@@ -108,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")
|
||||
@@ -118,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')
|
||||
@@ -129,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()
|
||||
@@ -151,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")
|
||||
@@ -165,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")
|
||||
@@ -178,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':
|
||||
@@ -211,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]
|
||||
@@ -370,17 +416,48 @@ class AgentHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.end_headers()
|
||||
self.wfile.write(b"Action Accepted: trigger_ota\n")
|
||||
|
||||
# [修复] 逃逸 Systemd Cgroup,防止 Agent 在升级时被同归于尽机制误杀
|
||||
# [修复] 逃逸 Systemd Cgroup,并引入 bash -n 语法树校验防砖机制
|
||||
import shutil
|
||||
import base64
|
||||
# 动态提取部署时的源地址,废除强制写死 main 分支,保障隔离测试环境
|
||||
repo_url = "https://raw.githubusercontent.com/hotyue/IP-Sentinel/main"
|
||||
ota_cmd = f"export SILENT_OTA='true'; curl -fsSL {repo_url}/core/install.sh -o /tmp/ota_agent.sh && bash /tmp/ota_agent.sh > /opt/ip_sentinel/logs/ota_upgrade.log 2>&1"
|
||||
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 \"{ota_cmd}\""
|
||||
full_cmd = f"systemd-run --quiet --no-block bash -c \"echo '{ota_script_b64}' | base64 -d | bash\""
|
||||
else:
|
||||
full_cmd = f"nohup bash -c \"{ota_cmd}\" &"
|
||||
full_cmd = f"nohup bash -c \"echo '{ota_script_b64}' | base64 -d | bash\" >/dev/null 2>&1 &"
|
||||
|
||||
subprocess.Popen(full_cmd, shell=True)
|
||||
# 彻底统一为 os.system,消灭最后一个可能游离的 Popen 僵尸进程
|
||||
os.system(full_cmd)
|
||||
|
||||
except Exception as e:
|
||||
self.send_response(500)
|
||||
@@ -398,9 +475,18 @@ import socket
|
||||
# ================== [v3.0.3 变更: 引入多线程模型抵抗 Slowloris 攻击] ==================
|
||||
class ThreadedServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
||||
allow_reuse_address = True # 开启端口复用,防止热重启时端口冲突
|
||||
|
||||
# [核心修复] 显式关闭 V6ONLY 参数,治愈大量云主机纯双栈下的 IPv4 耳聋现象
|
||||
def server_bind(self):
|
||||
if self.address_family == socket.AF_INET6:
|
||||
try:
|
||||
self.socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
|
||||
except Exception:
|
||||
pass
|
||||
super().server_bind()
|
||||
|
||||
try:
|
||||
# 1. 优先尝试监听双栈/IPv6 (大多数 Linux 默认支持 IPv4 映射接入)
|
||||
# 1. 优先尝试监听双栈/IPv6
|
||||
ThreadedServer.address_family = socket.AF_INET6
|
||||
httpd = ThreadedServer(("::", PORT), AgentHandler)
|
||||
except Exception:
|
||||
@@ -408,6 +494,21 @@ except Exception:
|
||||
ThreadedServer.address_family = socket.AF_INET
|
||||
httpd = ThreadedServer(("0.0.0.0", 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:
|
||||
httpd.serve_forever()
|
||||
except Exception as e:
|
||||
|
||||
421
core/install.sh
421
core/install.sh
@@ -14,17 +14,22 @@ if [ "$EUID" -ne 0 ]; then
|
||||
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://raw.githubusercontent.com/hotyue/IP-Sentinel/v3.6.2-rc"
|
||||
|
||||
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() {
|
||||
@@ -35,7 +40,7 @@ version_lt() {
|
||||
echo -e "\n[1/7] 正在探测并安装基础环境依赖 (curl, jq, cron, procps, python3)..."
|
||||
|
||||
# 定义必须检测的核心命令
|
||||
REQUIRED_CMDS=("curl" "jq" "crontab" "pgrep" "python3")
|
||||
REQUIRED_CMDS=("curl" "jq" "crontab" "pgrep" "python3" "openssl")
|
||||
MISSING_CMDS=()
|
||||
|
||||
# 基础探测:预检查缺失的命令
|
||||
@@ -53,40 +58,46 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
# Debian / Ubuntu 系列
|
||||
apt-get update -y >/dev/null 2>&1
|
||||
apt-get install -y curl jq cron procps python3 >/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"
|
||||
command -v dnf >/dev/null 2>&1 && PKG_MGR="dnf"
|
||||
$PKG_MGR install -y curl jq cronie procps-ng python3 >/dev/null 2>&1
|
||||
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
|
||||
# [核心修复 Issue #21] Alpine Linux 系列
|
||||
# Alpine 本身就是极致精简,无需特殊参数
|
||||
echo "Alpine 探测到系统类型为 Alpine Linux,正在执行轻量级安装..."
|
||||
apk add --no-cache curl jq dcron procps python3 bash >/dev/null 2>&1
|
||||
# Alpine 下必须手动创建 cron spool 目录并启动 crond
|
||||
# [修复] 新版 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
|
||||
# [核心修复 Issue #250] Arch Linux 系列
|
||||
pacman -Sy --noconfirm curl jq cronie procps-ng python >/dev/null 2>&1
|
||||
# Arch 下某些 cronie 实现可能缺少 /root/.cache 权限,做个兼容保障
|
||||
# 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 curl jq cron procps python3\033[0m"
|
||||
echo -e " CentOS/RHEL: \033[36myum install -y curl jq cronie procps-ng python3\033[0m"
|
||||
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq dcron procps python3 bash\033[0m"
|
||||
echo -e " Arch Linux: \033[36mpacman -Sy curl jq cronie procps-ng python\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
|
||||
|
||||
@@ -104,9 +115,8 @@ 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
|
||||
@@ -131,10 +141,10 @@ else
|
||||
|
||||
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"
|
||||
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
|
||||
|
||||
@@ -163,26 +173,30 @@ else
|
||||
fi
|
||||
|
||||
# ================== [v3.1.1/v3.2.2 优化: 安装前环境纯净度清理] ==================
|
||||
echo -e "\n⏳ 正在清理旧版守护进程与冗余任务..."
|
||||
# [新增] 优雅停止 Systemd 服务,防止代码替换时引发无限复活风暴
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl stop ip-sentinel-runner.timer ip-sentinel-updater.timer ip-sentinel-report.timer ip-sentinel-agent-daemon.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
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
|
||||
# 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"
|
||||
|
||||
# 2. 清除系统定时任务 (Cron) 中的旧版条目 (安全容错版)
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_clean || true
|
||||
[ -f /tmp/cron_clean ] && crontab /tmp/cron_clean 2>/dev/null
|
||||
rm -f /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 "🗑️ 历史日志已按指令清空。"
|
||||
@@ -205,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}
|
||||
@@ -219,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}
|
||||
@@ -236,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=()
|
||||
@@ -248,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]}"
|
||||
@@ -256,11 +270,11 @@ 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=(); CITY_NAME_MAP=()
|
||||
@@ -269,7 +283,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
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]}"
|
||||
@@ -277,7 +291,7 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
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"
|
||||
@@ -317,11 +331,12 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
# [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: " USER_TOKEN
|
||||
|
||||
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 不能为空,请重新输入您的 Bot Token: " USER_TOKEN
|
||||
read -p "⚠️ Token 不能为空或包含非法字符,请重新输入: " RAW_TOKEN
|
||||
USER_TOKEN=$(echo "$RAW_TOKEN" | tr -cd 'a-zA-Z0-9_:-')
|
||||
done
|
||||
|
||||
TG_TOKEN="$USER_TOKEN"
|
||||
@@ -344,7 +359,9 @@ if [ "$UPGRADE_MODE" == "false" ]; then
|
||||
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 (必须准确,否则无法联控): " CHAT_ID
|
||||
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"
|
||||
@@ -402,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,请选择要注册与养护的锚点:"
|
||||
@@ -576,7 +594,8 @@ 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 的情况,无损补齐
|
||||
@@ -605,43 +624,69 @@ if [ "$UPGRADE_MODE" == "true" ]; then
|
||||
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
|
||||
|
||||
# 拉取热数据与词库
|
||||
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
|
||||
|
||||
# 7. 配置系统定时任务 (高频调度与看门狗)
|
||||
echo -e "\n[7/7] 正在注入系统守护进程与调度器..."
|
||||
|
||||
# [v3.3.0 新增] 初始化 UA 指纹库更新时间戳,确立 30 天滚动周期的计算锚点
|
||||
echo $(date +%s) > "${INSTALL_DIR}/core/.ua_last_update"
|
||||
# [时钟同步核心] 获取部署时的绝对 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 环境,正在部署原生守护服务..."
|
||||
@@ -665,8 +710,8 @@ EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Runner Service
|
||||
[Timer]
|
||||
OnBootSec=10
|
||||
OnUnitActiveSec=30min
|
||||
# [频率优化] 改用严格的 20 分钟步进,杜绝 OTA 瞬间的并发走火!
|
||||
OnCalendar=*:0/20
|
||||
RandomizedDelaySec=180
|
||||
Persistent=true
|
||||
Unit=ip-sentinel-runner.service
|
||||
@@ -693,7 +738,8 @@ EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Updater Service
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 03:00:00
|
||||
# [绝对 UTC 锚点] 每天精确在部署的时刻触发,实现全球请求的天然削峰
|
||||
OnCalendar=*-*-* ${DEPLOY_UTC_HOUR}:${DEPLOY_UTC_MIN}:00 UTC
|
||||
Persistent=true
|
||||
Unit=ip-sentinel-updater.service
|
||||
[Install]
|
||||
@@ -723,7 +769,8 @@ EOF
|
||||
[Unit]
|
||||
Description=Timer for IP-Sentinel Telegram Report Service
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 08:00:00
|
||||
# [绝对 UTC 锚点] 全球统一:每天 UTC 16:00 准时向司令部发送战报
|
||||
OnCalendar=*-*-* 16:00:00 UTC
|
||||
Unit=ip-sentinel-report.service
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -749,28 +796,131 @@ WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# [修复竞态]: 提前写入公网 IP 缓存,阻断重复推送
|
||||
echo "$SAFE_PUBLIC_IP" > "${INSTALL_DIR}/core/.last_ip"
|
||||
# 强制使用无参数 curl 裸奔探测,对齐 agent_daemon 的认知,防止双栈机型 IPv4/v6 认知错乱导致重启误报
|
||||
DAEMON_IP=$( (curl -s -m 5 api.ip.sb/ip || curl -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' )
|
||||
[ -n "$DAEMON_IP" ] && echo "$DAEMON_IP" > "${INSTALL_DIR}/core/.last_ip" || echo "$(echo "$SAFE_PUBLIC_IP" | tr -d '[]')" > "${INSTALL_DIR}/core/.last_ip"
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now ip-sentinel-report.timer
|
||||
systemctl enable --now ip-sentinel-agent-daemon.service
|
||||
fi
|
||||
else
|
||||
echo "💡 未检测到 Systemd (可能是 Alpine Linux),回退到 Cron 调度模式..."
|
||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_backup || true
|
||||
echo "*/30 * * * * ${INSTALL_DIR}/core/runner.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
echo "0 3 * * * ${INSTALL_DIR}/core/updater.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
echo "0 8 * * * ${INSTALL_DIR}/core/tg_report.sh >/dev/null 2>&1" >> /tmp/cron_backup
|
||||
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 &
|
||||
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
|
||||
[ -f /tmp/cron_backup ] && crontab /tmp/cron_backup 2>/dev/null
|
||||
rm -f /tmp/cron_backup
|
||||
fi
|
||||
|
||||
# ================== [v3.4.0 核心: 状态机驱动的热更新路由] ==================
|
||||
if [[ -n "$TG_TOKEN" ]] && [[ -n "$CHAT_ID" ]]; then
|
||||
@@ -784,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
|
||||
|
||||
@@ -823,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"
|
||||
@@ -850,7 +1004,7 @@ else
|
||||
echo "🎉 边缘节点 (Agent) 部署流程彻底完成!"
|
||||
fi
|
||||
echo "📍 你的本地守护区域已锁定为: $REGION_NAME"
|
||||
echo "⚙️ 哨兵现已开启 [每30分钟] 的高频高拟真养护循环。"
|
||||
echo "⚙️ 哨兵现已开启 [每20分钟] 的高频高拟真养护循环。"
|
||||
if [[ -n "$TG_TOKEN" ]]; then
|
||||
echo "📡 Webhook 监听已启动 (端口: $AGENT_PORT) 并向中枢发送了注册请求。"
|
||||
|
||||
@@ -880,12 +1034,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]8;;\033\\\033[0m"
|
||||
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
|
||||
|
||||
@@ -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,133 @@ 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))
|
||||
SLEEP_TIME=$((90 + 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 echo "$YT_PR_HTML" | grep -q 'www.google.cn'; then
|
||||
YT_PR_GL="CN"
|
||||
else
|
||||
# 穷举风控变量提取
|
||||
YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"contentRegion":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_PR_GL" ] && YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
fi
|
||||
|
||||
# 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 echo "$YT_MU_HTML" | grep -q 'www.google.cn'; then
|
||||
YT_MU_GL="CN"
|
||||
else
|
||||
# [修复] Music 的核心配置变量是 INNERTUBE_CONTEXT_GL
|
||||
YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"INNERTUBE_CONTEXT_GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
[ -z "$YT_MU_GL" ] && YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
fi
|
||||
|
||||
# [基准对齐] 提取配置大区 (兼容州级穿透),并修正英国的 ISO 代码
|
||||
TARGET_CC="${REGION_CODE%%-*}"
|
||||
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB"
|
||||
|
||||
# --- 终极审判逻辑 (以 YouTube 核心业务为主导,兼顾底层雷达权重) ---
|
||||
IS_CN=0
|
||||
VALID_PROBES=0
|
||||
|
||||
# 1. 扫描所有探针,统计有效性并执行“送中”一票否决
|
||||
for val in "$JUMP_GL" "$YT_PR_GL" "$YT_MU_GL"; do
|
||||
if [ -n "$val" ]; then
|
||||
((VALID_PROBES++))
|
||||
[ "$val" == "CN" ] && IS_CN=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $VALID_PROBES -eq 0 ]; then
|
||||
STATUS="🚨 探针失效 (三核全部熔断,可能遭严重风控拦截)"
|
||||
elif [ $IS_CN -eq 1 ]; then
|
||||
STATUS="❌ 严重高危!三核雷达判定 IP 已被中国大陆锁定 (送中)!"
|
||||
else
|
||||
# 2. 评估核心流媒体业务是否达标 (只要 YT_PR 或 YT_MU 其一达标,即视为成功)
|
||||
YT_MATCH=0
|
||||
[ "$YT_PR_GL" == "$TARGET_CC" ] && YT_MATCH=1
|
||||
[ "$YT_MU_GL" == "$TARGET_CC" ] && YT_MATCH=1
|
||||
|
||||
if [ $YT_MATCH -eq 1 ]; then
|
||||
# 3. 核心业务达标,进一步评估底层路由权重
|
||||
if [ -n "$JUMP_GL" ] && [ "$JUMP_GL" != "$TARGET_CC" ]; then
|
||||
# YT 解锁了,但基础跳转 IP 库漂移了 (降级为 ✅,但备注底层漂移)
|
||||
STATUS="✅ 目标区域达成 (YT主导成功, Jump副雷达漂移至 ${JUMP_GL}) | Prem: ${YT_PR_GL:-无} | Music: ${YT_MU_GL:-无}"
|
||||
else
|
||||
STATUS="❌ 严重漂移!判定为送中区 (实际跳往 $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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -33,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
|
||||
@@ -81,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
|
||||
|
||||
@@ -90,7 +112,7 @@ case "$REGION_CODE" in
|
||||
*) FLAG="🌐" ;;
|
||||
esac
|
||||
|
||||
# 3. 截取过去 24 小时的日志 (每天48次轮询,保留最新 1000 行足以覆盖单日战报)
|
||||
# 3. 截取过去 24 小时的日志 (每天72次轮询,保留最新 1000 行足以覆盖单日战报)
|
||||
LOG_CONTENT=$(tail -n 1000 "$LOG_FILE" 2>/dev/null)
|
||||
|
||||
if [ -z "$LOG_CONTENT" ]; then
|
||||
@@ -158,7 +180,7 @@ else
|
||||
MSG="$MSG
|
||||
|
||||
🕒 **最近执行快照 [${LAST_MOD:-"System"}]:**
|
||||
时间: ${LAST_TIME:-"暂无数据"}
|
||||
时间: ${LAST_TIME:-"暂无数据"} (节点本地)
|
||||
结论: ${LAST_SCORE:-"暂无数据"}"
|
||||
|
||||
fi
|
||||
@@ -168,6 +190,8 @@ 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"
|
||||
@@ -177,28 +201,44 @@ REMOTE_VER=$(curl -s -m 3 "${REPO_RAW_URL}/version.txt" | grep "^AGENT_VERSION="
|
||||
MSG="$MSG
|
||||
----------------------------
|
||||
🛡️ **系统引擎状态**
|
||||
⏱️ 战报生成: \`${REPORT_UTC_TIME}\`
|
||||
当前运行版本: \`v${LOCAL_VER}\`"
|
||||
|
||||
# 比对逻辑:如果成功抓到了远端版本,且和本地不一样
|
||||
# 比准逻辑:如果成功抓到了远端版本,且和本地不一样
|
||||
if [ -n "$REMOTE_VER" ] && [ "$REMOTE_VER" != "$LOCAL_VER" ]; then
|
||||
MSG="$MSG
|
||||
最新官方版本: \`v${REMOTE_VER}\` (✨有新版)
|
||||
💡 *司令部提示:检测到新版装甲,请长官登录节点执行平滑热更新!*"
|
||||
💡 *系统提示:检测到新版引擎,建议通过控制台执行 OTA 热更新!*"
|
||||
elif [ -n "$REMOTE_VER" ] && [ "$REMOTE_VER" == "$LOCAL_VER" ]; then
|
||||
MSG="$MSG
|
||||
最新官方版本: \`v${REMOTE_VER}\` (✅已是最新)
|
||||
💡 *哨兵正在后台默默守护您的资产。*"
|
||||
💡 *IP-Sentinel 持续为您守护节点。*
|
||||
*若本项目对您有帮助,欢迎前往 GitHub 赐予 🌟*"
|
||||
else
|
||||
# 抓取失败兜底
|
||||
MSG="$MSG
|
||||
💡 *哨兵正在后台默默守护您的资产。*"
|
||||
💡 *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"
|
||||
|
||||
@@ -30,6 +30,8 @@ echo "========================================================"
|
||||
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 \
|
||||
@@ -58,13 +60,30 @@ pkill -9 -f "updater.sh" >/dev/null 2>&1
|
||||
pkill -9 -f "tg_report.sh" >/dev/null 2>&1
|
||||
pkill -9 -f "mod_google.sh" >/dev/null 2>&1
|
||||
pkill -9 -f "mod_trust.sh" >/dev/null 2>&1
|
||||
pkill -9 -f "sentinel_scheduler.sh" >/dev/null 2>&1
|
||||
|
||||
# 3. 清除系统定时任务 (Cron)
|
||||
echo "[3/4] 正在清理系统定时任务 (Cron)..."
|
||||
if crontab -l >/dev/null 2>&1; then
|
||||
crontab -l | grep -v "ip_sentinel" > /tmp/cron_backup
|
||||
crontab /tmp/cron_backup
|
||||
rm -f /tmp/cron_backup
|
||||
# [终极安全防御] 直接使用管道流过滤并覆盖,不产生任何 /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
|
||||
|
||||
# 4. 删除所有文件、日志与临时缓存
|
||||
@@ -73,10 +92,6 @@ 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 随机端口,请您按需手动关闭。"
|
||||
|
||||
@@ -25,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 热数据更新 =========="
|
||||
@@ -42,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
|
||||
|
||||
# ==========================================================
|
||||
@@ -117,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 行)
|
||||
# ==========================================================
|
||||
|
||||
1
data/keywords/kw_AE.txt
Normal file
1
data/keywords/kw_AE.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 دبي أخبار الطقس الإمارات سعر الدرهم
|
||||
@@ -1,169 +1,200 @@
|
||||
crystal palace vs west ham
|
||||
d4vd
|
||||
danish malewar
|
||||
mi vs gt
|
||||
perth weather
|
||||
elijah hollands carlton football club
|
||||
fair work commission fuel
|
||||
vanguard
|
||||
sydney sweeney
|
||||
cailee spaeny
|
||||
psg vs lyon
|
||||
sporting vs benfica
|
||||
celtics vs 76ers
|
||||
psl
|
||||
bundesliga
|
||||
pl
|
||||
afc cup
|
||||
mars rover
|
||||
celtic fc
|
||||
bayern vs vfb stuttgart
|
||||
bom radar
|
||||
sydney weather
|
||||
melbourne weather
|
||||
brisbane weather
|
||||
adelaide weather
|
||||
myGov login
|
||||
news.com.au
|
||||
abc news
|
||||
nrl ladder
|
||||
afl scores
|
||||
afl fixture
|
||||
matildas
|
||||
sam kerr
|
||||
bunnings opening hours
|
||||
coles catalogue
|
||||
woolies specials
|
||||
qantas
|
||||
virgin australia
|
||||
jetstar flights
|
||||
commbank
|
||||
asx 200
|
||||
sydney morning herald
|
||||
the age
|
||||
ticketek
|
||||
ticketmaster
|
||||
opal card top up
|
||||
myki top up
|
||||
translink timetable
|
||||
transperth journey planner
|
||||
adelaide metro
|
||||
adelaide 500
|
||||
adelaide crows
|
||||
port adelaide
|
||||
penrith panthers
|
||||
brisbane broncos
|
||||
collingwood fc
|
||||
sydney swans
|
||||
west coast eagles
|
||||
fremantle dockers
|
||||
canberra raiders
|
||||
mcg events
|
||||
optus stadium
|
||||
the gabba
|
||||
state of origin
|
||||
australian open
|
||||
melbourne cup
|
||||
masterchef australia
|
||||
mafs australia
|
||||
petrol prices near me
|
||||
australia post tracking
|
||||
service nsw login
|
||||
vicroads
|
||||
queensland health
|
||||
medicare
|
||||
ato
|
||||
jb hi-fi
|
||||
kmart
|
||||
amazon.com.au
|
||||
vivid sydney
|
||||
mona hobart
|
||||
dark mofo
|
||||
floriade canberra
|
||||
rottnest island ferry
|
||||
sydney airport arrivals
|
||||
rba interest rate
|
||||
nsw school holidays
|
||||
qld school holidays
|
||||
wa school holidays
|
||||
m4 traffic updates
|
||||
west gate tunnel updates
|
||||
bruce highway traffic
|
||||
taylor swift
|
||||
netflix
|
||||
gemini
|
||||
chatgpt
|
||||
margot robbie
|
||||
ange postecoglou
|
||||
oscar piastri
|
||||
formula 1
|
||||
supercars championship
|
||||
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
|
||||
ufc
|
||||
optus sport
|
||||
telstra outage
|
||||
kayo sports
|
||||
domain real estate
|
||||
realestate.com.au
|
||||
seek jobs
|
||||
gumtree
|
||||
westpac login
|
||||
anz internet banking
|
||||
nab login
|
||||
aldi catalogue
|
||||
big w
|
||||
target australia
|
||||
the good guys
|
||||
officeworks
|
||||
dan murphys
|
||||
bws
|
||||
chemist warehouse
|
||||
priceline
|
||||
uber eats
|
||||
menulog
|
||||
dominos
|
||||
centrelink login
|
||||
medicare online
|
||||
passport renewal
|
||||
aec enrolment
|
||||
agl energy
|
||||
origin energy
|
||||
stan
|
||||
binge
|
||||
9now
|
||||
7plus
|
||||
abc iview
|
||||
hoyts cinemas
|
||||
event cinemas
|
||||
big bash league
|
||||
the ashes
|
||||
socceroos
|
||||
bathurst 1000
|
||||
booking.com
|
||||
airbnb
|
||||
webjet
|
||||
bali weather
|
||||
smartraveller
|
||||
lotto results
|
||||
powerball results
|
||||
oz lotto
|
||||
public holidays 2026
|
||||
mothers day 2026
|
||||
carsales
|
||||
redbook
|
||||
nrma
|
||||
racv
|
||||
racq
|
||||
petrol spy
|
||||
optus login
|
||||
vodafone
|
||||
kogan
|
||||
catch.com.au
|
||||
mecca
|
||||
sydney fish market
|
||||
queen victoria market
|
||||
taronga zoo
|
||||
dreamworld
|
||||
movie world
|
||||
wotif
|
||||
anytime fitness
|
||||
time in london
|
||||
auckland fc vs melbourne city fc
|
||||
quillan salkilld
|
||||
austin reaves
|
||||
carlton vs st kilda
|
||||
fijian drua vs highlanders
|
||||
tasmania may temperature records
|
||||
colorectal cancer
|
||||
bulldogs vs cowboys
|
||||
the sheep detectives
|
||||
dolphins vs storm
|
||||
airline
|
||||
gta6
|
||||
mike conley
|
||||
home battery rebate
|
||||
nba playoff bracket
|
||||
rudy gobert
|
||||
sam burgess
|
||||
archibald prize 2026 finalists
|
||||
kyle sandilands broadcasting return
|
||||
dp world tour
|
||||
alperen şengün
|
||||
paramedic stabbed
|
||||
marwan rahiki
|
||||
weather perth
|
||||
david allan coe
|
||||
la lakers
|
||||
jarome luai png chiefs
|
||||
gauche
|
||||
keith urban daughter instagram unfollow
|
||||
sarah ferguson
|
||||
one championship
|
||||
parafield airport
|
||||
ai bubble
|
||||
tony burke
|
||||
professor richard scolyer
|
||||
san antonio spurs vs portland trail blazers match player stats
|
||||
prince harry working royal
|
||||
retirement
|
||||
rebate
|
||||
denver nuggets
|
||||
driver's license
|
||||
nuggets
|
||||
jessica biel justin timberlake ultimatum
|
||||
qatar
|
||||
thales
|
||||
destroyer
|
||||
nrl news latrell mitchell
|
||||
heavy snow warning
|
||||
the rookie dead ringer
|
||||
ducks vs oilers
|
||||
ivan soldo
|
||||
uae vs oman
|
||||
cheryl hines
|
||||
real estate market
|
||||
weather brisbane
|
||||
raptors vs cavaliers
|
||||
galatasaray
|
||||
multan sultans vs islamabad united
|
||||
galatasaray vs fenerbahçe
|
||||
torino vs inter
|
||||
hearts fc
|
||||
scottish premier league
|
||||
mohsin khan
|
||||
angkrish raghuvanshi
|
||||
psl
|
||||
magic vs pistons
|
||||
celtic fc
|
||||
peshawar zalmi vs lahore qalandars
|
||||
angers vs psg
|
||||
la liga
|
||||
prem
|
||||
premier league table
|
||||
epl fixtures
|
||||
premier league games
|
||||
alex de minaur
|
||||
sunderland vs nottm forest
|
||||
real betis vs real madrid
|
||||
sai sudharsan
|
||||
jannik sinner
|
||||
gt vs rcb
|
||||
amd stock
|
||||
carey mulligan
|
||||
jermaine jackson
|
||||
hulk hogan
|
||||
coles
|
||||
elon musk
|
||||
ben roberts-smith
|
||||
ig
|
||||
danish malewar
|
||||
assassin's creed black flag resynced
|
||||
sarfaraz khan
|
||||
kartik sharma
|
||||
instagram stories not working
|
||||
meningococcal b
|
||||
sundaresh menon
|
||||
thunder vs suns
|
||||
cade cunningham
|
||||
real salt lake vs inter miami
|
||||
pope francis
|
||||
camera
|
||||
anzac
|
||||
kids news
|
||||
bonds
|
||||
hung cao
|
||||
classroom
|
||||
michael jackson biopic movie
|
||||
india women vs south africa women
|
||||
nato
|
||||
bayern munich
|
||||
barcelona vs celta vigo
|
||||
bournemouth vs leeds
|
||||
leverkusen vs bayern
|
||||
burnley vs man city
|
||||
elche vs atlético madrid
|
||||
lsg vs rr
|
||||
pakistan super league
|
||||
kyle sandilands alleged rant jackie o
|
||||
carrie bickmore
|
||||
adam levine
|
||||
alexandra eala
|
||||
tubi
|
||||
charles melton
|
||||
nuclear weapon
|
||||
janet jackson
|
||||
justin bieber australia tour
|
||||
fleche wallonne 2026
|
||||
ange postecoglou
|
||||
john hattie
|
||||
real madrid vs alavés
|
||||
brighton vs chelsea
|
||||
woolworth
|
||||
nitish rana
|
||||
lyrid meteor shower
|
||||
世界地球日
|
||||
youth gang
|
||||
earth day
|
||||
|
||||
1
data/keywords/kw_BD.txt
Normal file
1
data/keywords/kw_BD.txt
Normal file
@@ -0,0 +1 @@
|
||||
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,84 +1,200 @@
|
||||
will trent
|
||||
ibm
|
||||
lecce vs fiorentina
|
||||
celeste rivas hernandez
|
||||
cason wallace
|
||||
jake laravia
|
||||
alex caruso
|
||||
luguentz dort
|
||||
sir david attenborough
|
||||
leon must die forever
|
||||
air canada jet fuel shortage
|
||||
austin reaves
|
||||
deandre ayton
|
||||
ryan strome
|
||||
stephen colbert
|
||||
jansen harkins
|
||||
nat wolff
|
||||
steve carell
|
||||
flight
|
||||
carter bryant
|
||||
lola consuelos
|
||||
devin vassell
|
||||
chicago pd
|
||||
stephon castle
|
||||
vancouver news
|
||||
bc hydro
|
||||
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
|
||||
naz reid
|
||||
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.
|
||||
ringo starr
|
||||
patton oswalt
|
||||
pavel talankin oscar
|
||||
bmo marathon
|
||||
jack della maddalena
|
||||
b
|
||||
adam scott
|
||||
canada immigration news
|
||||
bruce cassidy
|
||||
nugent hopkins
|
||||
nhl playoff bracket
|
||||
nepal vs uae
|
||||
dostal
|
||||
vasily podkolzin
|
||||
nh
|
||||
lebron james
|
||||
carter hart
|
||||
rachel kerr missing
|
||||
lena dunham
|
||||
utah
|
||||
kailer yamamoto
|
||||
clayton keller
|
||||
jack white
|
||||
keanu reeves
|
||||
danielle smith
|
||||
workday
|
||||
jermaine jackson
|
||||
prada
|
||||
next oilers game
|
||||
anaheim ducks coach
|
||||
dhurandhar 2
|
||||
bchl
|
||||
from tv series
|
||||
whl
|
||||
shea theodore
|
||||
nikola jokić
|
||||
mark stone
|
||||
cameron johnson
|
||||
dea
|
||||
dylan guenther
|
||||
jamal murray
|
||||
euphoria cast
|
||||
mlb bo bichette
|
||||
edmonton news
|
||||
radko gudas
|
||||
jeffrey viel
|
||||
boat
|
||||
joel quenneville
|
||||
evan bouchard
|
||||
jada wallace
|
||||
oilers
|
||||
boston bruins
|
||||
patrick corbin
|
||||
avs vs sporting
|
||||
peyton krebs
|
||||
elena rybakina
|
||||
shane doan
|
||||
ja'kobe walter
|
||||
radio-canada
|
||||
golf
|
||||
hurricanes vs senators
|
||||
al ahli
|
||||
the white house
|
||||
turkish airlines
|
||||
fa cup games
|
||||
atlético madrid vs athletic club
|
||||
tyree wilson
|
||||
monic néron
|
||||
nvidia
|
||||
aryna sabalenka
|
||||
lpga leaderboard
|
||||
randy travis
|
||||
execution by firing squad
|
||||
nelly korda
|
||||
leicester city vs millwall
|
||||
asteroid
|
||||
sunderland vs nottm forest
|
||||
real betis vs real madrid
|
||||
betis – real madrid
|
||||
napoli vs cremonese
|
||||
gta 6
|
||||
japon
|
||||
padres vs rockies
|
||||
guide de la révolution de l'iran
|
||||
casa pia vs braga
|
||||
denaturalization
|
||||
ocean
|
||||
alberta referendum
|
||||
vfb stuttgart vs sc freiburg
|
||||
gpt 5.5
|
||||
noah cates
|
||||
pwhl scores
|
||||
hank idsinga
|
||||
karoline leavitt
|
||||
ottawa charge
|
||||
million dollar secret
|
||||
white sox vs diamondbacks
|
||||
suns vs thunder
|
||||
stars vs wild
|
||||
jaafar jackson
|
||||
airport
|
||||
grand theft auto vi
|
||||
abhishek bachchan
|
||||
national guard of the united states
|
||||
triathlon
|
||||
vincent trocheck
|
||||
benyamin netanyahou
|
||||
kings vs avalanche
|
||||
crème solaire
|
||||
trabzonspor vs istanbul başakşehir
|
||||
indigenous rights
|
||||
meghan, duchess of sussex
|
||||
gwyneth paltrow
|
||||
toronto gas prices
|
||||
président
|
||||
mets vs cubs
|
||||
matt fitzpatrick
|
||||
sénateurs – hurricanes
|
||||
senators vs hurricanes
|
||||
man utd
|
||||
spurs
|
||||
evan mobley
|
||||
chelsea vs man united
|
||||
atlético madrid vs real sociedad
|
||||
roma vs atalanta
|
||||
cf montreal
|
||||
jakob poeltl
|
||||
ukraine
|
||||
contrôle routier québec
|
||||
bachelorette 2026
|
||||
lens – toulouse
|
||||
arber xhekaj
|
||||
leylah fernandez
|
||||
anthropic
|
||||
paige wwe
|
||||
inter – cagliari
|
||||
carrie ann inaba
|
||||
syria
|
||||
highway hotline sk
|
||||
real betis vs braga
|
||||
vincent bolloré
|
||||
europa conference league
|
||||
resident alien
|
||||
battlefield 6
|
||||
aston villa vs bologna
|
||||
nottm forest vs porto
|
||||
soccer
|
||||
lamour est dans le pré
|
||||
luis suárez
|
||||
listeria
|
||||
strc
|
||||
bayern
|
||||
arda güler
|
||||
aleksandar pavlović
|
||||
kooora
|
||||
yalla kora
|
||||
ina garten
|
||||
jordan goodwin
|
||||
jerami grant
|
||||
jimmy snuggerud
|
||||
clav
|
||||
bts
|
||||
zach galifianakis
|
||||
billy crystal
|
||||
club américa vs nashville
|
||||
allison williams
|
||||
CBC News
|
||||
Canada.ca
|
||||
Toronto Weather
|
||||
NHL Scores
|
||||
Amazon.ca
|
||||
Air Canada
|
||||
Service Canada
|
||||
CRA login
|
||||
Rogers
|
||||
Bell Internet
|
||||
Tim Hortons
|
||||
Indigo
|
||||
Canadian Tire
|
||||
Walmart Canada
|
||||
Toronto Raptors
|
||||
pentagone
|
||||
etats unis
|
||||
monette farms news
|
||||
jose soriano
|
||||
jon cooper
|
||||
barcelona vs celta vigo
|
||||
764
|
||||
david scott
|
||||
rodrigo duterte
|
||||
u18 world championship
|
||||
zara tindall
|
||||
graham platner
|
||||
lsg vs rr
|
||||
nikki glaser
|
||||
global news edmonton
|
||||
policier
|
||||
nuclear weapon
|
||||
motorcycle
|
||||
msc francesca
|
||||
poet stock
|
||||
fifa tickets
|
||||
7 jours
|
||||
alexandra eala
|
||||
earth
|
||||
zara larsson
|
||||
girona vs real betis
|
||||
kevyn adams
|
||||
ali khamenei
|
||||
inter – côme
|
||||
leicester city vs hull
|
||||
fenerbahçe
|
||||
françois bonnardel
|
||||
missile
|
||||
real madrid vs alavés
|
||||
vrabel and russini photos
|
||||
|
||||
@@ -1,109 +1,200 @@
|
||||
heppenheim
|
||||
ministerpräsident
|
||||
robbie williams
|
||||
brian littrell
|
||||
saarbrücken hauptbahnhof
|
||||
frauen-bundesliga
|
||||
lemgo
|
||||
kommissar rex
|
||||
hemsbach
|
||||
benjamin weber
|
||||
sydney sweeney
|
||||
martin schindler
|
||||
robert kennedy
|
||||
antoni kowalski
|
||||
luna
|
||||
paris-sg – lyon
|
||||
arte live
|
||||
dominik kohr
|
||||
dumbledores geheimnisse
|
||||
kampf der realitystars
|
||||
kerner
|
||||
amazon alexa+
|
||||
buckelwal timmy timmy wal
|
||||
esc 2026
|
||||
barbara schöneberger
|
||||
wetter regensburg
|
||||
mile high city
|
||||
tennessee
|
||||
billy idol
|
||||
kfc uerdingen
|
||||
bastian pastewka
|
||||
gnabry
|
||||
lok leipzig heute live ticker
|
||||
true lies wahre lügen
|
||||
челси – манчестер юнайтед
|
||||
nurburgring
|
||||
fortnite server status
|
||||
süperlig
|
||||
ronaldinho
|
||||
esther schweins let's dance
|
||||
michael jackson film 2026
|
||||
oliver pocher
|
||||
die queen film
|
||||
milano
|
||||
straße von hormus
|
||||
motsi mabuse
|
||||
rayo vallecano
|
||||
harry meghan
|
||||
irland
|
||||
betis sevilla
|
||||
vermisste person
|
||||
konferenz league
|
||||
garda
|
||||
judith hoersch
|
||||
jörg pilawa
|
||||
strasbourg
|
||||
real madrid vs bayern
|
||||
kicker
|
||||
mbappe
|
||||
flashscore
|
||||
sport1
|
||||
vini jr
|
||||
bet365
|
||||
kompany
|
||||
jude bellingham
|
||||
upamecano
|
||||
gute zeiten, schlechte zeiten
|
||||
inflation
|
||||
fog warning
|
||||
wetter bochum
|
||||
wetter aachen
|
||||
wetter bonn
|
||||
onet
|
||||
protest
|
||||
jamie dornan
|
||||
heizöl
|
||||
champions league
|
||||
uefa champions league
|
||||
keytruda
|
||||
péter magyar
|
||||
psg
|
||||
hechingen
|
||||
şampiyonlar ligi
|
||||
tschernobyl 1986
|
||||
amazon video
|
||||
paris saint-germain
|
||||
dietrich grönemeyer
|
||||
fränkische schweiz
|
||||
scarlett johansson
|
||||
jeff bezos
|
||||
dan brown
|
||||
паспорт громадянина україни для виїзду за кордон
|
||||
serena williams
|
||||
манчестер юнайтед – лидс
|
||||
catherine deneuve
|
||||
bobzin
|
||||
sprit
|
||||
kev
|
||||
abschiebung
|
||||
steuer
|
||||
masters rory mcilroy
|
||||
großglockner
|
||||
news38
|
||||
jessie cave
|
||||
michael schulte
|
||||
wetter frankfurt heute
|
||||
bundesliga ergebnisse
|
||||
aktuelle nachrichten deutschland
|
||||
restaurant in der nähe
|
||||
deutsche bahn fahrplan
|
||||
urlaub buchen
|
||||
rezept für kartoffelsalat
|
||||
dax aktueller stand
|
||||
apotheke notdienst frankfurt
|
||||
günstige flüge
|
||||
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 bamberg
|
||||
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
|
||||
chiemgau24
|
||||
usa donald trump
|
||||
rentenbescheid24
|
||||
goodbye deutschland marie heidtke
|
||||
vinicius junior
|
||||
gntm wer ist raus heute
|
||||
atlassian aktie
|
||||
vietnam
|
||||
haben bäckereien am 1 mai geöffnet
|
||||
1 mai veranstaltungen in der nähe
|
||||
warum ist der 1 mai ein feiertag
|
||||
brenntag
|
||||
tagesspiegel
|
||||
wild – stars
|
||||
maifeiertag
|
||||
stefan hartung
|
||||
mckinsey & company
|
||||
the taste promi wer ist raus
|
||||
fc bayern münchen champions league
|
||||
danny ramirez
|
||||
claudia major
|
||||
peter wohlleben
|
||||
heizungsgesetz
|
||||
jerome powell
|
||||
joko & klaas gegen prosieben
|
||||
swr aktuell baden-württemberg
|
||||
rettungshubschrauber
|
||||
lebensmittelwarnung.de
|
||||
julia ruhs
|
||||
vw id polo
|
||||
warburg
|
||||
elon musk
|
||||
diablo 4 warlock build
|
||||
wirtschaft
|
||||
фридрих мерц
|
||||
zdf-fernsehgarten
|
||||
halberstadt
|
||||
cathie wood
|
||||
fabian güstrow
|
||||
spencer jones
|
||||
jean alesi
|
||||
hilary duff
|
||||
nhl playoffs
|
||||
msci
|
||||
1. mai
|
||||
ronnie o’sullivan
|
||||
loris karius
|
||||
koningsdag 2026
|
||||
ryan reynolds
|
||||
julia stiles
|
||||
saïd el mala
|
||||
tag der arbeit
|
||||
gesundheitspolitik
|
||||
der bergdoktor
|
||||
bulgarien
|
||||
george clooney
|
||||
jork
|
||||
star citizen
|
||||
donau
|
||||
krassnitzer harald
|
||||
buxtehude
|
||||
chernobyl
|
||||
avs – sporting
|
||||
running point
|
||||
darmstadt
|
||||
dahoam is dahoam
|
||||
أتلتيكو مدريد ضد أتلتيك بيلباو
|
||||
atlético madryt – ath. bilbao
|
||||
portugal
|
||||
erling haaland
|
||||
galatasaray fenerbahce
|
||||
anna carina woitschack
|
||||
nord bei nordwest
|
||||
wil wheaton
|
||||
christian lindner
|
||||
kevin costner
|
||||
samu haber
|
||||
gillian anderson
|
||||
peggy jerofke
|
||||
rafael jódar
|
||||
ernie dosio
|
||||
bibi heinicke
|
||||
denia
|
||||
der alte blaue stunde
|
||||
matthias ginter
|
||||
ralf schmitz
|
||||
maximilian eggestein
|
||||
hull city
|
||||
demirovic
|
||||
elton john
|
||||
jeff chabot
|
||||
lindt schokolade
|
||||
manzambi
|
||||
angelo stiller
|
||||
lamine yamal verletzung
|
||||
peer steinbrück
|
||||
h&m
|
||||
lotto 6aus49
|
||||
pistons – magic
|
||||
chemnitzer fc erzgebirge aue
|
||||
asiago
|
||||
23 nisan
|
||||
sternschnuppen heute lyriden
|
||||
aryna sabalenka
|
||||
michael douglas
|
||||
herman van veen
|
||||
georgina fleur
|
||||
tui
|
||||
trainer bayern münchen
|
||||
katie holmes
|
||||
prinz frederic
|
||||
bayern vs
|
||||
flekken
|
||||
бернли – манчестер сити
|
||||
ard
|
||||
queen camilla
|
||||
clankriminalität
|
||||
politik
|
||||
gladbach-news
|
||||
sara gündogan
|
||||
krankenversicherung
|
||||
jan-lennard struff
|
||||
bryan lasme
|
||||
thailand
|
||||
robin gosens
|
||||
maremma
|
||||
tennis madrid
|
||||
osterburg
|
||||
برايتون ضد تشيلسي
|
||||
sebastian hoeneß
|
||||
ncis
|
||||
menowin fröhlich
|
||||
maren gilzer
|
||||
cineplex
|
||||
gina schumacher
|
||||
alexander räuscher
|
||||
|
||||
@@ -1,3 +1,179 @@
|
||||
bangladesh vs pakistan
|
||||
jared mccain
|
||||
tiempo zaragoza
|
||||
lebron james
|
||||
eltiempo
|
||||
tiempo bilbao
|
||||
tiempo hoy
|
||||
el tiempo hoy
|
||||
nba hoy
|
||||
junior - cerro
|
||||
aemet malaga
|
||||
star fox nintendo switch
|
||||
weather
|
||||
tiempo
|
||||
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
|
||||
noticiastrabajo
|
||||
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
|
||||
vivienda en españa
|
||||
tiempo en zaragoza
|
||||
euribor hoy
|
||||
austin reaves
|
||||
estafa
|
||||
lakers vs rockets
|
||||
cienciano - atlético mineiro
|
||||
anthropic
|
||||
prórroga alquileres congreso
|
||||
sorteo bonoloto
|
||||
aemet valencia
|
||||
aemet
|
||||
huelga gasolineras
|
||||
el tiempo
|
||||
nepotismo
|
||||
instituto cervantes
|
||||
airbus
|
||||
tiempo en bilbao
|
||||
el
|
||||
el tiempo en granada
|
||||
spencer jones
|
||||
encuesta
|
||||
lili pink
|
||||
trail blazers - spurs
|
||||
clasificacion segunda
|
||||
20minutos
|
||||
internacional de bogotá - boyacá chicó
|
||||
el tiempo en valencia
|
||||
fluminense - chapecoense
|
||||
heraldo de aragón
|
||||
víctor muñoz villanueva
|
||||
de tapas por españa
|
||||
milan
|
||||
aitana sánchez gijón
|
||||
clasificacion liga
|
||||
palencia
|
||||
milan vs juventus
|
||||
marseille – nice
|
||||
cartagena fc
|
||||
vivienda
|
||||
hellas verona - lecce
|
||||
marbella
|
||||
alfonso vazquez mayoral fuente ymbro
|
||||
bucaramanga - jaguares
|
||||
toulouse - mónaco
|
||||
eldense
|
||||
nicolai budkov kjær
|
||||
aryna sabalenka
|
||||
jaqueline cristian
|
||||
rafa jodar
|
||||
samantha vallejo-nágera
|
||||
ريال بتيس ضد الريال
|
||||
nvidia
|
||||
rafael jódar
|
||||
jodar tenista
|
||||
sunderland afc - nottingham forest
|
||||
rb leipzig - fc union berlin
|
||||
julián alvarez
|
||||
stade brestois - lens
|
||||
clasificación de primera división
|
||||
javier hidalgo
|
||||
cayetano martínez de irujo
|
||||
llanes
|
||||
vfb stuttgart – freiburg
|
||||
roca rey
|
||||
psv - zwolle
|
||||
daredevil
|
||||
a que estas esperando
|
||||
real oviedo - villarreal
|
||||
real salt lake - inter miami
|
||||
pistons - magic
|
||||
barcelona sc - mushuc runa
|
||||
kick
|
||||
raphinha
|
||||
lluvia estrellas liridas
|
||||
frenkie de jong
|
||||
santos - coritiba
|
||||
del cerro grande
|
||||
phillip cocu
|
||||
cospedal
|
||||
david wilcock
|
||||
barcelona - celta de vigo
|
||||
barcelone – celta vigo
|
||||
macarena gómez
|
||||
luis merlo
|
||||
bournemouth vs leeds
|
||||
racing de estrasburgo - niza
|
||||
burnley vs man city
|
||||
alaska cantante
|
||||
raúl gonzález blanco
|
||||
marta sanchez
|
||||
roberto bautista
|
||||
cifras y letras
|
||||
xbox game pass ultimate
|
||||
horse powertrain
|
||||
las hurdes
|
||||
herbicida cancer colon
|
||||
lluvia de barro
|
||||
ripoll
|
||||
manilva
|
||||
steve jobs
|
||||
berrettini
|
||||
prizmic
|
||||
laura moure
|
||||
lens - toulouse
|
||||
girona vs real betis
|
||||
yuri berchiche
|
||||
posiciones de la liga
|
||||
resultados liga
|
||||
lfp
|
||||
umar sadiq
|
||||
реал мадрид – алавес
|
||||
jan virgili
|
||||
moreirense - estoril
|
||||
downton abbey
|
||||
koldo garcía izaguirre
|
||||
@@ -6,7 +182,6 @@ mike james
|
||||
carla leite
|
||||
eclipse solar del 12 de agosto de 2026
|
||||
crystal palace - west ham
|
||||
luis merlo
|
||||
luz valdenebro
|
||||
porto - tondela
|
||||
santos - fluminense
|
||||
@@ -23,63 +198,3 @@ nurburgring
|
||||
la 1 directo
|
||||
oyarzabal
|
||||
enrique cerezo
|
||||
fraude
|
||||
tasa
|
||||
la 1
|
||||
tve directo
|
||||
cuántas copas del rey tiene la real sociedad
|
||||
eugenia martínez de irujo
|
||||
ccoo
|
||||
racing de santander
|
||||
racing
|
||||
baliza v16
|
||||
st. pauli – köln
|
||||
iphone 18
|
||||
st. pauli - colonia
|
||||
nico paz
|
||||
lionel messi
|
||||
armengol
|
||||
pau víctor
|
||||
braga fc
|
||||
fiorentina vs crystal palace
|
||||
morante hoy
|
||||
iago aspas
|
||||
aston villa
|
||||
real betis vs braga
|
||||
ministerio de sanidad
|
||||
az - shakhtar
|
||||
arsenal
|
||||
tiktok
|
||||
harry kane
|
||||
sudan
|
||||
lunin
|
||||
airef
|
||||
tiempo de juego
|
||||
fc bayern
|
||||
militao
|
||||
bellingham
|
||||
supervivientes
|
||||
jalen green
|
||||
rockstar games
|
||||
bam adebayo
|
||||
china
|
||||
suns - trail blazers
|
||||
euromillones
|
||||
ldu quito - mirassol
|
||||
davion mitchell
|
||||
universitario - coquimbo unido
|
||||
El País
|
||||
Marca
|
||||
RTVE Noticias
|
||||
La Liga
|
||||
Real Madrid
|
||||
Barcelona FC
|
||||
Tiempo Madrid
|
||||
Renfe
|
||||
Iberia
|
||||
Amazon España
|
||||
El Corte Inglés
|
||||
Hacienda
|
||||
Mercadona
|
||||
YouTube Música
|
||||
Entradas Cine
|
||||
|
||||
@@ -1,3 +1,194 @@
|
||||
eurodreams 7 mai 2026
|
||||
l équipe
|
||||
top chef 2026
|
||||
crédit agricole
|
||||
bbc news
|
||||
bangladesh vs pakistan
|
||||
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
|
||||
meteo le mans
|
||||
chaine meteo
|
||||
gap
|
||||
jaylin williams
|
||||
meteo toulon
|
||||
éliminé koh lanta
|
||||
5 mai
|
||||
bath rugby
|
||||
robinho
|
||||
gladiator 2
|
||||
patrick antonelli
|
||||
meteo 15 jours
|
||||
meteo france
|
||||
weather
|
||||
football psg bayern munich
|
||||
jours fériés mai 2026
|
||||
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
|
||||
wetter
|
||||
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
|
||||
cyril féraud
|
||||
bill ackman
|
||||
teknival
|
||||
madonna
|
||||
le pal
|
||||
brocante 1er mai
|
||||
la depeche du midi
|
||||
smic
|
||||
2026
|
||||
steven spielberg
|
||||
maud bregeon
|
||||
gendarmerie
|
||||
chelsea football club
|
||||
annulations vols prix kérosène
|
||||
lafc – deportivo toluca
|
||||
meteo caen
|
||||
playoff nba
|
||||
shannon elizabeth
|
||||
sandrine rousseau
|
||||
brent
|
||||
bernard cazeneuve
|
||||
vignoble
|
||||
forest automobile
|
||||
brown-forman
|
||||
meteo quimper
|
||||
meteo brest
|
||||
charles iii
|
||||
montceau news
|
||||
taylor swift
|
||||
meteo amiens
|
||||
salle de bal
|
||||
reine camilla
|
||||
david hockney
|
||||
jacques dutronc
|
||||
franck thilliez
|
||||
squamish
|
||||
nasa
|
||||
nba spurs portland
|
||||
mourad zeghidi
|
||||
maries au premier regard episode 10
|
||||
tchad
|
||||
meteofrance
|
||||
meteo grenoble
|
||||
film
|
||||
meteo vannes
|
||||
cnews direct
|
||||
toulouse – clermont
|
||||
martin short
|
||||
le diable s'habille en prada 2 sortie
|
||||
gautier larsonneur
|
||||
milan vs juventus
|
||||
stanley tucci
|
||||
avs – sporting
|
||||
lambert wilson
|
||||
tochukwu nnadi
|
||||
greenwood
|
||||
jaqueline cristian
|
||||
thomas ramos
|
||||
om nice
|
||||
bordeaux-bègles – montpellier
|
||||
drone
|
||||
rochdale association football club
|
||||
doctor who
|
||||
c à vous c à vous
|
||||
sabalenka
|
||||
national 2 groupe a
|
||||
lena situation
|
||||
rafael jódar
|
||||
mask singer
|
||||
alex de minaur
|
||||
oyonnax – agen
|
||||
lucie castets
|
||||
napoli - cremonese
|
||||
ligue1+
|
||||
agnes lassalle
|
||||
jean luc reichmann
|
||||
m6
|
||||
caitlyn jenner
|
||||
star academy
|
||||
bfm marseille provence
|
||||
hunter schafer
|
||||
unchosen netflix
|
||||
john travolta
|
||||
valence-romans – brive
|
||||
reem kherici
|
||||
will smith
|
||||
real salt lake – inter miami
|
||||
neymar
|
||||
les traîtres
|
||||
jacob elordi
|
||||
pistons – magic
|
||||
invincible
|
||||
santos – coritiba
|
||||
ios 18
|
||||
la liga
|
||||
royaume uni interdiction tabac
|
||||
stephane tapie
|
||||
tondelier
|
||||
benjamin duhamel
|
||||
loto 22 avril 2026
|
||||
interdiction tabac royaume uni
|
||||
lol qui rit sort
|
||||
eva longoria
|
||||
alain bauer
|
||||
achraf hakimi
|
||||
ibrahim mbaye
|
||||
mma
|
||||
roberto calvet
|
||||
budget
|
||||
coupe du monde de football 2006
|
||||
plus belle la vie en avance
|
||||
mateus fernandes
|
||||
tour des alpes 2026
|
||||
lorenzo finn
|
||||
maine-et-loire
|
||||
mathieu flamini
|
||||
kamel daoud
|
||||
vandalisme
|
||||
sydney sweeney
|
||||
julien odoul
|
||||
france2
|
||||
xavier dupont de ligonnès
|
||||
elisabeth 2
|
||||
antibes
|
||||
girona – betis
|
||||
christine bravo
|
||||
الريال ضد ألافيس
|
||||
madonna age
|
||||
margot haddad
|
||||
ana riera
|
||||
@@ -5,105 +196,5 @@ hinaupoko devèze
|
||||
bruce toussaint
|
||||
cheque energie
|
||||
reid wiseman
|
||||
mma
|
||||
loto 20 avril 2026
|
||||
from serie
|
||||
toulouse
|
||||
racing 92 – stade français
|
||||
juventus - bologna
|
||||
film une annee difficile
|
||||
échouement
|
||||
programme tv ce soir
|
||||
porto – tondela
|
||||
matthieu pigasse
|
||||
santos – fluminense
|
||||
gta 6
|
||||
laetitia milot
|
||||
loto 18 avril 2026
|
||||
bercy
|
||||
pierre lellouche
|
||||
adele
|
||||
adil rami
|
||||
castres – toulouse
|
||||
angel
|
||||
stéphane bern
|
||||
anne claire coudray
|
||||
pmu résultat
|
||||
laury thilleman et paul mirabel
|
||||
quinté du jour
|
||||
euromillions 17 avril 2026
|
||||
alain bauer
|
||||
uson
|
||||
guillaume meurice
|
||||
pmu
|
||||
grenoble – oyonnax
|
||||
bagarre
|
||||
programme télé
|
||||
tchernobyl
|
||||
géraldine maillet
|
||||
biot
|
||||
racing
|
||||
liga europa
|
||||
tv ce soir
|
||||
programme tv de ce soir
|
||||
brad pitt
|
||||
aston villa
|
||||
michael olise
|
||||
robert ménard
|
||||
match ce soir
|
||||
sporting
|
||||
ester exposito
|
||||
bellingham
|
||||
iptv
|
||||
militao
|
||||
jeff goldblum
|
||||
lunin
|
||||
kiev
|
||||
julien royal
|
||||
viktor orbán
|
||||
aqababe
|
||||
nhl
|
||||
suns – trail blazers
|
||||
bam adebayo
|
||||
davion mitchell
|
||||
l
|
||||
santos – recoleta football club
|
||||
atletico madrid
|
||||
tf1
|
||||
uefa champions league
|
||||
camille cerf
|
||||
giorgi mamardashvili
|
||||
streaming football
|
||||
atlético madryt – fc barcelona
|
||||
miss france
|
||||
rts
|
||||
leonardo balerdi
|
||||
yann barthes
|
||||
alain delon
|
||||
loto du 13 avril 2026
|
||||
juan arbeláez
|
||||
hbo
|
||||
katy perry justin trudeau
|
||||
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
|
||||
|
||||
@@ -1,3 +1,190 @@
|
||||
活期存款
|
||||
一田
|
||||
湖人
|
||||
萬寧88折
|
||||
thunder vs lakers
|
||||
nba線上看
|
||||
雷霆 對 湖人
|
||||
李家鼎
|
||||
ana
|
||||
wordle
|
||||
台风
|
||||
star
|
||||
spurs vs timberwolves
|
||||
林熹瞳
|
||||
陳柏宇
|
||||
馬刺 對 灰狼
|
||||
knicks vs 76ers
|
||||
寶達邨
|
||||
運輸署
|
||||
etv
|
||||
麥美恩
|
||||
金建希
|
||||
航空
|
||||
袁偉豪
|
||||
活塞 對 騎士
|
||||
八達通
|
||||
兵工廠 對 馬德里競技
|
||||
龍蟠苑
|
||||
飛驒山
|
||||
澳元
|
||||
草 蜢
|
||||
kktix
|
||||
安東尼·愛德華茲
|
||||
艾佛頓 對 曼城
|
||||
何君堯
|
||||
失業
|
||||
世界盃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
|
||||
周嘉洛
|
||||
莊子璇
|
||||
深圳地鐵
|
||||
奧斯汀·里夫斯
|
||||
國際珍奶日香港
|
||||
天仁茗茶
|
||||
伊朗海軍
|
||||
居屋
|
||||
湖人 對 火箭
|
||||
lakers vs rockets
|
||||
異環兌換碼
|
||||
洪金宝
|
||||
梁嘉莹
|
||||
spurs vs trail blazers
|
||||
羅艷卿
|
||||
weather forecast
|
||||
observatory hk
|
||||
尼克 對 老鷹
|
||||
sfc
|
||||
馬刺 對 拓荒者
|
||||
粉嶺繞道
|
||||
nuggets vs timberwolves
|
||||
蔡卓妍
|
||||
港 漂
|
||||
suns vs thunder
|
||||
鍾澍佳
|
||||
萧正楠
|
||||
金塊 對 灰狼
|
||||
魔術 對 活塞
|
||||
太陽 對 雷霆
|
||||
港 人 北上
|
||||
hsbc
|
||||
何守信
|
||||
謝賢
|
||||
房協
|
||||
rockets vs lakers
|
||||
火箭 對 湖人
|
||||
曾志偉
|
||||
簡淑兒
|
||||
北海道地震
|
||||
莫 雷 拉
|
||||
蔡一傑
|
||||
車路士
|
||||
羅志祥
|
||||
自助餐
|
||||
馮盈盈
|
||||
無時空之戀
|
||||
方力申
|
||||
可嵐
|
||||
切爾西 對 里茲聯
|
||||
谷 婭 溦
|
||||
曼城
|
||||
印度
|
||||
英超
|
||||
利物浦
|
||||
pl
|
||||
arsenal vs newcastle
|
||||
premier league standings
|
||||
曼城 對 南安普敦
|
||||
寒戰
|
||||
米高積遜
|
||||
jaafar jackson
|
||||
nvda
|
||||
吳業坤
|
||||
麻疹
|
||||
林盛斌
|
||||
cuaca besok
|
||||
明天的天氣
|
||||
weather tomorrow
|
||||
rthk
|
||||
weather hong kong
|
||||
天文台
|
||||
hk observatory
|
||||
observatory
|
||||
csk vs mi
|
||||
長沙灣
|
||||
魔音女團
|
||||
球迷世界
|
||||
天星銀行
|
||||
game
|
||||
林嘉華
|
||||
套餐
|
||||
賈曉晨
|
||||
hk weather
|
||||
綠色債券
|
||||
barcelona vs celta vigo
|
||||
weather
|
||||
7-eleven
|
||||
天气
|
||||
班來 對 曼城
|
||||
埃爾切 對 馬德里競技
|
||||
rosenior
|
||||
艾納斯
|
||||
liam rosenior
|
||||
巴黎聖日耳曼 對 南特
|
||||
chatgpt image 2
|
||||
啟德醫院
|
||||
李泳漢老婆
|
||||
破產
|
||||
繼承人
|
||||
英皇群星演唱會
|
||||
布浩榮
|
||||
新聞
|
||||
貨幣貶值
|
||||
居 屋 2025
|
||||
3988
|
||||
李泳豪老婆
|
||||
皇家馬德里 對 艾拉維斯
|
||||
李泳漢
|
||||
鄭欣宜
|
||||
srh vs dc
|
||||
鍾嘉欣
|
||||
張柏芝
|
||||
江美儀
|
||||
全港戲院日 2026
|
||||
江旻憓
|
||||
陶傑
|
||||
水晶宮 對 西漢姆聯
|
||||
吉達艾阿里
|
||||
山口智子
|
||||
@@ -8,99 +195,6 @@
|
||||
麥當勞
|
||||
首岸
|
||||
中国商飞c919
|
||||
pl
|
||||
bundesliga
|
||||
hailey bieber
|
||||
德甲
|
||||
cherki
|
||||
now
|
||||
曼城
|
||||
now tv
|
||||
al nassr
|
||||
洪金寶
|
||||
曼聯
|
||||
車路士
|
||||
切爾西 對 曼聯
|
||||
英超
|
||||
何沛珈
|
||||
熱刺
|
||||
tottenham vs brighton
|
||||
熱刺 對 布萊頓
|
||||
epl
|
||||
司機
|
||||
补贴
|
||||
華富邨
|
||||
江美儀
|
||||
零售
|
||||
藍莓
|
||||
商湯科技
|
||||
周國豐
|
||||
啟點
|
||||
歐聯
|
||||
神戶勝利船
|
||||
潘宏彬
|
||||
姚正菁
|
||||
木乃伊
|
||||
ios 26
|
||||
李克寧木乃伊
|
||||
田啟文
|
||||
曼寧加
|
||||
arsenal
|
||||
ucl
|
||||
歐洲聯賽冠軍盃
|
||||
arsenal vs sporting
|
||||
bayern vs real madrid
|
||||
real madrid
|
||||
皇馬
|
||||
拜仁慕尼黑 對 皇家馬德里
|
||||
claude
|
||||
補貼
|
||||
nba 直播
|
||||
航空公司
|
||||
向華強
|
||||
李嘉欣
|
||||
typhoon
|
||||
nba
|
||||
nba線上看
|
||||
nba直播
|
||||
全民國家安全教育日
|
||||
運輸署
|
||||
liverpool vs psg
|
||||
利物浦
|
||||
barcelona
|
||||
歐冠
|
||||
馬德里競技 對 巴塞隆納
|
||||
利物浦 對 巴黎聖日耳曼
|
||||
hkjc
|
||||
馬會
|
||||
航空
|
||||
2035
|
||||
man united vs leeds
|
||||
曼聯 對 里茲聯
|
||||
prediction market
|
||||
預測市場
|
||||
polymarket
|
||||
巴基斯坦
|
||||
sndk
|
||||
楊何蓓茵
|
||||
樂珈嘉
|
||||
姜濤
|
||||
日經平均指數
|
||||
飲茶
|
||||
上市公司
|
||||
daniel caesar
|
||||
中年好聲音4
|
||||
香港天文台
|
||||
煤氣
|
||||
livenation
|
||||
政府
|
||||
香港天文台天氣預報
|
||||
MTR 港鐵路線圖
|
||||
OpenRice 附近美食
|
||||
LIHKG 討論區
|
||||
恆生指數今日行情
|
||||
SCMP breaking news
|
||||
HKEX 港交所股價
|
||||
國泰航空航班狀態
|
||||
香港迪士尼樂園門票
|
||||
百佳超級市場網購
|
||||
|
||||
1
data/keywords/kw_ID.txt
Normal file
1
data/keywords/kw_ID.txt
Normal file
@@ -0,0 +1 @@
|
||||
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
|
||||
1
data/keywords/kw_IN.txt
Normal file
1
data/keywords/kw_IN.txt
Normal file
@@ -0,0 +1 @@
|
||||
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,103 +1,200 @@
|
||||
町田ゼルビア
|
||||
モンスターハンターシリーズ
|
||||
クリスタル・パレス 対 ウェストハム
|
||||
吉田正尚
|
||||
旭琉會
|
||||
神戸
|
||||
kick
|
||||
てんちむ
|
||||
浜辺美波
|
||||
デーブ ロバーツ
|
||||
皇治
|
||||
小雪
|
||||
にじさんじデビュー
|
||||
ちゃんよた
|
||||
坂本 花織
|
||||
松山 千春
|
||||
dior
|
||||
リーグアン
|
||||
伊勢谷友介
|
||||
bayern vs vfb stuttgart
|
||||
chelsea vs man united
|
||||
唐田えりか
|
||||
102回目のプロポーズ
|
||||
デゼルビ
|
||||
アトレティコ 対 ソシエダ
|
||||
チェルシー 対 マンu
|
||||
スパーズ
|
||||
清春
|
||||
ディエゴ・ゴメス
|
||||
ps5
|
||||
ハイウェイ の 堕 天使 興行 収入
|
||||
カブス 対 メッツ
|
||||
dazn
|
||||
サッスオーロ 対 コモ
|
||||
杉咲花
|
||||
町田 対 アル・イテハド
|
||||
家計
|
||||
週末旅の極意
|
||||
北斗の拳
|
||||
qvc
|
||||
小芝風花
|
||||
中井亜美
|
||||
afc u20女子アジアカップ
|
||||
ネオジオ
|
||||
uefaヨーロッパリーグ
|
||||
加藤史帆
|
||||
志田未来
|
||||
伊藤英明
|
||||
島田麻央
|
||||
al-nassr vs al-ettifaq
|
||||
arsenal
|
||||
レアル・マドリード
|
||||
バイエルン
|
||||
abema
|
||||
real madrid
|
||||
lucknow super giants vs royal challengers bengaluru standings
|
||||
bayern vs real madrid
|
||||
給付
|
||||
wowow
|
||||
小泉進次郎
|
||||
政権
|
||||
ミキティ
|
||||
ソニック
|
||||
今日のドジャースの結果
|
||||
新名神高速道路
|
||||
わたせせいぞう
|
||||
ピーチ航空
|
||||
投手
|
||||
フェルナンド・アロンソ
|
||||
7203
|
||||
dirty frag
|
||||
フジロックフェスティバル
|
||||
首都高速道路
|
||||
nttドコモ
|
||||
高橋ヒロム
|
||||
横浜 道路陥没
|
||||
ウルトラザウルス
|
||||
村上 宗隆
|
||||
サブスク
|
||||
島根スサノオマジック
|
||||
熱中症
|
||||
柄本時生
|
||||
藤田明美
|
||||
国会議事堂
|
||||
八代市
|
||||
堀井雄二
|
||||
イラン
|
||||
渋野日向子
|
||||
コンサドーレ
|
||||
コンサドーレ札幌
|
||||
栃木sc
|
||||
秋山翔吾
|
||||
大分トリニータ
|
||||
藤枝myfc
|
||||
大阪桐蔭高等学校
|
||||
鹿児島ユナイテッド
|
||||
j2
|
||||
変死体
|
||||
ミニストップ
|
||||
ゴゴスマ
|
||||
韓国 ホルムズ 海峡
|
||||
バンテリンドーム
|
||||
松本光平
|
||||
クーリエ・ジャポン
|
||||
タイアニ ライン デルス
|
||||
阿智村
|
||||
オリックス・バファローズ
|
||||
無印
|
||||
kpmg
|
||||
トランテックス
|
||||
31
|
||||
jin
|
||||
スタバ
|
||||
ゴンチャ
|
||||
travis japan
|
||||
ウォニョン
|
||||
dena 対 広島
|
||||
菅沼菜々
|
||||
カターレ富山
|
||||
北九州 対 大分
|
||||
山形 対 栃木sc
|
||||
平良海馬
|
||||
海上自衛隊
|
||||
ベナビデス
|
||||
weリーグ
|
||||
田中健
|
||||
ミステリーウェイ
|
||||
石川遼
|
||||
西野七瀬
|
||||
堀田真由
|
||||
横浜fc 対 相模原
|
||||
イラストやメーカー
|
||||
薬局
|
||||
g大阪 対 神戸
|
||||
オコエ瑠偉
|
||||
川崎
|
||||
湘南 対 栃木c
|
||||
バルミューダ
|
||||
hikakin
|
||||
東京
|
||||
近畿大学
|
||||
小樽
|
||||
田園都市線
|
||||
常磐線
|
||||
東京スカイツリー
|
||||
みずほ銀行 ゴールデンウィーク
|
||||
力士
|
||||
秋元杏月
|
||||
四国電力
|
||||
佐久間宣行
|
||||
和田 まあ や
|
||||
浅田 美代子
|
||||
バトオペ2
|
||||
千葉県
|
||||
慶應義塾大学
|
||||
パンチ
|
||||
ぶ いす ぽ 活動 休止
|
||||
ベガルタ仙台
|
||||
サンフレッチェ広島
|
||||
相模原 対 栃木c
|
||||
ロッチ中岡
|
||||
奈良 対 高知
|
||||
福島圭音
|
||||
神宮球場
|
||||
オスナ ヤクルト
|
||||
浦和 対 川崎f
|
||||
村上宗隆
|
||||
ゴー イントゥ スカイ
|
||||
地球温暖化
|
||||
文部科学省
|
||||
カベポスター
|
||||
奈良県
|
||||
バナナマン日村
|
||||
山本由伸
|
||||
アレックス・ベシア
|
||||
リバプール
|
||||
champions league
|
||||
警視正
|
||||
中国電力
|
||||
jr九州
|
||||
村田製作所
|
||||
四谷大塚
|
||||
外崎 修 汰
|
||||
備蓄
|
||||
日産 キックス 新型
|
||||
ドナルド・トランプ
|
||||
ニューヨーク
|
||||
小谷昌太郎 イケパラ
|
||||
東京エレクトロン
|
||||
ミラン 対 ユヴェントス
|
||||
宇連ダム 貯水率
|
||||
櫻坂46
|
||||
与沢翼
|
||||
岩手県 大槌町 山林火災
|
||||
谷原章介
|
||||
端午
|
||||
週間天気予報
|
||||
トリノ 対 インテル
|
||||
佐野海舟
|
||||
アーセナル
|
||||
高岡蒼佑
|
||||
マンチェスター・シティfc
|
||||
ゲンク 対 スタンダール
|
||||
kick
|
||||
chat gpt
|
||||
hulu
|
||||
nac 対 アヤックス
|
||||
エプスタイン
|
||||
arsenal đấu với newcastle
|
||||
ベティス 対 rマドリード
|
||||
dior
|
||||
伊藤美来
|
||||
フィギュア
|
||||
玉置浩二
|
||||
生田絵梨花
|
||||
日本高野連会長辞任
|
||||
anaheim
|
||||
sbiグローバルアセットマネジメント
|
||||
ストレンジャーシングス
|
||||
石油
|
||||
ios 26.4 2
|
||||
ポケモンカード
|
||||
シュトゥットガルト 対 フライブルク
|
||||
ドラクエ スマグロ 攻略
|
||||
ipl
|
||||
アコム
|
||||
鈴木愛理
|
||||
sox指数
|
||||
村上世彰
|
||||
桐山 照史
|
||||
マラッカ海峡
|
||||
ソニック
|
||||
sbi新生銀行 株価
|
||||
マイクラ
|
||||
川口 春奈
|
||||
サンダー 対 サンズ
|
||||
インフルエンサー
|
||||
サンケイビル
|
||||
岡村隆史
|
||||
上田竜也
|
||||
メタプラネット
|
||||
バルセロナ 対 セルタ
|
||||
三橋くん
|
||||
エルニーニョ
|
||||
アトレティコ 対 バルセロナ
|
||||
オープンワールド
|
||||
atlético madrid vs barcelona
|
||||
松田好花
|
||||
リコール
|
||||
man united vs leeds
|
||||
白鵬翔
|
||||
日本アカデミー賞 最優秀助演男優賞
|
||||
マンu 対 リーズ u
|
||||
サンディスク 株価
|
||||
らじるらじる
|
||||
マクドナルド
|
||||
ロシア
|
||||
広島市
|
||||
ゲイブル・スティーブソン
|
||||
日本維新の会
|
||||
新 日本 繊維
|
||||
高見沢 俊彦
|
||||
不登校
|
||||
後期高齢者医療制度
|
||||
バーミヤン
|
||||
宮澤エマ
|
||||
チケプラ
|
||||
横綱
|
||||
宮里美香
|
||||
東京 天気 明日
|
||||
新宿 おすすめ 居酒屋
|
||||
最新のニュース 速報
|
||||
ゴールド 相場 チャート
|
||||
近くの静かなカフェ
|
||||
円安 影響 生活
|
||||
バーンリー 対 マンc
|
||||
ボーンマス 対 リーズ u
|
||||
elche vs atlético madrid
|
||||
レバークーゼン 対 バイエルン
|
||||
ソシエダ 対 ヘタフェ
|
||||
サイメモリ
|
||||
b リーグ 順位
|
||||
日ハム
|
||||
ナダル
|
||||
失点
|
||||
岩瀬洋志
|
||||
ファイターズ 試合
|
||||
江村美咲
|
||||
宝島社
|
||||
井ノ原 快彦
|
||||
ファイターズ
|
||||
西郷隆盛
|
||||
ボーダー
|
||||
チェルシー
|
||||
関税
|
||||
ブライトン
|
||||
佳子内親王
|
||||
rマドリード 対 アラベス
|
||||
鳥貴族
|
||||
ブライトン 対 チェルシー
|
||||
アシエンダ乗馬学校
|
||||
|
||||
1
data/keywords/kw_KH.txt
Normal file
1
data/keywords/kw_KH.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 ព័ត៌មានថ្ងៃនេះ ភ្នំពេញ អាកាសធាតុ កម្ពុជា តម្លៃប្រាក់រៀល
|
||||
@@ -1,47 +1,200 @@
|
||||
크리스털 팰리스 대 웨스트 햄
|
||||
비상계엄
|
||||
연기금
|
||||
배틀그라운드
|
||||
제이홉
|
||||
두산로보틱스
|
||||
부부
|
||||
미노이 우원재
|
||||
danish malewar
|
||||
mi vs gt
|
||||
양치 승
|
||||
프리미어리그
|
||||
pl
|
||||
bundesliga
|
||||
맨체스터 시티 fc
|
||||
fotmob
|
||||
윤아
|
||||
김영인
|
||||
манчестер сити – арсенал
|
||||
케이뱅크
|
||||
날씨
|
||||
환율
|
||||
빌라
|
||||
정원오
|
||||
김지원
|
||||
최준영
|
||||
이영호
|
||||
에이피알
|
||||
펜타포트
|
||||
유조선
|
||||
곡사포
|
||||
노동조합
|
||||
이자
|
||||
디나미스원
|
||||
개헌안
|
||||
lafc
|
||||
최태원
|
||||
쯔양
|
||||
장마
|
||||
정수정
|
||||
이창호
|
||||
현대차 채용
|
||||
박지원
|
||||
울산항
|
||||
에이 비엘 바이오
|
||||
하하
|
||||
삼성물산
|
||||
풍력 발전
|
||||
지수
|
||||
수익률
|
||||
라이언 와이스
|
||||
사우디아라비아
|
||||
nc 대 ssg
|
||||
경북대학교
|
||||
한화 대 kia
|
||||
롯데 대 kt
|
||||
키움 대 삼성
|
||||
두산 대 lg
|
||||
대학
|
||||
여객선
|
||||
고우림
|
||||
안젤리나 졸리
|
||||
안성재
|
||||
토요타 rav4
|
||||
황희찬
|
||||
g7
|
||||
항공 승무원
|
||||
스트레티지
|
||||
대한전선
|
||||
나승엽
|
||||
인플루언서
|
||||
이재욱
|
||||
삼성바이오로직스
|
||||
스마일게이트
|
||||
강민호
|
||||
mls
|
||||
장도연
|
||||
이재명 정부
|
||||
예방 접종
|
||||
통장
|
||||
소송
|
||||
울산 대 포항
|
||||
fc 서울 대 김천상무
|
||||
차명석
|
||||
붉은사막
|
||||
소라와 진경
|
||||
멕시코 축구 국가 대표팀
|
||||
한화시스템
|
||||
윤영경
|
||||
월세
|
||||
오타니 쇼헤이
|
||||
이서진
|
||||
굴리엘모 비카리오
|
||||
재건축
|
||||
나솔
|
||||
재판
|
||||
라이엇
|
||||
진소리
|
||||
아빠하고 나하고
|
||||
mlb
|
||||
박진만
|
||||
중고
|
||||
롯데 자이언츠
|
||||
강동원
|
||||
혁신도시
|
||||
제로페이
|
||||
체이스 인피니티
|
||||
주스 아저씨
|
||||
권민규
|
||||
변요한
|
||||
이유 비
|
||||
변호사 시험
|
||||
금보유고
|
||||
이상화
|
||||
커피
|
||||
김효범
|
||||
김범석
|
||||
국립중앙도서관
|
||||
어도어
|
||||
황재균
|
||||
주호민
|
||||
채원빈
|
||||
분식
|
||||
위례신도시
|
||||
박동혁
|
||||
박용호
|
||||
한화첨단소재
|
||||
한상진
|
||||
차승원
|
||||
한국경제
|
||||
효성중공업
|
||||
최홍라
|
||||
uae vs oman
|
||||
부정승차
|
||||
박하나
|
||||
일본인
|
||||
공천
|
||||
한고은
|
||||
우체국
|
||||
sk증권
|
||||
세리에 a
|
||||
암호화폐
|
||||
수지
|
||||
새마을금고
|
||||
사주
|
||||
차두리
|
||||
평택시 을
|
||||
야닉 시너
|
||||
정성호
|
||||
첼시
|
||||
psg
|
||||
리그앙
|
||||
arsenal đấu với newcastle
|
||||
맨시티
|
||||
man city đấu với southampton
|
||||
아스널
|
||||
arsenal vs newcastle
|
||||
아스널 대 뉴캐슬
|
||||
man city vs southampton
|
||||
안보현
|
||||
트와이스
|
||||
s
|
||||
엔비디아 주가
|
||||
이경실
|
||||
신발
|
||||
하현상
|
||||
김수희
|
||||
gt vs rcb
|
||||
amd 주가
|
||||
왕다루
|
||||
시그널
|
||||
모하메드 살라
|
||||
공화당
|
||||
윤하정
|
||||
청남대
|
||||
더보이즈
|
||||
노민우
|
||||
서비스나우
|
||||
김민지
|
||||
박해미
|
||||
국가유산청
|
||||
삼성전자 주가
|
||||
손흥민
|
||||
토트넘 경기 일정
|
||||
넷플릭스
|
||||
국민은행
|
||||
네이버웹툰
|
||||
로또 당첨번호
|
||||
쿠팡
|
||||
KBO 리그
|
||||
프로야구 순위
|
||||
아이폰 15
|
||||
챗gpt
|
||||
인스타그램
|
||||
유튜브 밴스드
|
||||
이강인
|
||||
김민재
|
||||
LCK 일정
|
||||
T1
|
||||
페이커
|
||||
무빙
|
||||
카카오톡 PC버전
|
||||
당근마켓
|
||||
배달의민족
|
||||
올리브영
|
||||
메이플스토리
|
||||
두산에너빌리티 주가
|
||||
김성수
|
||||
한국사
|
||||
삼성전기 주가
|
||||
국립중앙박물관
|
||||
대우건설 주가
|
||||
지방 선거
|
||||
서정대학교
|
||||
캔바
|
||||
한국항공우주산업
|
||||
디트로이트 대 올랜도
|
||||
리그 1
|
||||
elche vs atlético madrid
|
||||
알나스르
|
||||
al-nassr vs al ahli
|
||||
10
|
||||
로세니어
|
||||
psg 대 낭트
|
||||
테슬라 실적발표
|
||||
루카스 모우라
|
||||
9950x3d2
|
||||
삼천당 제약 간담회
|
||||
김재윤
|
||||
k리그1 순위
|
||||
유영찬
|
||||
이호연
|
||||
sxmb
|
||||
진
|
||||
문재인
|
||||
생산직
|
||||
강훈식
|
||||
롤
|
||||
cnn
|
||||
리그오브레전드
|
||||
박환희
|
||||
박지현
|
||||
카토
|
||||
와우넷
|
||||
지구의 날
|
||||
컴프야
|
||||
|
||||
1
data/keywords/kw_LA.txt
Normal file
1
data/keywords/kw_LA.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 ຂ່າວມື້ນີ້ ວຽງຈັນ ອາກາດ ລາວ ເງິນກີບ
|
||||
1
data/keywords/kw_MM.txt
Normal file
1
data/keywords/kw_MM.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 သတင်း ယနေ့ ရန်ကုန် ရာသီဥတု မြန်မာ ကျပ်ငွေ
|
||||
1
data/keywords/kw_MN.txt
Normal file
1
data/keywords/kw_MN.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 өнөөдрийн мэдээ улаанбаатар цаг агаар төгрөг ханш
|
||||
178
data/keywords/kw_MY.txt
Normal file
178
data/keywords/kw_MY.txt
Normal file
@@ -0,0 +1,178 @@
|
||||
saman
|
||||
lebron james
|
||||
ana airlines
|
||||
水晶宫 - 顿涅茨克矿工
|
||||
strasbourg vs rayo vallecano
|
||||
marissa dania hakim
|
||||
大马卡
|
||||
bangladesh vs pakistan
|
||||
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
|
||||
gaji mei 2026
|
||||
palmeiras vs santos
|
||||
奥萨苏纳 - 巴塞罗那
|
||||
inter miami vs orlando city
|
||||
uae opec exit analysis
|
||||
grab cross border taxi
|
||||
menteri besar negeri sembilan
|
||||
malaysia badminton thomas cup
|
||||
nba live
|
||||
猛龙 - 骑士
|
||||
flower moon
|
||||
ek din movie review
|
||||
火箭 - 湖人
|
||||
macbook
|
||||
china
|
||||
global sumud flotilla 2.0
|
||||
nepal vs uae
|
||||
森林狼 - 掘金
|
||||
robotaxi
|
||||
76人 - 凯尔特人
|
||||
selamat hari buruh 2026
|
||||
f1 schedule
|
||||
lakers vs houston rockets
|
||||
amira othman
|
||||
lakers vs houston rockets match player stats
|
||||
federal reserve interest rates
|
||||
adidas
|
||||
mohamad hasan
|
||||
austin reaves
|
||||
lafc vs toluca
|
||||
lakers
|
||||
湖人 - 火箭
|
||||
oma vs nep
|
||||
ppv
|
||||
mothers day
|
||||
nte redeem code
|
||||
skyechip
|
||||
马刺 - 开拓者
|
||||
one championship live
|
||||
labour day
|
||||
indonesia thomas cup
|
||||
anggota tentera
|
||||
阿sa
|
||||
掘金 - 森林狼
|
||||
one championship
|
||||
apple iphone foldable
|
||||
太阳 - 雷霆
|
||||
p1p plate
|
||||
nuggets vs timberwolves
|
||||
electronic invoicing
|
||||
malaysian meteorological department
|
||||
datuk seri aminuddin harun
|
||||
court
|
||||
bella astillah
|
||||
today wordle hints
|
||||
ezi ray 01
|
||||
uae vs oman
|
||||
rekod dunia
|
||||
mayat
|
||||
milan vs juventus
|
||||
osasuna vs sevilla
|
||||
estrela amadora vs porto
|
||||
lockheed martin
|
||||
galatasaray vs fenerbahçe
|
||||
polis
|
||||
torino vs inter
|
||||
terengganu fc
|
||||
angkrish raghuvanshi
|
||||
dortmund vs sc freiburg
|
||||
atlético madrid vs athletic club
|
||||
fa cup games
|
||||
แมนซิตี พบ เซาแธมป์ตัน
|
||||
benfica vs moreirense
|
||||
city
|
||||
valencia vs girona
|
||||
man city games
|
||||
bayern vs barcelona
|
||||
英超积分榜
|
||||
angers vs psg
|
||||
sunderland vs nottm forest
|
||||
real betis lwn real madrid cf
|
||||
napoli vs cremonese
|
||||
real betis vs real madrid
|
||||
perfect crown ep 5
|
||||
siti mastura mohamad
|
||||
jannik sinner
|
||||
sai sudharsan
|
||||
yaris cross hybrid
|
||||
cretaceous kraken
|
||||
rayo vallecano vs espanyol
|
||||
dji lito x1
|
||||
levante vs sevilla
|
||||
danish malewar
|
||||
mukesh choudhary
|
||||
lyrid meteor showers
|
||||
jamie overton
|
||||
piala uber
|
||||
madrid open
|
||||
dewald brevis
|
||||
counter strike
|
||||
pistons vs magic
|
||||
real salt lake vs inter miami
|
||||
chart gpt
|
||||
asiago
|
||||
liza hanim
|
||||
good morning
|
||||
pandikar amin mulia
|
||||
勒沃库森 - 拜仁
|
||||
santos vs coritiba
|
||||
Malaysia
|
||||
Kuala Lumpur
|
||||
Bursa Malaysia
|
||||
Ringgit
|
||||
Maybank
|
||||
CIMB
|
||||
Shopee MY
|
||||
Lazada Malaysia
|
||||
KWSP i-Akaun
|
||||
LHDN MyTax
|
||||
Anwar Ibrahim
|
||||
Johor Bahru
|
||||
Penang
|
||||
Nasi Lemak
|
||||
110
data/keywords/kw_NG.txt
Normal file
110
data/keywords/kw_NG.txt
Normal file
@@ -0,0 +1,110 @@
|
||||
lakers vs thunder
|
||||
b
|
||||
independiente medellin vs cr flamengo rj
|
||||
pistons vs cavaliers
|
||||
joni lamb
|
||||
pope leo xiv bank call
|
||||
fcmb
|
||||
kodak black
|
||||
cole palmer
|
||||
election law
|
||||
one ui 8.5 release date
|
||||
spurs vs timberwolves
|
||||
knicks vs 76ers
|
||||
atenas cordoba vs argentino junin
|
||||
update
|
||||
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
|
||||
bbc.hausa
|
||||
ekiti
|
||||
china
|
||||
timberwolves vs nuggets
|
||||
76ers vs celtics
|
||||
knicks vs hawks
|
||||
hawks vs knicks
|
||||
spotify
|
||||
labour day
|
||||
asake new album
|
||||
lakers
|
||||
lakers vs rockets
|
||||
pistons vs magic
|
||||
orlando city vs new england
|
||||
ibukun awosika
|
||||
xiaomi 17t anatel listing
|
||||
sporting fc
|
||||
alvarez
|
||||
asake
|
||||
arsenal vs psg
|
||||
william ruto
|
||||
spurs vs trail blazers
|
||||
ahsoka tano replacement star wars
|
||||
san lorenzo vs santos
|
||||
the devil wears prada 2
|
||||
king charles
|
||||
house of the dragon season 3
|
||||
gta 5
|
||||
nuggets vs timberwolves
|
||||
suns vs thunder
|
||||
bybit
|
||||
jack grealish
|
||||
sanwo olu
|
||||
saheed balogun
|
||||
man u fc
|
||||
live score today
|
||||
tinubu
|
||||
lagos weather
|
||||
super eagles
|
||||
naira exchange rate
|
||||
davido
|
||||
wizkid
|
||||
burna boy
|
||||
afcon
|
||||
nollywood
|
||||
@@ -1,3 +1,196 @@
|
||||
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
|
||||
weer rotterdam
|
||||
ijsselstein
|
||||
benzine
|
||||
kyle loftis
|
||||
stagflatie
|
||||
adyen
|
||||
weer groningen
|
||||
weer utrecht
|
||||
weerbericht
|
||||
andes virus
|
||||
stranger things
|
||||
ziggo
|
||||
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
|
||||
weather
|
||||
benzine en diesel
|
||||
witsnuitdolfijn
|
||||
farioli
|
||||
ongeval
|
||||
grand prix formule 1 van miami 2026
|
||||
formule 1
|
||||
uitslagen eredivisie
|
||||
ontsnapte zebra
|
||||
miami f1
|
||||
shakira
|
||||
rave
|
||||
daghoroscoop
|
||||
weeronline
|
||||
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
|
||||
lakers vs rockets
|
||||
bultrug timmy
|
||||
b&b vol liefde
|
||||
vakantiegeld
|
||||
martijn van der vorm rotterdam
|
||||
ismaël baouf
|
||||
ea sports fc 26
|
||||
bauke mollema
|
||||
xrp nieuws
|
||||
kaaba
|
||||
mathieu van der poel
|
||||
een miljard
|
||||
p2000
|
||||
james comey
|
||||
helena bonham carter
|
||||
george russell
|
||||
openbaar vervoer
|
||||
wayne mardle
|
||||
europese unie
|
||||
florence pugh
|
||||
concert golden earring ahoy
|
||||
de telegraaf
|
||||
openai
|
||||
crypto insiders
|
||||
stefano domenicali
|
||||
brand emmeloord
|
||||
loosdrecht
|
||||
taylor swift
|
||||
militair
|
||||
emma heesters
|
||||
luik-bastenaken-luik
|
||||
luilakken koningsdag
|
||||
rusland
|
||||
car rental
|
||||
112 leiden
|
||||
taxi
|
||||
michael
|
||||
passengers
|
||||
finale wie is de mol
|
||||
bourtange
|
||||
marseille - nice
|
||||
unchosen
|
||||
prinses
|
||||
sylvester stallone
|
||||
28 years later
|
||||
programma koningsdag 2026
|
||||
milan - juventus
|
||||
aryna sabalenka
|
||||
fortuna
|
||||
curacao
|
||||
atlético madrid - ath. bilbao
|
||||
digid solvinity
|
||||
baywatch
|
||||
boy kemper
|
||||
donyell malen
|
||||
twente - nec
|
||||
afc champions league
|
||||
wesley sonck
|
||||
arnold schwarzenegger
|
||||
devil wears prada
|
||||
jagiellonia białystok – górnik zabrze
|
||||
max verstappen redbull
|
||||
mvv - top oss
|
||||
energiecontract
|
||||
real betis - real madrid
|
||||
fc den bosch
|
||||
maarten van rossem
|
||||
jake paul
|
||||
financiën
|
||||
zonnepaneel
|
||||
xrp
|
||||
cyprus
|
||||
verdachte
|
||||
112 eerbeek
|
||||
golden earring
|
||||
sergiño dest
|
||||
david wilcock
|
||||
asiago
|
||||
shownieuws
|
||||
nijmegen
|
||||
keira knightley
|
||||
112 meldingen amsterdam
|
||||
dierenmishandeling
|
||||
112 amsterdam
|
||||
freek rikkerink
|
||||
poetin
|
||||
atalanta - lazio
|
||||
mr nobody against putin
|
||||
club brugge - mechelen
|
||||
frank hosmar
|
||||
barcelona - celta
|
||||
kees flodder
|
||||
burnley - manchester city
|
||||
lodewijk asscher
|
||||
vallende sterren
|
||||
guus meeuwis
|
||||
hoofddorp
|
||||
kaja kallas
|
||||
politiek
|
||||
stroomstoring amersfoort
|
||||
solvinity digid
|
||||
wout weghorst
|
||||
jamie kames
|
||||
bitvavo
|
||||
box 3
|
||||
ronde van de alpen
|
||||
matthias uhl
|
||||
taken film
|
||||
robot
|
||||
girona - real betis
|
||||
real madryt – deportivo alaves
|
||||
tbilisi
|
||||
southampton - bristol city
|
||||
vittoria guazzini
|
||||
oppo find x9 ultra
|
||||
real madrid - alavés
|
||||
الريال ضد ألافيس
|
||||
lecce - fiorentina
|
||||
pogoda jutro
|
||||
vierhouten
|
||||
@@ -5,81 +198,3 @@ weather tomorrow
|
||||
over mijn lijk 2026 overleden
|
||||
crystal palace - west ham
|
||||
f-16 fighting falcon
|
||||
klagenfurt
|
||||
italië
|
||||
ruud gullit
|
||||
perfil falso
|
||||
psg - lyon
|
||||
juventus - bologna
|
||||
troy parrott
|
||||
az - nec opstellingen
|
||||
caroline tensen
|
||||
asielbeleid
|
||||
philippe sandler
|
||||
keerbergen
|
||||
peer koopmeiners
|
||||
nederlands elftal
|
||||
pogoń szczecin – lech poznań
|
||||
stand premier league
|
||||
bulgarije
|
||||
chelsea - man utd
|
||||
atlético madrid - real sociedad
|
||||
xavi simons
|
||||
ayase ueda
|
||||
roma - atalanta
|
||||
rtv noord
|
||||
paraguay
|
||||
sergio herman
|
||||
fed
|
||||
keuken kampioen
|
||||
legia warszawa – zagłębie lubin
|
||||
ripple
|
||||
voorzitter fed
|
||||
bahamas
|
||||
overtreding
|
||||
almere city
|
||||
real betis
|
||||
sean connery
|
||||
l1 nieuws
|
||||
ronaldinho
|
||||
demi de boer
|
||||
bondgenoten
|
||||
frank masmeijer
|
||||
real betis - braga
|
||||
ethereum
|
||||
aston villa - bologna
|
||||
manuel neuer
|
||||
neuer
|
||||
olise
|
||||
mbappe
|
||||
sporting
|
||||
live tv
|
||||
bayern munchen
|
||||
arda güler
|
||||
ziggo
|
||||
arda guler
|
||||
netflix
|
||||
frenkie de jong
|
||||
kanye west
|
||||
vandaag inside
|
||||
at5
|
||||
veroordeling
|
||||
verenigde staten
|
||||
alec baldwin
|
||||
anna paulowna
|
||||
şampiyonlar ligi
|
||||
NOS Nieuws
|
||||
Buienradar
|
||||
Rijksoverheid
|
||||
Albert Heijn
|
||||
Funda
|
||||
Marktplaats
|
||||
KLM
|
||||
Ziggo
|
||||
ING Bank
|
||||
Eredivisie
|
||||
Amsterdam Weer
|
||||
Bol.com
|
||||
Treinkaartjes NS
|
||||
PostNL
|
||||
Pathé
|
||||
|
||||
1
data/keywords/kw_NP.txt
Normal file
1
data/keywords/kw_NP.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 नेपाल समाचार आजको समाचार काठमाडौं मौसम नेपाली रुपैयाँ विनिमय दर
|
||||
1
data/keywords/kw_PH.txt
Normal file
1
data/keywords/kw_PH.txt
Normal file
@@ -0,0 +1 @@
|
||||
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
|
||||
1
data/keywords/kw_SA.txt
Normal file
1
data/keywords/kw_SA.txt
Normal file
@@ -0,0 +1 @@
|
||||
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,3 +1,188 @@
|
||||
lebron james
|
||||
bangladesh vs pakistan
|
||||
palace vs shakhtar donetsk
|
||||
ec mop
|
||||
thunder vs lakers
|
||||
pistons vs cavaliers
|
||||
canvas
|
||||
david attenborough
|
||||
iran war
|
||||
uefa
|
||||
job
|
||||
megatsunami
|
||||
hdb
|
||||
mark zuckerberg
|
||||
naval strike missile
|
||||
spurs vs timberwolves
|
||||
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
|
||||
补贴
|
||||
ticketmaster
|
||||
新加坡博彩公司
|
||||
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
|
||||
mls
|
||||
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
|
||||
weather forecast
|
||||
universal studios singapore
|
||||
nba scores
|
||||
lorna hajdini
|
||||
cancer
|
||||
lakers
|
||||
dbs earnings
|
||||
lafc vs toluca
|
||||
cyclist
|
||||
lakers vs rockets
|
||||
jerome powell
|
||||
white house correspondents' dinner
|
||||
oman vs nepal
|
||||
primary 1
|
||||
mapletree industrial trust
|
||||
spurs vs trail blazers
|
||||
knicks vs hawks
|
||||
snake
|
||||
marriage
|
||||
san lorenzo vs santos
|
||||
bankruptcy
|
||||
诈骗
|
||||
us-iran
|
||||
flight
|
||||
jeanette aw
|
||||
jisoo
|
||||
nuggets vs timberwolves
|
||||
suns vs thunder
|
||||
drug
|
||||
jimmy kimmel
|
||||
erika kirk
|
||||
elon musk
|
||||
hokkaido earthquake today
|
||||
labour day
|
||||
angela palmares
|
||||
chernobyl disaster
|
||||
tengah garden residences
|
||||
torino vs inter
|
||||
dortmund vs sc freiburg
|
||||
angkrish raghuvanshi
|
||||
mohsin khan
|
||||
running man
|
||||
arsenal vs lyon
|
||||
genoa vs como
|
||||
kkr vs lsg
|
||||
bwf
|
||||
chelsea vs leeds
|
||||
bologna vs roma
|
||||
angers vs psg
|
||||
giant octopus fossil
|
||||
premier league standings
|
||||
apple iphone fold
|
||||
arsenal vs newcastle
|
||||
man city vs southampton
|
||||
bundesliga
|
||||
israel iran war
|
||||
freddie woodman
|
||||
sunderland vs nottm forest
|
||||
real betis vs real madrid
|
||||
anne hathaway
|
||||
michael jackson
|
||||
sai sudharsan
|
||||
madrid open
|
||||
amd
|
||||
gt vs rcb
|
||||
ijooz
|
||||
raghav chadha
|
||||
darren wang
|
||||
mukesh choudhary
|
||||
danish malewar
|
||||
allah ghazanfar
|
||||
peregrine falcon
|
||||
airasia flight
|
||||
arrest
|
||||
hao mart singapore
|
||||
real salt lake vs inter miami
|
||||
pistons vs magic
|
||||
krisflyer
|
||||
michael jackson biopic
|
||||
新加坡
|
||||
atalanta vs lazio
|
||||
伯恩利 - 曼城
|
||||
porto vs sporting
|
||||
cdl directors resign millennium copthorne
|
||||
tsla
|
||||
leverkusen vs bayern
|
||||
burnley vs man city
|
||||
elche vs atlético madrid
|
||||
psg vs nantes
|
||||
al-nassr vs al ahli
|
||||
changi
|
||||
rr vs lsg
|
||||
primary school
|
||||
alexandra eala
|
||||
tan su shan
|
||||
sundaresh menon
|
||||
moulin rouge musical singapore
|
||||
south korea
|
||||
step
|
||||
gamba osaka vs avispa fukuoka
|
||||
honor 600 pro
|
||||
china shipyards oil tanker orders
|
||||
coe
|
||||
real madrid vs alavés
|
||||
brighton vs chelsea
|
||||
nitish rana
|
||||
earth day
|
||||
michael movie
|
||||
kevin warsh
|
||||
srh vs dc
|
||||
chinese aircraft carrier liaoning
|
||||
andie chen
|
||||
jesseca liu wins best actress
|
||||
crystal palace vs west ham
|
||||
grok
|
||||
gemini
|
||||
@@ -6,7 +191,6 @@ gpt
|
||||
ai
|
||||
is chatgpt down
|
||||
strait of hormuz news
|
||||
danish malewar
|
||||
mi vs gt
|
||||
psg vs lyon
|
||||
sporting vs benfica
|
||||
@@ -14,96 +198,3 @@ bayern munich
|
||||
pl
|
||||
bangkok weather
|
||||
starhub
|
||||
廖子妤
|
||||
曼城 - 阿森纳
|
||||
bayern vs vfb stuttgart
|
||||
英超
|
||||
chelsea vs man united
|
||||
perfect crown
|
||||
ayush mhatre
|
||||
sarfaraz khan
|
||||
napoli vs lazio
|
||||
tottenham vs brighton
|
||||
abhishek sharma
|
||||
tinie tempah
|
||||
wrexham vs stoke city
|
||||
sassuolo vs como
|
||||
the straits times
|
||||
india women vs south africa women
|
||||
beef season 2
|
||||
loyang valley
|
||||
world cup 2026
|
||||
afc champions league
|
||||
hormuz
|
||||
malacca strait
|
||||
kkr vs gt
|
||||
aston villa vs bologna
|
||||
mumbai indians vs punjab kings standings
|
||||
al sadd vs vissel kobe
|
||||
amd share price
|
||||
opus 4.7
|
||||
pete hegseth
|
||||
naman dhir
|
||||
yen singapore dollar
|
||||
mayank rawat
|
||||
dji pocket 4
|
||||
real madrid
|
||||
al-nassr vs al-ettifaq
|
||||
bayern vs real madrid
|
||||
arsenal vs sporting
|
||||
lucknow super giants vs royal challengers bengaluru standings
|
||||
is claude down
|
||||
claude
|
||||
allbirds
|
||||
red sea
|
||||
rcb vs lsg
|
||||
retirement
|
||||
asia flights delays cancellations
|
||||
suns vs trail blazers
|
||||
johnny somali
|
||||
bam adebayo
|
||||
zhang linghe pursuit of jade
|
||||
roman gofman
|
||||
cruz azul vs lafc
|
||||
ocbc
|
||||
santos vs recoleta
|
||||
atlético madrid vs barcelona
|
||||
ipl schedule
|
||||
liverpool vs psg
|
||||
iran blockade strait of hormuz
|
||||
kartik tyagi
|
||||
carlos alcaraz
|
||||
propertylimbrothers
|
||||
byeon woo-seok
|
||||
mahathir mohamad
|
||||
csk vs kkr
|
||||
man united vs leeds
|
||||
cbse class 10 result 2026 date
|
||||
euphoria season 3
|
||||
srh vs rr
|
||||
tamil new year 2026
|
||||
low de wei
|
||||
pope
|
||||
flexar
|
||||
microsoft outlook
|
||||
new rolex 2026
|
||||
medical classification
|
||||
blasphemy law
|
||||
big bang coachella 2026
|
||||
小贩
|
||||
malaysia fuel price crisis
|
||||
sbti personality test
|
||||
cancer survivor
|
||||
tim cook
|
||||
spurs vs nuggets
|
||||
asia flights cancelled delayed
|
||||
singapore weather forecast
|
||||
mrt map singapore
|
||||
straitstimes breaking news
|
||||
cpf board login
|
||||
hdb bto launch updates
|
||||
best chicken rice near me
|
||||
public holidays sg
|
||||
singpass login portal
|
||||
changi airport flight status
|
||||
iras tax filing
|
||||
|
||||
1
data/keywords/kw_TH.txt
Normal file
1
data/keywords/kw_TH.txt
Normal file
@@ -0,0 +1 @@
|
||||
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 ข่าววันนี้ ข่าวด่วน กรุงเทพ อากาศวันนี้ ค่าเงินบาท
|
||||
20
data/keywords/kw_TR.txt
Normal file
20
data/keywords/kw_TR.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
ibb
|
||||
honor 600 pro 512 gb
|
||||
ibrahim tatlıses baboş
|
||||
kurban bayramı'na kaç gün kaldı
|
||||
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ş
|
||||
akşam
|
||||
bakanlık
|
||||
ankara hava
|
||||
hava durumu konya
|
||||
iphone
|
||||
@@ -1,62 +1,200 @@
|
||||
新應材
|
||||
google fitbit air
|
||||
股東
|
||||
謝金 河
|
||||
群聯
|
||||
nba
|
||||
星巴克買一送一
|
||||
exo 演唱會
|
||||
徐懷鈺
|
||||
光澤診所
|
||||
天弓三型防空飛彈
|
||||
國民 年金
|
||||
kylie jenner
|
||||
群創
|
||||
胡元輝
|
||||
徐熙娣
|
||||
壽司郎咖波
|
||||
美國國債
|
||||
聯合再生
|
||||
矽格
|
||||
宋成文
|
||||
teams
|
||||
軍 公教
|
||||
廣達
|
||||
高國豪老婆
|
||||
周子 瑜
|
||||
光寶科
|
||||
asml
|
||||
新莊淹水
|
||||
金凱德
|
||||
台玻
|
||||
九合一選舉
|
||||
頎邦
|
||||
五月天
|
||||
諾和諾德
|
||||
星宇航空
|
||||
瑞軒
|
||||
0050 成分 股
|
||||
亞馬遜 公司
|
||||
行政專機
|
||||
漢他病毒怎麼傳染
|
||||
封鎖
|
||||
博通
|
||||
2388
|
||||
陳光復
|
||||
華倫·巴菲特
|
||||
許常德
|
||||
英特爾
|
||||
00923
|
||||
friday
|
||||
中華民國國防部
|
||||
林維恩
|
||||
劉宇寧
|
||||
2 奈 米 製程
|
||||
淡江大橋何時通車
|
||||
天母
|
||||
陳盈潔
|
||||
林襄
|
||||
李芸
|
||||
夾子園火災
|
||||
黃路梓茵
|
||||
五十嵐淳子
|
||||
日春木瓜牛奶
|
||||
總統
|
||||
古林睿煬
|
||||
槍決
|
||||
dazn
|
||||
陳芋汐
|
||||
福特汽車
|
||||
洋基
|
||||
黃 國昌
|
||||
高速鐵路
|
||||
lck
|
||||
og anunoby
|
||||
白沙 屯 媽祖
|
||||
playstation
|
||||
psy
|
||||
70歲換駕照
|
||||
台灣
|
||||
email
|
||||
林逸欣
|
||||
張宇
|
||||
任天堂
|
||||
記憶體
|
||||
ive
|
||||
k spark 高雄
|
||||
斑斑
|
||||
粿 粿 判決書
|
||||
蔡沁瑜
|
||||
十銓科技
|
||||
邱軍
|
||||
股東會紀念品
|
||||
佳必琪
|
||||
勞動 節
|
||||
鍾東錦
|
||||
棒球
|
||||
spurs vs trail blazers
|
||||
8028
|
||||
鄭嘉睿
|
||||
spencer jones
|
||||
張凌赫
|
||||
山本由伸
|
||||
陳德修
|
||||
國巨
|
||||
俠 盜 獵 車手 vi
|
||||
晶豪科
|
||||
無限城
|
||||
謝淑薇
|
||||
台中停電
|
||||
公務員
|
||||
停電
|
||||
hito 流行音樂獎
|
||||
國際珍奶日
|
||||
台積電 內 鬼
|
||||
日圓
|
||||
佳能
|
||||
聯電 股東 會 紀念品
|
||||
張雪機車
|
||||
航空
|
||||
暴龍 對 騎士
|
||||
王苡丞
|
||||
遊戲
|
||||
chelsea đấu với leeds
|
||||
เชลซี พบ ลีดส์
|
||||
聯發科技
|
||||
詹姆士
|
||||
田麗
|
||||
token
|
||||
兵工廠
|
||||
魔術 對 活塞
|
||||
arsenal đấu với newcastle
|
||||
t.o.p.
|
||||
吸血鬼爬行者
|
||||
足總盃
|
||||
arsenal vs newcastle
|
||||
man city đấu với southampton
|
||||
消費券
|
||||
6187
|
||||
cpo概念股
|
||||
anaheim
|
||||
iu
|
||||
山口智子
|
||||
蔡依珊
|
||||
林岱安
|
||||
michael jackson 電影
|
||||
行動電源
|
||||
地震
|
||||
地震速報
|
||||
宋祖兒
|
||||
porter
|
||||
謝京穎
|
||||
德州儀器
|
||||
台新綜合證券
|
||||
希臘
|
||||
費城半導體
|
||||
mrvl
|
||||
狄鶯
|
||||
三星罷工
|
||||
00981a
|
||||
馬斯克
|
||||
辛耘
|
||||
宏碁股價
|
||||
0056
|
||||
2330
|
||||
雷霆 對 太陽
|
||||
0050股價
|
||||
006208
|
||||
景碩
|
||||
女警陳芊雯
|
||||
廢死聯盟
|
||||
西甲
|
||||
台灣積體電路製造
|
||||
高頻寬 記憶 體
|
||||
戴奧辛
|
||||
3665
|
||||
宋晟睿
|
||||
黃 甘霖
|
||||
劉家翔
|
||||
王耿豪
|
||||
王勝偉
|
||||
009816
|
||||
thời tiết ngày mai
|
||||
明天的天氣
|
||||
總部
|
||||
美光科技
|
||||
cpbl
|
||||
中華職棒
|
||||
中職
|
||||
黃甘霖
|
||||
6147
|
||||
earth day
|
||||
陳哲遠
|
||||
台鐵
|
||||
斯普拉遁 塗擊隊
|
||||
麥可傑克森
|
||||
神將彩券行
|
||||
米可白
|
||||
洪敬堯
|
||||
華邦電子
|
||||
柔美的細胞小將 3
|
||||
底特律老虎
|
||||
三 商 美邦
|
||||
川 普
|
||||
英雄聯盟
|
||||
聯電adr
|
||||
rklb
|
||||
amd stock
|
||||
宋仲基
|
||||
兵工廠
|
||||
德甲
|
||||
塞爾提克 對 76人
|
||||
justin bieber 演唱會
|
||||
拜仁慕尼黑
|
||||
何潤東
|
||||
廖子妤
|
||||
英超
|
||||
許凱
|
||||
tottenham vs brighton
|
||||
長野縣
|
||||
交通安全
|
||||
朋友收集夢想生活
|
||||
麥克傑克森
|
||||
王濛
|
||||
騎士 對 暴龍
|
||||
熱刺 對 布萊頓
|
||||
iem rio 2026
|
||||
garret anderson
|
||||
墓乃伊
|
||||
曹格
|
||||
claude design
|
||||
柯文哲
|
||||
金剛
|
||||
荷 姆 茲 海峽
|
||||
東北 季風
|
||||
斯圖加特公開賽
|
||||
歐聯
|
||||
菡生婦幼診所
|
||||
台鐵訂票
|
||||
飛機
|
||||
東光路
|
||||
货币
|
||||
amd
|
||||
航空母艦
|
||||
axti
|
||||
Yahoo奇摩
|
||||
天氣
|
||||
蝦皮購物
|
||||
PChome
|
||||
Momo購物網
|
||||
Mobile01
|
||||
Dcard
|
||||
巴哈姆特
|
||||
中時電子報
|
||||
聯合新聞網
|
||||
台灣高鐵
|
||||
台鐵時刻表
|
||||
中華電信
|
||||
統一發票
|
||||
勞動部
|
||||
|
||||
@@ -1,6 +1,194 @@
|
||||
pga tour
|
||||
reform policies 2026
|
||||
iplayer
|
||||
bb
|
||||
wandsworth
|
||||
bbc new
|
||||
sun
|
||||
wordle hint
|
||||
guardian uk
|
||||
daily echo
|
||||
yvonne gonzalez rogers musk case
|
||||
dp world tour
|
||||
nikkei 225
|
||||
do i need my polling card to vote
|
||||
north korea
|
||||
mothers day 2026
|
||||
the sun uk
|
||||
bbc radio 4
|
||||
airport
|
||||
jamie vardy
|
||||
connections today
|
||||
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
|
||||
daily record
|
||||
sports
|
||||
eswatini
|
||||
mcdonald's
|
||||
election commission of india
|
||||
funeral director
|
||||
restaurant
|
||||
southampton marathon 2026
|
||||
jet2.com
|
||||
lewis hamilton ferrari 2026 season
|
||||
ipswich town football
|
||||
on
|
||||
nationwide building society
|
||||
savings
|
||||
nursery school
|
||||
nba scores
|
||||
katie price
|
||||
lebron james
|
||||
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
|
||||
met office weather
|
||||
rangers f.c.
|
||||
anglian water
|
||||
edinburgh weather
|
||||
united utilities
|
||||
council tax
|
||||
christian horner
|
||||
lafc vs toluca
|
||||
lakers vs houston rockets match player stats
|
||||
snooker scores
|
||||
snooker
|
||||
housing market
|
||||
bankruptcy
|
||||
gina carano
|
||||
weather birmingham
|
||||
bbc nees
|
||||
ella langley
|
||||
emma grede
|
||||
ted lasso season 4 teaser trailer
|
||||
antidepressants recall
|
||||
financial crisis
|
||||
itv news
|
||||
engagement rings
|
||||
spurs vs trail blazers
|
||||
alexey mordashov
|
||||
good morning
|
||||
mortgage rates
|
||||
horoscope
|
||||
nhl scores
|
||||
nuggets vs timberwolves
|
||||
liverpool weather
|
||||
todays weather
|
||||
playstation plus
|
||||
manchester weather
|
||||
everton f.c.
|
||||
dvla
|
||||
snooker results
|
||||
delivery
|
||||
ronnie o'sullivan
|
||||
janet cleverly councillor reprimanded
|
||||
criminal record
|
||||
mark selby
|
||||
avs vs sporting
|
||||
david attenborough
|
||||
juventus
|
||||
elena rybakina
|
||||
eric bana
|
||||
roman kemp
|
||||
house fire wolverhampton
|
||||
paul merson
|
||||
is scarlett moffatt pregnant
|
||||
man city fixtures
|
||||
scarlets vs bulls
|
||||
monaco fc
|
||||
jaqueline cristian
|
||||
stock market
|
||||
napoli
|
||||
alex de minaur
|
||||
tigers vs hull fc
|
||||
edinburgh vs sharks
|
||||
mark williams snooker
|
||||
alex sinclair israeli police detention
|
||||
st. johnstone vs raith rovers
|
||||
mo farah
|
||||
newcastle vs bristol
|
||||
tbilisi
|
||||
connor storrie
|
||||
georgia
|
||||
stephen bunting
|
||||
great british menu 2026
|
||||
ravi eastenders
|
||||
salford city fc
|
||||
national grid
|
||||
mass effect
|
||||
salford city vs bromley
|
||||
real salt lake vs inter miami
|
||||
provinces of the pantheon
|
||||
mls
|
||||
russell brand
|
||||
john phelan
|
||||
hung cao
|
||||
pistons vs magic
|
||||
jerry bruckheimer
|
||||
st. george's day
|
||||
asiago
|
||||
framework laptop 13 pro
|
||||
boro
|
||||
interactive investor
|
||||
mint
|
||||
believe me itv
|
||||
amanda bynes
|
||||
strasbourg vs nice
|
||||
chase bank
|
||||
jak jones
|
||||
chase
|
||||
rodri
|
||||
christopher trybus
|
||||
lsg vs rr
|
||||
pension
|
||||
hebden bridge
|
||||
sandra bullock practical magic
|
||||
rolls-royce share price drop
|
||||
invincible season 5
|
||||
josé mourinho
|
||||
chris wakelin
|
||||
jimmy bullard adam thomas
|
||||
aer lingus flight cancellations
|
||||
sam west
|
||||
oxford united
|
||||
liam delap
|
||||
wba
|
||||
реал мадрид – алавес
|
||||
coppa italia
|
||||
girona vs real betis
|
||||
marcus rashford
|
||||
الريال ضد ألافيس
|
||||
supreme leader of iran
|
||||
oscar isaac
|
||||
xrp ledger
|
||||
believe me itv
|
||||
pablo
|
||||
is tane leaving home and away
|
||||
julie andrews
|
||||
@@ -10,101 +198,3 @@ john stones
|
||||
amazon vega os fire tv
|
||||
porto vs tondela
|
||||
santos vs fluminense
|
||||
martin brundle lost f1 seat
|
||||
keegan bradley
|
||||
david attenborough
|
||||
antoni kowalski
|
||||
kezia dugdale
|
||||
car
|
||||
beef netflix
|
||||
juventus vs bologna
|
||||
losc vs nice
|
||||
david szalay
|
||||
the killer
|
||||
joe cole
|
||||
lille fc
|
||||
simon cowell
|
||||
pl
|
||||
frank lampard everton
|
||||
nottingham forest fixtures
|
||||
everton manager
|
||||
dragons vs bulls
|
||||
suede
|
||||
lahore
|
||||
wrestlemania 2026
|
||||
giants vs rhinos
|
||||
glenrothan
|
||||
york knights vs leopards
|
||||
tim sherwood
|
||||
redditch
|
||||
ccfc
|
||||
europa conference league
|
||||
bromley fc
|
||||
paul merton
|
||||
chris wood
|
||||
istanbul
|
||||
turkey
|
||||
lucy watson
|
||||
thiago silva
|
||||
bednarek
|
||||
jan bednarek
|
||||
vincent kompany
|
||||
mbappe
|
||||
luis suarez sporting
|
||||
madrid fc
|
||||
andriy lunin
|
||||
what did bec say to rachel mafs
|
||||
yalla kora
|
||||
geovany quenda
|
||||
sporting cp
|
||||
pavlovic
|
||||
talktalk
|
||||
arne slot drops mohamed salah
|
||||
suns vs trail blazers
|
||||
italian
|
||||
used cars
|
||||
mlb
|
||||
roman
|
||||
johnny somali
|
||||
windows update
|
||||
davion mitchell
|
||||
hbo max
|
||||
bolton wanderers
|
||||
barca vs atletico
|
||||
kemi badenoch
|
||||
warren zaïre-emery
|
||||
barca
|
||||
samuel west
|
||||
barcelona fc
|
||||
lamine yamal
|
||||
hbomax
|
||||
noah okafor
|
||||
casemiro
|
||||
talksport
|
||||
lazio
|
||||
leeds united fixtures
|
||||
bruno fernandes
|
||||
afc champions league
|
||||
meteor
|
||||
carlos queiroz
|
||||
travel warning
|
||||
tori amos
|
||||
cloud
|
||||
reading
|
||||
rolls-royce smr
|
||||
istanbul airport
|
||||
a27
|
||||
bridget phillipson
|
||||
tottenham standings
|
||||
may bank holiday 2026
|
||||
toto wolff
|
||||
london weather today
|
||||
bbc news latest
|
||||
premier league fixtures
|
||||
tesco near me
|
||||
tube map london
|
||||
uk bank holidays
|
||||
royal family news
|
||||
how to make english tea
|
||||
nhs symptom checker
|
||||
property for sale in london
|
||||
|
||||
@@ -1,109 +1,200 @@
|
||||
arc raiders
|
||||
schd etf dividend yield
|
||||
deportación
|
||||
lecce - fiorentina
|
||||
valley forge high school
|
||||
betty yee
|
||||
seth trimble
|
||||
bill belichick
|
||||
winter storm
|
||||
jim parsons
|
||||
kings vs avalanche
|
||||
suns vs thunder
|
||||
wolf
|
||||
santos - fluminense
|
||||
mets - cubs
|
||||
alexander manninger
|
||||
santos vs fluminense
|
||||
disclosure day
|
||||
tobias myers
|
||||
vladimir putin
|
||||
knicks game
|
||||
ben rice
|
||||
prem
|
||||
timberwolves vs nuggets
|
||||
cody bellinger
|
||||
nik khamenia
|
||||
real sociedad
|
||||
nurburgring crash
|
||||
atlético madrid - real sociedad
|
||||
ruke orhorhoro
|
||||
radar
|
||||
the weather channel
|
||||
kttc
|
||||
luke gulbranson
|
||||
kttc weather
|
||||
comcast data breach settlement
|
||||
tornado watch
|
||||
moisés ballesteros
|
||||
mets game today
|
||||
giancarlo stanton
|
||||
real betis
|
||||
prosecution of daniel duggan
|
||||
liv morgan
|
||||
mikey williams
|
||||
indiana fever sophie cunningham baptism
|
||||
gregory donnell morgan jr
|
||||
why are the sirens going off
|
||||
leylah fernandez
|
||||
strasbourg vs mainz
|
||||
michael olise
|
||||
ريال مدريد
|
||||
dazn
|
||||
paramount
|
||||
univision
|
||||
jude bellingham
|
||||
sam antonacci
|
||||
real madrid
|
||||
bayern
|
||||
arda güler
|
||||
los angeles dodgers
|
||||
vandenberg launch schedule
|
||||
ryan dunn
|
||||
alex vesia
|
||||
ken jennings
|
||||
ucla baseball
|
||||
padres standings
|
||||
mets vs dodgers match player stats
|
||||
bo bichette
|
||||
jorge polanco
|
||||
psg
|
||||
barca
|
||||
vix
|
||||
fcb
|
||||
barcelona schedule
|
||||
tarjeta roja
|
||||
a knight of the seven kingdoms season 2
|
||||
charlotte flair
|
||||
usa network
|
||||
natalie sago
|
||||
carlos queiroz
|
||||
carlos batista
|
||||
katie boulter
|
||||
levante - getafe
|
||||
levante vs getafe
|
||||
mcilroy green jacket presentation
|
||||
man united vs leeds
|
||||
7-eleven closing locations
|
||||
cloud
|
||||
sports
|
||||
sony playstation
|
||||
alaska airline
|
||||
toronto
|
||||
sydney
|
||||
paris
|
||||
tokyo
|
||||
delhi
|
||||
sykkuno drama
|
||||
Los Angeles weather today
|
||||
S&P 500 stock chart
|
||||
local coffee shops near me
|
||||
latest tech news
|
||||
California traffic updates
|
||||
AI startups in Silicon ValleySan Jose weather this weekend
|
||||
Silicon Valley tech news
|
||||
best tacos in San Jose
|
||||
Apple park visitor center hours
|
||||
Seattle Weather
|
||||
Las Vegas strip
|
||||
Charlotte Hornets
|
||||
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
|
||||
priyanka chopra
|
||||
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
|
||||
nathan lane
|
||||
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
|
||||
julio cesar chavez
|
||||
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
|
||||
hail
|
||||
michael jackson movie biopic
|
||||
houston weather
|
||||
katarzyna kawa
|
||||
usd to yen
|
||||
michael jackson net worth
|
||||
utah hockey
|
||||
mitch marner
|
||||
hawaii news now
|
||||
spacex rocket launch
|
||||
jack eichel
|
||||
apple iphone 18 pro max
|
||||
lena dunham
|
||||
vegas knights
|
||||
skip bayless
|
||||
acura
|
||||
qatar airways
|
||||
charles barkley
|
||||
turkish airlines
|
||||
ayo edebiri
|
||||
who do the spurs play next
|
||||
one championship
|
||||
samsung one ui 8.5 update
|
||||
fabio jackson
|
||||
san antonio
|
||||
shea theodore
|
||||
dodgers game today
|
||||
munetaka murakami
|
||||
dodgers score
|
||||
joe ingles
|
||||
owensboro weather
|
||||
nhl overtime rules
|
||||
kyle tucker
|
||||
pete fairbanks
|
||||
bank
|
||||
ucla
|
||||
housing prices
|
||||
real estate
|
||||
post malone
|
||||
ducks game tonight
|
||||
flor vigna
|
||||
lebron james
|
||||
bronny james
|
||||
austin shooting
|
||||
arthur rinderknech
|
||||
avs vs sporting
|
||||
elena rybakina
|
||||
chris sale
|
||||
bruins
|
||||
sabres game
|
||||
corinthians vs vasco
|
||||
christian walker
|
||||
where to watch new york yankees vs houston astros
|
||||
gladiator ii
|
||||
hurricanes vs senators
|
||||
jalen duren
|
||||
keegan akin
|
||||
billy schrauth
|
||||
caleb durbin
|
||||
thunder vs suns
|
||||
max bredeson
|
||||
wednesday, season 3
|
||||
demonte capehart
|
||||
karoline leavitt maternity leave
|
||||
alex de minaur
|
||||
rafael jodar
|
||||
adam levine face
|
||||
howard frankland bridge
|
||||
vibrio vulnificus new york waters
|
||||
stade brestois - lens
|
||||
moustapha thiam
|
||||
us asylum seeker border reopening
|
||||
sunderland vs nottm forest
|
||||
leicester city vs millwall
|
||||
brandon marsh
|
||||
psv vs pec zwolle
|
||||
daniel merida aguilar
|
||||
william byron
|
||||
eve plumb
|
||||
mall of louisiana
|
||||
real oviedo vs villarreal
|
||||
real oviedo - villarreal
|
||||
call of duty: black ops 7
|
||||
tarik skubal
|
||||
cubs game today
|
||||
mike repole
|
||||
okc thunder
|
||||
atlanta braves
|
||||
mlb scores today
|
||||
braves standings
|
||||
kevin mckidd
|
||||
dan vladar
|
||||
mls standings
|
||||
dodgers - giants
|
||||
jon ossoff
|
||||
ozzy survivor
|
||||
braves score
|
||||
washington nationals
|
||||
alex bregman
|
||||
peter lambert
|
||||
darrell sheets
|
||||
ludwig kaiser
|
||||
edina shooting
|
||||
atalanta - lazio
|
||||
barcelona vs celta vigo
|
||||
rivian r2
|
||||
pick 4
|
||||
aoc
|
||||
cleveland browns
|
||||
nintendo switch gamecube games
|
||||
lsg vs rr
|
||||
spirit
|
||||
atlanta fire
|
||||
deshaun watson
|
||||
good morning america
|
||||
pittsburgh
|
||||
strands answers
|
||||
scientist
|
||||
mark cuban pharmacy
|
||||
inter milan
|
||||
lens vs toulouse
|
||||
david james
|
||||
andy weir
|
||||
noah kahan tiny desk concert
|
||||
jennifer garner 54th birthday photos
|
||||
troy baker
|
||||
real madrid - alavés
|
||||
|
||||
@@ -1,85 +1,200 @@
|
||||
lecce vs fiorentina
|
||||
fiorentina
|
||||
crystal palace đấu với west ham
|
||||
afc champions league
|
||||
eduardo camavinga
|
||||
vissel kobe
|
||||
gemi
|
||||
idp
|
||||
bảo hiểm y tế
|
||||
crystal palace vs west ham
|
||||
sporting lisbon
|
||||
psg vs lyon
|
||||
ca sĩ
|
||||
juventus đấu với bologna
|
||||
gladbach đấu với mainz
|
||||
bayern munich
|
||||
twitch
|
||||
psg đấu với lyon
|
||||
juventus
|
||||
ligue 1
|
||||
trận đấu ngoại hạng anh
|
||||
chelsea đấu với man utd
|
||||
atlético madrid đấu với real sociedad
|
||||
roma đấu với atalanta
|
||||
epl
|
||||
iem rio 2026
|
||||
tot
|
||||
tập đoàn gelex
|
||||
napoli
|
||||
đường ray
|
||||
inter
|
||||
inter đấu với cagliari
|
||||
sassuolo vs como
|
||||
david alaba
|
||||
claude design
|
||||
fenerbahçe đấu với rizespor
|
||||
como
|
||||
como vs
|
||||
thẻ đỏ
|
||||
al ahli
|
||||
porto vs
|
||||
crystal palace
|
||||
porto
|
||||
uefa europa conference
|
||||
betis đấu với braga
|
||||
real betis vs braga
|
||||
aston villa đấu với bologna
|
||||
fiorentina đấu với crystal palace
|
||||
c2
|
||||
cup c2
|
||||
thể thao
|
||||
arda güler
|
||||
aleksandar pavlović
|
||||
ars
|
||||
90
|
||||
real
|
||||
real madrid
|
||||
xoi
|
||||
luong sơn
|
||||
fpt
|
||||
phan văn giang
|
||||
nhà ở xã hội
|
||||
club america
|
||||
giàu
|
||||
đỗ mỹ linh
|
||||
sun group
|
||||
hưng yên
|
||||
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
|
||||
giải vđqg nhật bản
|
||||
tuyên án
|
||||
gyokeres
|
||||
nguyễn thị kim tiến
|
||||
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
|
||||
américa đấu với nashville
|
||||
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
|
||||
phương oanh
|
||||
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
|
||||
ninh dương lan ngọc
|
||||
thủy tiên
|
||||
xabi alonso
|
||||
mason mount
|
||||
dự án
|
||||
huỳnh hiểu minh
|
||||
nhiệt độ tphcm
|
||||
venezuela
|
||||
học bổng
|
||||
giáo sư
|
||||
denver nuggets
|
||||
dog
|
||||
efootball
|
||||
free fire
|
||||
quang minh và hồng đào
|
||||
giá gas
|
||||
lakers vs rockets
|
||||
đua xe đạp
|
||||
đô la mỹ
|
||||
hoài linh
|
||||
chess
|
||||
đường cao tốc
|
||||
giáp
|
||||
nguyễn đình bắc
|
||||
avispa đấu với sanfrecce
|
||||
thừa kế
|
||||
hoa hậu việt nam
|
||||
nguyễn xuân bắc
|
||||
áp thấp nhiệt đới
|
||||
tàu
|
||||
nte code
|
||||
bảo tín minh châu
|
||||
cà phê
|
||||
one ui 8.5
|
||||
nguyễn huy hoàng
|
||||
dự án nuôi em
|
||||
đơn vị sự nghiệp công lập
|
||||
nợ xấu
|
||||
bộ trưởng bộ giáo dục và đào tạo việt nam
|
||||
thành phố trực thuộc trung ương
|
||||
âm vang tổ quốc
|
||||
jennie
|
||||
charlie nguyễn
|
||||
nanaimoteuthis
|
||||
cảng
|
||||
vneid
|
||||
sri lanka
|
||||
hội đồng giám mục việt nam
|
||||
an ninh kinh tế
|
||||
kfc
|
||||
đội tuyển bóng chuyền nữ quốc gia việt nam
|
||||
juventus
|
||||
milan đấu với juventus
|
||||
villarreal đấu với celta
|
||||
osasuna vs sevilla
|
||||
galatasaray
|
||||
michael jackson
|
||||
sevilla
|
||||
polymarket
|
||||
mật ngữ kỷ
|
||||
osasuna đấu với sevilla
|
||||
atlético madrid đấu với ath. bilbao
|
||||
erling haaland
|
||||
lịch thi đấu man city
|
||||
toulouse đấu với monaco
|
||||
mc vs
|
||||
đông anh
|
||||
al ahli
|
||||
man city
|
||||
chung cư
|
||||
napoli
|
||||
sunderland đấu với nottm forest
|
||||
betis đấu với real madrid
|
||||
napoli đấu với cremonese
|
||||
leipzig đấu với union berlin
|
||||
sunderland
|
||||
mẫu iphone 18
|
||||
oppo find x9 ultra
|
||||
xem phim
|
||||
andoni iraola
|
||||
stuttgart đấu với freiburg
|
||||
levante – sevilla
|
||||
giao dịch tài chính
|
||||
rayo đấu với espanyol
|
||||
levante đấu với sevilla
|
||||
bong ma hanh phuc
|
||||
aryna sabalenka
|
||||
mason nguyễn
|
||||
marcus rashford
|
||||
hà nội
|
||||
salt lake đấu với inter miami
|
||||
hung cao
|
||||
neymar
|
||||
VnExpress
|
||||
Zing News
|
||||
Thời tiết Hà Nội
|
||||
Giá vàng hôm nay
|
||||
Shopee VN
|
||||
Tiki
|
||||
Vietjet Air
|
||||
Vietnam Airlines
|
||||
Bóng đá trực tuyến
|
||||
Lịch thi đấu Euro
|
||||
Xổ số miền Bắc
|
||||
Grab Vietnam
|
||||
VTV Go
|
||||
Học tiếng Anh
|
||||
Du lịch Đà Lạt
|
||||
cầu phú mỹ
|
||||
nhac
|
||||
wordle
|
||||
날씨
|
||||
giá cà phê hôm nay
|
||||
premier league standings
|
||||
mls
|
||||
phạm nhật vượng
|
||||
cristiano roland
|
||||
burnley vs man city
|
||||
bayern munich
|
||||
atalanta đấu với lazio
|
||||
barcelona đấu với celta
|
||||
psg – nantes
|
||||
leverkusen đấu với bayern
|
||||
elche – atlético madrid
|
||||
bryan mbeumo
|
||||
al nasr
|
||||
trực tiếp bóng đá hôm nay
|
||||
vtv3
|
||||
vtv3 trực tiếp
|
||||
tv
|
||||
vtv
|
||||
vtv6
|
||||
360
|
||||
lê khánh
|
||||
ô tô
|
||||
lê phương
|
||||
trực tiếp bóng đá u17 hôm nay
|
||||
inter milan
|
||||
chelsea
|
||||
girona đấu với betis
|
||||
real madrid đấu với alavés
|
||||
brighton vs chelsea
|
||||
brighton đấu với chelsea
|
||||
ath. bilbao đấu với osasuna
|
||||
pep guardiola
|
||||
zelvia đấu với shabab al-ahli
|
||||
cầu thủ
|
||||
lecce vs fiorentina
|
||||
|
||||
588
data/map.json
588
data/map.json
@@ -11,7 +11,16 @@
|
||||
"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 (东京)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -19,15 +28,235 @@
|
||||
"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 (首尔)" } ] }
|
||||
{
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Seoul",
|
||||
"name": "Seoul (首尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -35,7 +264,16 @@
|
||||
"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 (香港)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -43,7 +281,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 (河内)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -51,7 +298,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 (吉隆坡)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -69,8 +342,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 (伊斯坦布尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -80,7 +376,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 (柏林)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -88,7 +423,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 (巴黎)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -96,7 +440,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 (阿姆斯特丹)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -104,7 +457,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 (马德里)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -122,50 +484,178 @@
|
||||
"id": "CA",
|
||||
"name": "California (加州)",
|
||||
"cities": [
|
||||
{ "id": "Los_Angeles", "name": "Los Angeles (洛杉矶)" },
|
||||
{ "id": "San_Jose", "name": "San Jose (圣何塞)" }
|
||||
{
|
||||
"id": "Los_Angeles",
|
||||
"name": "Los Angeles (洛杉矶)"
|
||||
},
|
||||
{
|
||||
"id": "San_Jose",
|
||||
"name": "San Jose (圣何塞)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "IL",
|
||||
"name": "Illinois (伊利诺伊州)",
|
||||
"cities": [
|
||||
{ "id": "Warrenville", "name": "Warrenville (沃伦维尔)" }
|
||||
{
|
||||
"id": "Warrenville",
|
||||
"name": "Warrenville (沃伦维尔)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NC",
|
||||
"name": "North Carolina (北卡罗来纳州)",
|
||||
"cities": [
|
||||
{ "id": "Charlotte", "name": "Charlotte (夏洛特)" }
|
||||
{
|
||||
"id": "Charlotte",
|
||||
"name": "Charlotte (夏洛特)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NV",
|
||||
"name": "Nevada (内华达州)",
|
||||
"cities": [
|
||||
{ "id": "Las_Vegas", "name": "Las Vegas (拉斯维加斯)" }
|
||||
{
|
||||
"id": "Las_Vegas",
|
||||
"name": "Las Vegas (拉斯维加斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "OR",
|
||||
"name": "Oregon (俄勒冈州)",
|
||||
"cities": [
|
||||
{ "id": "Bend", "name": "Bend (本德)" }
|
||||
{
|
||||
"id": "Bend",
|
||||
"name": "Bend (本德)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "UT",
|
||||
"name": "Utah (犹他州)",
|
||||
"cities": [
|
||||
{ "id": "Salt_Lake_City", "name": "Salt Lake City (盐湖城)" }
|
||||
{
|
||||
"id": "Salt_Lake_City",
|
||||
"name": "Salt Lake City (盐湖城)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"name": "Washington (华盛顿州)",
|
||||
"cities": [
|
||||
{ "id": "Seattle", "name": "Seattle (西雅图)" }
|
||||
{
|
||||
"id": "Seattle",
|
||||
"name": "Seattle (西雅图)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AZ",
|
||||
"name": "Arizona (亚利桑那州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Phoenix",
|
||||
"name": "Phoenix (凤凰城)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "TX",
|
||||
"name": "Texas (得克萨斯州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Dallas",
|
||||
"name": "Dallas (达拉斯)"
|
||||
},
|
||||
{
|
||||
"id": "Houston",
|
||||
"name": "Houston (休斯顿)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "IA",
|
||||
"name": "Iowa (爱荷华州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Council_Bluffs",
|
||||
"name": "Council Bluffs (康瑟尔布拉夫斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "VA",
|
||||
"name": "Virginia (弗吉尼亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Ashburn",
|
||||
"name": "Ashburn (阿什本)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "OH",
|
||||
"name": "Ohio (俄亥俄州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Columbus",
|
||||
"name": "Columbus (哥伦布)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NY",
|
||||
"name": "New York (纽约州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "New_York",
|
||||
"name": "New York (纽约)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "FL",
|
||||
"name": "Florida (佛罗里达州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Miami",
|
||||
"name": "Miami (迈阿密)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "NJ",
|
||||
"name": "New Jersey (新泽西州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Newark",
|
||||
"name": "Newark (纽瓦克)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Hawaii",
|
||||
"name": "Hawaii",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Honolulu",
|
||||
"name": "Honolulu (檀香山)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "GA",
|
||||
"name": "Georgia (佐治亚州)",
|
||||
"cities": [
|
||||
{
|
||||
"id": "Atlanta",
|
||||
"name": "Atlanta (亚特兰大)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -179,8 +669,14 @@
|
||||
"id": "Default",
|
||||
"name": "Default State",
|
||||
"cities": [
|
||||
{ "id": "Toronto", "name": "Toronto (多伦多)" },
|
||||
{ "id": "Montreal", "name": "Montreal (蒙特利尔)" }
|
||||
{
|
||||
"id": "Toronto",
|
||||
"name": "Toronto (多伦多)"
|
||||
},
|
||||
{
|
||||
"id": "Montreal",
|
||||
"name": "Montreal (蒙特利尔)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -200,35 +696,73 @@
|
||||
"id": "NSW",
|
||||
"name": "New South Wales (新南威尔士州)",
|
||||
"cities": [
|
||||
{ "id": "Sydney", "name": "Sydney (悉尼)" }
|
||||
{
|
||||
"id": "Sydney",
|
||||
"name": "Sydney (悉尼)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "VIC",
|
||||
"name": "Victoria (维多利亚州)",
|
||||
"cities": [
|
||||
{ "id": "Melbourne", "name": "Melbourne (墨尔本)" }
|
||||
{
|
||||
"id": "Melbourne",
|
||||
"name": "Melbourne (墨尔本)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "QLD",
|
||||
"name": "Queensland (昆士兰州)",
|
||||
"cities": [
|
||||
{ "id": "Brisbane", "name": "Brisbane (布里斯班)" }
|
||||
{
|
||||
"id": "Brisbane",
|
||||
"name": "Brisbane (布里斯班)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"name": "Western Australia (西澳大利亚州)",
|
||||
"cities": [
|
||||
{ "id": "Perth", "name": "Perth (珀斯)" }
|
||||
{
|
||||
"id": "Perth",
|
||||
"name": "Perth (珀斯)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "SA",
|
||||
"name": "South Australia (南澳大利亚州)",
|
||||
"cities": [
|
||||
{ "id": "Adelaide", "name": "Adelaide (阿德莱德)" }
|
||||
{
|
||||
"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 (拉各斯)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
1
data/regions/AE/Default/Dubai.json
Normal file
1
data/regions/AE/Default/Dubai.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://www.khaleejtimes.com/", "https://gulfnews.com/", "https://www.thenationalnews.com/", "https://www.arabianbusiness.com/", "https://www.emirates247.com/", "https://u.ae/", "https://www.mofa.gov.ae/", "https://www.centralbank.ae/", "https://www.etisalat.ae/", "https://www.du.ae/", "https://www.noon.com/uae-en/", "https://www.amazon.ae/", "https://www.careem.com/", "https://www.talabat.com/uae/" ], "static_urls": [ "https://u.ae/", "https://www.centralbank.ae/", "https://gulfnews.com/", "https://www.khaleejtimes.com/", "https://www.thenationalnews.com/" ] } }
|
||||
@@ -8,28 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.smh.com.au/",
|
||||
"https://www.dailytelegraph.com.au/",
|
||||
"https://www.service.nsw.gov.au/",
|
||||
"https://transportnsw.info/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/police-release-cctv-in-temora-fatal-shooting-investigation/106658298",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/teens-jailed-over-largest-cocaine-bust/106658618",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/archibald-prize-winner-2026-richard-lewer-iluwanti-ken/106616630",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/antisemitism-social-cohesion-royal-commission-mardi-gras/106656756",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.abc.net.au/",
|
||||
"https://www.news.com.au/",
|
||||
"https://www.nine.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/afp-charge-men-possession-of-violent-extremist-material-isis/106659244",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/ex-knox-teacher-sentenced-over-child-grooming-charges/106658214",
|
||||
"https://www.abc.net.au/news/2026-05-08/aiva-anagnostiadis-gt4-italy-series-promodrive-team/106657860",
|
||||
"https://www.abc.net.au/news/2026-05-08/farrer-byelection-voters-embrace-change/106644364",
|
||||
"https://www.abc.net.au/news/2026-05-08/anika-wells-repays-travel-costs-afl-grand-final/106658202",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/nt-government-child-protection-review-kumanjayi-little-baby/106658462",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/wa-budget-how-to-claim-cost-of-living-relief/106657878",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/e-mobility-parliamentary-committtee-report-proposed-law-changes/106654856",
|
||||
"https://www.abc.net.au/news/2026-05-08/china-former-defence-ministers-sentenced-after-purge/106657326",
|
||||
"https://www.abc.net.au/news/2026-05-08/man-jailed-over-axe-crime-spree-sarina/106656834",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/us-iran-attacks-strait-of-hormuz-tensions-ceasefire-threat/106657022"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://my.gov.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.westpac.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.domain.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.nrl.com/",
|
||||
"https://premier.ticketek.com.au/",
|
||||
"https://www.amazon.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,29 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.couriermail.com.au/",
|
||||
"https://www.brisbanetimes.com.au/",
|
||||
"https://www.qld.gov.au/",
|
||||
"https://translink.com.au/",
|
||||
"https://www.health.qld.gov.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/teens-jailed-over-largest-cocaine-bust/106658618",
|
||||
"https://www.abc.net.au/news/2026-05-08/man-jailed-over-axe-crime-spree-sarina/106656834",
|
||||
"https://www.abc.net.au/news/2026-05-08/police-release-cctv-in-temora-fatal-shooting-investigation/106658298",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/nt-government-child-protection-review-kumanjayi-little-baby/106658462",
|
||||
"https://www.abc.net.au/news/2026-05-08/us-iran-attacks-strait-of-hormuz-tensions-ceasefire-threat/106657022",
|
||||
"https://www.abc.net.au/news/2026-05-08/e-mobility-parliamentary-committtee-report-proposed-law-changes/106654856",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/archibald-prize-winner-2026-richard-lewer-iluwanti-ken/106616630",
|
||||
"https://www.abc.net.au/news/2026-05-08/antisemitism-social-cohesion-royal-commission-mardi-gras/106656756",
|
||||
"https://www.abc.net.au/news/2026-05-08/china-former-defence-ministers-sentenced-after-purge/106657326",
|
||||
"https://www.abc.net.au/news/2026-05-08/wa-budget-how-to-claim-cost-of-living-relief/106657878",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/anika-wells-repays-travel-costs-afl-grand-final/106658202",
|
||||
"https://www.abc.net.au/news/2026-05-08/ex-knox-teacher-sentenced-over-child-grooming-charges/106658214",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/",
|
||||
"https://www.news.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/aiva-anagnostiadis-gt4-italy-series-promodrive-team/106657860",
|
||||
"https://www.abc.net.au/news/2026-05-08/afp-charge-men-possession-of-violent-extremist-material-isis/106659244",
|
||||
"https://www.abc.net.au/news/2026-05-08/farrer-byelection-voters-embrace-change/106644364",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.seek.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.suncorp.com.au/",
|
||||
"https://www.boq.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.domain.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.nrl.com/",
|
||||
"https://premier.ticketek.com.au/",
|
||||
"https://www.amazon.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,28 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.adelaidenow.com.au/",
|
||||
"https://indaily.com.au/",
|
||||
"https://www.sa.gov.au/",
|
||||
"https://www.adelaidemetro.com.au/",
|
||||
"https://www.sapowernetworks.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/",
|
||||
"https://www.news.com.au/",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/afp-charge-men-possession-of-violent-extremist-material-isis/106659244",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/police-release-cctv-in-temora-fatal-shooting-investigation/106658298",
|
||||
"https://www.abc.net.au/news/2026-05-08/us-iran-attacks-strait-of-hormuz-tensions-ceasefire-threat/106657022",
|
||||
"https://www.abc.net.au/news/2026-05-08/man-jailed-over-axe-crime-spree-sarina/106656834",
|
||||
"https://www.abc.net.au/news/2026-05-08/ex-knox-teacher-sentenced-over-child-grooming-charges/106658214",
|
||||
"https://www.abc.net.au/news/2026-05-08/e-mobility-parliamentary-committtee-report-proposed-law-changes/106654856",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/china-former-defence-ministers-sentenced-after-purge/106657326",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.bendigobank.com.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/antisemitism-social-cohesion-royal-commission-mardi-gras/106656756",
|
||||
"https://www.abc.net.au/news/2026-05-08/wa-budget-how-to-claim-cost-of-living-relief/106657878",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/anika-wells-repays-travel-costs-afl-grand-final/106658202",
|
||||
"https://www.abc.net.au/news/2026-05-08/nt-government-child-protection-review-kumanjayi-little-baby/106658462",
|
||||
"https://www.abc.net.au/news/2026-05-08/archibald-prize-winner-2026-richard-lewer-iluwanti-ken/106616630",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/aiva-anagnostiadis-gt4-italy-series-promodrive-team/106657860",
|
||||
"https://www.abc.net.au/news/2026-05-08/farrer-byelection-voters-embrace-change/106644364",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.domain.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/teens-jailed-over-largest-cocaine-bust/106658618"
|
||||
],
|
||||
"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.afl.com.au/",
|
||||
"https://premier.ticketek.com.au/",
|
||||
"https://www.amazon.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,28 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.theage.com.au/",
|
||||
"https://www.heraldsun.com.au/",
|
||||
"https://www.vic.gov.au/",
|
||||
"https://www.ptv.vic.gov.au/",
|
||||
"https://www.vicroads.vic.gov.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/teens-jailed-over-largest-cocaine-bust/106658618",
|
||||
"https://www.abc.net.au/news/2026-05-08/man-jailed-over-axe-crime-spree-sarina/106656834",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/nt-government-child-protection-review-kumanjayi-little-baby/106658462",
|
||||
"https://www.abc.net.au/news/2026-05-08/antisemitism-social-cohesion-royal-commission-mardi-gras/106656756",
|
||||
"https://www.abc.net.au/news/2026-05-08/afp-charge-men-possession-of-violent-extremist-material-isis/106659244",
|
||||
"https://www.abc.net.au/news/2026-05-08/china-former-defence-ministers-sentenced-after-purge/106657326",
|
||||
"https://www.abc.net.au/news/2026-05-08/ex-knox-teacher-sentenced-over-child-grooming-charges/106658214",
|
||||
"https://www.abc.net.au/news/2026-05-08/us-iran-attacks-strait-of-hormuz-tensions-ceasefire-threat/106657022",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.kmart.com.au/",
|
||||
"https://www.abc.net.au/",
|
||||
"https://www.news.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/farrer-byelection-voters-embrace-change/106644364",
|
||||
"https://www.abc.net.au/news/2026-05-08/wa-budget-how-to-claim-cost-of-living-relief/106657878",
|
||||
"https://www.abc.net.au/news/2026-05-08/anika-wells-repays-travel-costs-afl-grand-final/106658202",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/e-mobility-parliamentary-committtee-report-proposed-law-changes/106654856",
|
||||
"https://www.abc.net.au/news/2026-05-08/police-release-cctv-in-temora-fatal-shooting-investigation/106658298",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/aiva-anagnostiadis-gt4-italy-series-promodrive-team/106657860",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/archibald-prize-winner-2026-richard-lewer-iluwanti-ken/106616630",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.coles.com.au/"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://my.gov.au/",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.nab.com.au/",
|
||||
"https://www.anz.com.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.afl.com.au/",
|
||||
"https://www.ticketmaster.com.au/",
|
||||
"https://www.amazon.com.au/"
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.bunnings.com.au/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,28 +8,43 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://thewest.com.au/",
|
||||
"https://www.perthnow.com.au/",
|
||||
"https://www.wa.gov.au/",
|
||||
"https://www.transperth.wa.gov.au/",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/anika-wells-repays-travel-costs-afl-grand-final/106658202",
|
||||
"https://www.abc.net.au/news/2026-05-08/teens-jailed-over-largest-cocaine-bust/106658618",
|
||||
"https://www.abc.net.au/news/2026-05-08/china-former-defence-ministers-sentenced-after-purge/106657326",
|
||||
"https://www.abc.net.au/news/2026-05-08/us-iran-attacks-strait-of-hormuz-tensions-ceasefire-threat/106657022",
|
||||
"https://www.amazon.com.au/",
|
||||
"https://www.coles.com.au/",
|
||||
"https://www.woolworths.com.au/",
|
||||
"https://www.kmart.com.au/",
|
||||
"https://www.abc.net.au/",
|
||||
"https://www.news.com.au/",
|
||||
"https://www.commbank.com.au/",
|
||||
"https://my.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/wa-budget-how-to-claim-cost-of-living-relief/106657878",
|
||||
"https://www.abc.net.au/news/2026-05-08/archibald-prize-winner-2026-richard-lewer-iluwanti-ken/106616630",
|
||||
"https://www.abc.net.au/news/2026-05-08/e-mobility-parliamentary-committtee-report-proposed-law-changes/106654856",
|
||||
"https://www.ato.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/man-jailed-over-axe-crime-spree-sarina/106656834",
|
||||
"https://www.abc.net.au/news/2026-05-08/aiva-anagnostiadis-gt4-italy-series-promodrive-team/106657860",
|
||||
"https://www.bom.gov.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/farrer-byelection-voters-embrace-change/106644364",
|
||||
"https://www.abc.net.au/news/2026-05-08/afp-charge-men-possession-of-violent-extremist-material-isis/106659244",
|
||||
"https://www.abc.net.au/news/2026-05-08/antisemitism-social-cohesion-royal-commission-mardi-gras/106656756",
|
||||
"https://www.bunnings.com.au/",
|
||||
"https://www.abc.net.au/news/2026-05-08/nt-government-child-protection-review-kumanjayi-little-baby/106658462",
|
||||
"https://www.abc.net.au/news/2026-05-08/ex-knox-teacher-sentenced-over-child-grooming-charges/106658214",
|
||||
"https://www.abc.net.au/news/2026-05-08/police-release-cctv-in-temora-fatal-shooting-investigation/106658298",
|
||||
"https://www.woolworths.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.bankwest.com.au/",
|
||||
"https://reiwa.com.au/",
|
||||
"https://www.realestate.com.au/",
|
||||
"https://www.seek.com.au/",
|
||||
"https://www.afl.com.au/",
|
||||
"https://premier.ticketek.com.au/",
|
||||
"https://www.amazon.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1
data/regions/BD/Default/Dhaka.json
Normal file
1
data/regions/BD/Default/Dhaka.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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.bdnews24.com/", "https://www.prothomalo.com/", "https://www.dhakatribune.com/", "https://www.banglanews24.com/", "https://www.bssnews.net/", "https://bangladesh.gov.bd/", "https://www.bb.org.bd/", "https://mof.gov.bd/", "https://btrc.gov.bd/", "https://www.grameenphone.com/", "https://www.banglalink.net/", "https://www.robi.com.bd/", "https://www.daraz.com.bd/" ], "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/politics/environmental-law-changes-major-resource-projects-9.7192022?cmp=rss",
|
||||
"https://www.cbc.ca/news/rubio-pope-leo-trump-9.7191341?cmp=rss",
|
||||
"https://www.cbc.ca/radio/asithappens/elmer-glue-kitten-9.7191582?cmp=rss",
|
||||
"https://www.cbc.ca/news/politics/poilievre-keep-fighting-9.7191406?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/toronto/hantavirus-cruise-ontario-passengers-isolating-9.7191211?cmp=rss",
|
||||
"https://www.cbc.ca/news/world/us-sanctions-cuba-sherritt-9.7191593?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/calgary/separatist-activist-quits-chamber-of-commerce-amid-centurion-project-probes-9.7191899?cmp=rss",
|
||||
"https://www.cbc.ca/news/world/trump-global-tariffs-trade-court-9.7191744?cmp=rss",
|
||||
"https://www.canada.ca/en.html",
|
||||
"https://www.cbc.ca/news/canada/sudbury/livestory/boil-water-advistory-sudbury-9.7190991?cmp=rss",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.cbc.ca/news/world/us-intercept-iran-attacks-strait-of-hormuz-9.7191876?cmp=rss",
|
||||
"https://www.utoronto.ca/",
|
||||
"https://www.cbc.ca/news/canada/ottawa/brockville-police-arrest-17-year-old-after-finding-3-people-dead-in-a-home-9.7192167?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/newfoundland-labrador/livestory/dean-penney-trial-9.7190805?cmp=rss",
|
||||
"https://www.canadapost-postescanada.ca/",
|
||||
"https://www.cbc.ca/news/canada/edmonton/centurion-project-alberta-voters-list-leak-9.7191390?cmp=rss",
|
||||
"https://www.theweathernetwork.com/ca",
|
||||
"https://www.td.com/",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.cra-arc.gc.ca/",
|
||||
"https://www.cbc.ca/news/canada/edmonton/former-alberta-premier-jason-kenney-personal-data-9.7192054?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/north/franklin-expedition-four-sailors-identified-peglar-9.7189919?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/world/us-intercept-iran-attacks-strait-of-hormuz-9.7191876?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/newfoundland-labrador/livestory/dean-penney-trial-9.7190805?cmp=rss",
|
||||
"https://www.cra-arc.gc.ca/",
|
||||
"https://www.cbc.ca/news/rubio-pope-leo-trump-9.7191341?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/north/franklin-expedition-four-sailors-identified-peglar-9.7189919?cmp=rss",
|
||||
"https://www.cbc.ca/radio/asithappens/elmer-glue-kitten-9.7191582?cmp=rss",
|
||||
"https://www.rbcroyalbank.com/",
|
||||
"https://www.utoronto.ca/",
|
||||
"https://www.cbc.ca/news/politics/environmental-law-changes-major-resource-projects-9.7192022?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/sudbury/livestory/boil-water-advistory-sudbury-9.7190991?cmp=rss",
|
||||
"https://www.td.com/",
|
||||
"https://www.cbc.ca/news/canada/toronto/hantavirus-cruise-ontario-passengers-isolating-9.7191211?cmp=rss",
|
||||
"https://www.amazon.ca/",
|
||||
"https://www.theweathernetwork.com/ca",
|
||||
"https://www.canadapost-postescanada.ca/",
|
||||
"https://www.td.com/"
|
||||
"https://www.cbc.ca/news/canada/ottawa/brockville-police-arrest-17-year-old-after-finding-3-people-dead-in-a-home-9.7192167?cmp=rss",
|
||||
"https://www.cbc.ca/news/world/us-sanctions-cuba-sherritt-9.7191593?cmp=rss",
|
||||
"https://www.canada.ca/en.html",
|
||||
"https://www.cbc.ca/news/world/trump-global-tariffs-trade-court-9.7191744?cmp=rss",
|
||||
"https://www.cbc.ca/news/politics/poilievre-keep-fighting-9.7191406?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/edmonton/centurion-project-alberta-voters-list-leak-9.7191390?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/edmonton/former-alberta-premier-jason-kenney-personal-data-9.7192054?cmp=rss",
|
||||
"https://www.cbc.ca/news/canada/calgary/separatist-activist-quits-chamber-of-commerce-amid-centurion-project-probes-9.7191899?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.amazon.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-104.html",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.tagesschau.de/wirtschaft/verbraucher/google-bewertungen-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/usa-iran-strasse-von-hormus-102.html",
|
||||
"https://www.tagesschau.de/ausland/europa/drohnen-lettland-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-102.html",
|
||||
"https://www.obi.de/",
|
||||
"https://www.tagesschau.de/ausland/asien/china-urteil-verteidigungsminister-100.html",
|
||||
"https://www.tagesschau.de/inland/regional/berlin/margot-friedlaender-platz-100.html",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.tagesschau.de/ausland/amerika/trump-usa-zoelle-eu-100.html",
|
||||
"https://www.tagesschau.de/inland/diaeten-erhoehung-bundestagsabgeordnete-100.html",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/aerztemangel-178.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/ein-jahr-schwarz-rot-basis-100.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/us-gericht-trump-zoelle-100.html",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/iran-krieg-wind-solar-boerse-100.html",
|
||||
"https://www.tagesschau.de/wissen/gesundheit/organspende-258.html",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/bundeswehr-wehrdienst-frageboegen-100.html",
|
||||
"https://www.sparkasse.de/"
|
||||
],
|
||||
"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.tagesschau.de/wirtschaft/verbraucher/google-bewertungen-100.html",
|
||||
"https://www.obi.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/bundeswehr-wehrdienst-frageboegen-100.html",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/drohnen-lettland-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/china-urteil-verteidigungsminister-100.html",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/iran-krieg-wind-solar-boerse-100.html",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.tagesschau.de/ausland/asien/usa-iran-strasse-von-hormus-102.html",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/ein-jahr-schwarz-rot-basis-100.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/us-gericht-trump-zoelle-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-102.html",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.tagesschau.de/inland/regional/berlin/margot-friedlaender-platz-100.html",
|
||||
"https://www.tagesschau.de/inland/diaeten-erhoehung-bundestagsabgeordnete-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-104.html",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.tagesschau.de/wissen/gesundheit/organspende-258.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/trump-usa-zoelle-eu-100.html",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/aerztemangel-178.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/innenpolitik/bundeswehr-wehrdienst-frageboegen-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/china-urteil-verteidigungsminister-100.html",
|
||||
"https://www.tagesschau.de/inland/regional/berlin/margot-friedlaender-platz-100.html",
|
||||
"https://www.tagesschau.de/wissen/gesundheit/organspende-258.html",
|
||||
"https://www.arbeitsagentur.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-104.html",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.tum.de/",
|
||||
"https://www.spiegel.de/",
|
||||
"https://www.tagesschau.de/",
|
||||
"https://de.wikipedia.org/wiki/Spezial:Zuf%C3%A4llige_Seite",
|
||||
"https://www.tagesschau.de/wirtschaft/verbraucher/google-bewertungen-100.html",
|
||||
"https://www.ebay.de/",
|
||||
"https://www.bild.de/",
|
||||
"https://www.kicker.de/"
|
||||
"https://www.tagesschau.de/ausland/amerika/us-gericht-trump-zoelle-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/usa-iran-strasse-von-hormus-102.html",
|
||||
"https://www.bahn.de/",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-102.html",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.tagesschau.de/inland/diaeten-erhoehung-bundestagsabgeordnete-100.html",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/iran-krieg-wind-solar-boerse-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/ein-jahr-schwarz-rot-basis-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/drohnen-lettland-100.html",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/aerztemangel-178.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/trump-usa-zoelle-eu-100.html"
|
||||
],
|
||||
"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.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/hantavirus-kreuzfahrtschiff-104.html",
|
||||
"https://www.tagesschau.de/ausland/amerika/us-gericht-trump-zoelle-100.html",
|
||||
"https://www.rewe.de/",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/bundeswehr-wehrdienst-frageboegen-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/drohnen-lettland-100.html",
|
||||
"https://www.tagesschau.de/inland/gesellschaft/aerztemangel-178.html",
|
||||
"https://www.tagesschau.de/wissen/gesundheit/organspende-258.html",
|
||||
"https://www.bundesregierung.de/",
|
||||
"https://www.tagesschau.de/inland/diaeten-erhoehung-bundestagsabgeordnete-100.html",
|
||||
"https://www.tagesschau.de/inland/innenpolitik/ein-jahr-schwarz-rot-basis-100.html",
|
||||
"https://www.tagesschau.de/inland/regional/berlin/margot-friedlaender-platz-100.html",
|
||||
"https://www.amazon.de/",
|
||||
"https://www.edeka.de/",
|
||||
"https://www.sparkasse.de/",
|
||||
"https://www.stepstone.de/",
|
||||
"https://www.obi.de/",
|
||||
"https://www.tagesschau.de/ausland/amerika/trump-usa-zoelle-eu-100.html",
|
||||
"https://www.tagesschau.de/ausland/asien/china-urteil-verteidigungsminister-100.html",
|
||||
"https://www.tagesschau.de/wirtschaft/finanzen/iran-krieg-wind-solar-boerse-100.html",
|
||||
"https://www.tagesschau.de/ausland/europa/hantavirus-kreuzfahrtschiff-102.html",
|
||||
"https://www.tagesschau.de/wirtschaft/verbraucher/google-bewertungen-100.html",
|
||||
"https://www.dwd.de/",
|
||||
"https://www.immobilienscout24.de/",
|
||||
"https://www.tagesschau.de/ausland/asien/usa-iran-strasse-von-hormus-102.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://www.santander.es/",
|
||||
"https://elpais.com/gente/2026-05-07/melissa-barrera-resurge-tras-ser-apartada-del-cine-por-apoyar-a-palestina-necesitaba-un-respiro-de-toda-la-mierda-que-es-hollywood.html",
|
||||
"https://elpais.com/cultura/cine/2026-05-08/recreacion-de-un-asesinato-nada-de-nada-en-este-grotesco-plagio-de-un-clasico.html",
|
||||
"https://elpais.com/television/series/2026-05-07/esta-es-la-fecha-del-final-de-the-bear-cuando-empieza-y-termina-la-quinta-y-ultima-temporada-de-la-serie.html",
|
||||
"https://elpais.com/economia/2026-05-07/el-boe-publica-la-oferta-de-empleo-publico-estas-son-las-37000-nuevas-plazas.html",
|
||||
"https://elpais.com/gastronomia/2026-05-08/los-hermanos-artidiello-guardianes-de-los-guisos-asturianos-en-el-hostal-de-caravia-hay-clientes-que-vienen-desde-hace-50-anos.html",
|
||||
"https://elpais.com/babelia/2026-05-06/alexa-siri-irene-sara-la-importancia-del-nombre-propio.html",
|
||||
"https://elpais.com/videos/2026-05-08/el-futuro-judicial-de-abalos-kolgo-garcia-y-aldama.html",
|
||||
"https://administracion.gob.es/",
|
||||
"https://www.zara.com/es/",
|
||||
"https://www.agenciatributaria.es/",
|
||||
"https://elpais.com/tecnologia/2026-05-03/luchas-de-poder-avaricia-guerra-y-tecnofascismo-la-ia-se-quita-la-careta.html",
|
||||
"https://elpais.com/gastronomia/2026-05-08/los-fresones-con-vino-dulce-son-la-buena-noticia-que-el-mundo-necesita-hoy.html",
|
||||
"https://www.renfe.com/",
|
||||
"https://elpais.com/mamas-papas/familia/2026-05-08/como-prevenir-y-afrontar-la-exposicion-sexual-de-tu-hijo-adolescente-en-las-redes-sociales.html",
|
||||
"https://elpais.com/ideas/2026-05-03/un-festival-sobre-corrupcion-en-tres-escenarios-judiciales.html",
|
||||
"https://elpais.com/ciencia/2026-05-08/gustavo-palacios-experto-en-hantavirus-este-patogeno-es-mas-virulento-y-puede-haber-contagios-en-cadenas.html",
|
||||
"https://cincodias.elpais.com/opinion/2026-05-08/el-periodismo-de-fiesta-el-periodismo-de-luto.html",
|
||||
"https://elpais.com/babelia/2026-05-07/la-dictadura-la-precariedad-y-la-melancolia-en-la-camara-de-leonora-vicuna.html",
|
||||
"https://www.elcorteingles.es/",
|
||||
"https://elpais.com/internacional/2026-05-07/eurodiputados-instan-a-la-ue-a-presionar-a-israel-para-que-permita-a-los-periodistas-acceder-libremente-a-gaza.html",
|
||||
"https://www.amazon.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.sncf.com/",
|
||||
"https://www.france24.com/fr/europe/20260507-la-tr%C3%AAve-unilat%C3%A9rale-de-la-russie-commence-moscou-annonce-la-destruction-de-drones",
|
||||
"https://www.france24.com/fr/moyen-orient/20260507-ces-images-ne-prouvent-pas-que-l-iran-a-d%C3%A9voil%C3%A9-des-drones-dauphin-kamikazes",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260507-soudan%E2%80%91%C3%A9thiopie-khartoum-accuse-addis%E2%80%91abeba-apr%C3%A8s-des-tirs-de-drones-la-crise-s-aggrave",
|
||||
"https://www.france24.com/fr/%C3%A9missions/le-d%C3%A9bat/20260507-guerre-en-iran-l-%C3%A9chec-de-donald-trump",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260507-centrafrique-l-ong-esp%C3%A9rance-aide-les-enfants-soldats-%C3%A0-surmonter-la-violence-du-pass%C3%A9",
|
||||
"https://www.amazon.fr/",
|
||||
"https://www.service-public.fr/",
|
||||
"https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard",
|
||||
"https://www.credit-agricole.fr/",
|
||||
"https://www.france24.com/fr/%C3%A9missions/questions-directes/20260507-sommet-africa-forward-afrique-anglophone-le-pari-fran%C3%A7ais",
|
||||
"https://www.impots.gouv.fr/",
|
||||
"https://www.france24.com/fr/am%C3%A9riques/20260507-trump-lance-un-ultimatum-%C3%A0-l-ue-pour-appliquer-l-accord-commercial-avec-les-%C3%A9tats-unis",
|
||||
"https://www.france24.com/fr/afrique/20260507-mali-deux-attaques-revendiqu%C3%A9es-par-les-jihadistes-du-jnim-font-plus-de-30-morts-dans-le-centre",
|
||||
"https://www.france24.com/fr/%C3%A9co-tech/20260507-elon-musk-dans-les-radars-d-un-juge-d-instruction-fran%C3%A7ais-pour-les-d%C3%A9rives-possibles-de-x",
|
||||
"https://www.france24.com/fr/%C3%A9missions/journal-de-l-afrique/20260507-au-moins-30-personnes-tu%C3%A9es-par-le-groupe-jihadiste-jnim-mercredi-dans-le-centre-du-mali",
|
||||
"https://www.france24.com/fr/%C3%A9missions/info-ou-intox/20260507-sud-liban-un-soldat-isra%C3%A9lien-fait-fumer-une-statue-de-la-vierge-marie",
|
||||
"https://www.sorbonne-universite.fr/",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260507-azouz-begag-rend-hommage-au-chanteur-franco-alg%C3%A9rien-rachid-taha",
|
||||
"https://www.france24.com/fr/vid%C3%A9o/20260507-burkina-faso-le-journaliste-atiana-serge-oulon-tortur%C3%A9-dans-une-prison-secr%C3%A8te-selon-rsf",
|
||||
"https://www.france24.com/fr/sports/20260507-ligue-conf%C3%A9rence-strasbourg-%C3%A9limin%C3%A9-en-demi-finale-par-le-rayo-vallecano",
|
||||
"https://www.cdiscount.com/",
|
||||
"https://www.fnac.com/"
|
||||
"https://www.france24.com/fr/afrique/20260507-comment-industrie-pharmaceutique-indienne-alimente-crise-opio%C3%AFdes-afrique-ouest-sierra-leone-cote-d-ivoire-senegal-ghana-nigeria",
|
||||
"https://www.service-public.fr/"
|
||||
],
|
||||
"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://yahoo-news.com.hk/BBCChineseNews/41597/?yptr=yahoo",
|
||||
"https://www.hktvmall.com/",
|
||||
"https://hk.news.yahoo.com/%E5%8C%97%E9%9F%93%E5%AE%A3%E7%A8%B1%E4%B8%8D%E5%8F%97%E7%A6%81%E6%AD%A2%E6%A0%B8%E5%AD%90%E6%93%B4%E6%95%A3%E6%A2%9D%E7%B4%84%E7%B4%84%E6%9D%9F-%E6%93%81%E6%A0%B8%E5%9C%B0%E4%BD%8D%E4%B8%8D%E8%AE%8A-015001464.html",
|
||||
"https://www.gov.hk/",
|
||||
"https://hk.news.yahoo.com/%E5%A4%9A%E6%AC%A1%E8%B7%A8%E5%A2%83%E9%81%8B%E9%80%81%E5%85%B12-8%E5%84%84%E7%8F%BE%E9%87%91%E4%BE%86%E6%B8%AF-%E5%85%A9%E5%A9%A6%E6%B6%89%E6%B4%97%E9%BB%91%E9%8C%A2%E7%BD%AA%E6%88%90%E5%88%A4%E5%9B%9A-200000029.html",
|
||||
"https://hk.news.yahoo.com/%E6%B8%AF%E9%90%B5ai%E6%9C%8D%E5%8B%99%E5%A4%A7%E4%BD%BF-tracy-%E5%8D%87%E7%B4%9A-%E5%A2%9E%E8%A7%A3%E6%B1%BA%E5%87%BA%E5%85%A5%E9%96%98%E5%95%8F%E9%A1%8C%E5%8F%8A%E9%9B%BB%E5%AD%90%E8%A3%9C%E7%A5%A8%E5%8A%9F%E8%83%BD-200000283.html",
|
||||
"https://hk.news.yahoo.com/%E4%B8%AD%E6%9D%B1%E6%88%B0%E7%81%AB%E8%88%87%E8%B2%AA%E8%85%90%E9%86%9C%E8%81%9E%E9%9B%99%E6%89%93%E6%93%8A-%E8%8F%B2%E5%BE%8B%E8%B3%93%E7%B6%93%E6%BF%9F%E6%88%90%E9%95%B7%E5%89%B55%E5%B9%B4%E4%BD%8E%E9%BB%9E-050502359.html",
|
||||
"https://hk.news.yahoo.com/%E8%B5%A4%E6%9F%B1%E5%9C%8B%E9%9A%9B%E5%AD%B8%E6%A0%A14%E6%AD%B2%E7%AB%A5%E7%96%91%E9%81%AD%E9%9D%9E%E7%A6%AE-%E6%A0%A1%E6%96%B9-%E7%84%A1%E8%AD%89%E6%93%9A%E6%A0%A1%E5%85%A7%E7%99%BC%E7%94%9F-200000514.html",
|
||||
"https://yahoo-news.com.hk/BBCChineseNews/41595/?yptr=yahoo",
|
||||
"https://www.hko.gov.hk/",
|
||||
"https://www.hsbc.com.hk/",
|
||||
"https://hk.news.yahoo.com/%E8%8B%B1%E5%9C%8B%E5%9C%B0%E6%96%B9%E9%81%B8%E8%88%89%E7%99%BB%E5%A0%B4-%E9%81%B8%E5%89%8D%E6%B0%91%E8%AA%BF-%E5%9F%B7%E6%94%BF%E9%BB%A8%E5%B7%A5%E9%BB%A8%E5%A4%A7%E8%88%89%E6%8C%AB%E6%95%97-133501173.html",
|
||||
"https://www.police.gov.hk/",
|
||||
"https://hk.news.yahoo.com/%E5%B7%9D%E6%99%AE%E5%86%8D%E5%90%91%E4%BC%8A%E6%9C%97%E6%94%BE%E8%A9%B1-%E6%9C%AA%E7%B0%BD%E5%8D%94%E8%AD%B0%E5%B0%B1%E5%8A%A0%E9%87%8D%E8%BB%8D%E4%BA%8B%E8%A1%8C%E5%8B%95-000501399.html",
|
||||
"https://yahoo-news.com.hk/BBCChineseNews/41596/?yptr=yahoo",
|
||||
"https://www.mtr.com.hk/",
|
||||
"https://hk.news.yahoo.com/%E9%9F%93%E8%B2%A8%E8%BC%AA%E8%8D%B7%E8%8E%AB%E8%8C%B2%E6%B5%B7%E5%B3%BD%E8%B5%B7%E7%81%AB-%E4%BC%8A%E6%9C%97%E5%90%A6%E8%AA%8D%E6%B6%89%E5%85%A5-060503126.html",
|
||||
"https://hk.news.yahoo.com/8%E5%B9%B4%E5%89%8D%E5%96%AA%E5%AD%90-%E5%8E%BB%E5%B9%B4%E9%9B%A2%E5%A9%9A-%E5%B0%8D%E7%94%9F%E6%B4%BB%E7%B5%95%E6%9C%9B-%E4%B8%83%E6%97%AC%E6%BC%A2%E7%96%91%E6%AE%BA%E5%A6%BB%E5%86%8D%E4%B8%8A%E5%90%8A%E4%BA%A1-200000965.html",
|
||||
"https://www.hku.hk/",
|
||||
"https://hk.news.yahoo.com/%E8%AA%87%E5%A4%A7%E8%B3%BC%E8%BB%8A%E9%A6%96%E6%AC%A1%E7%99%BB%E8%A8%98%E7%A8%85%E8%A9%90%E9%A8%99%E5%85%AC%E5%8F%B8-%E4%B8%8A%E5%B8%82%E9%9B%86%E5%9C%98%E5%89%8D%E4%B8%BB%E5%B8%AD%E5%9B%9A2%E5%B9%B4-200000420.html",
|
||||
"https://hk.news.yahoo.com/%E9%A6%96%E5%AD%A3%E5%A0%B1%E6%8D%B7-%E5%A4%A7%E8%A1%8C%E9%BD%8A%E8%BD%89%E6%A8%82%E8%A7%80-%E6%B8%AF%E5%85%A8%E5%B9%B4gdp%E7%9C%8B%E5%8D%874-6-200000412.html",
|
||||
"https://hk.news.yahoo.com/%E8%87%AA%E8%A1%9B%E9%9A%8A%E5%9C%A8%E7%BE%8E%E8%8F%B2%E8%BB%8D%E6%BC%94%E5%B0%84%E5%BD%88-%E5%BC%95%E7%99%BC%E4%B8%AD%E5%9C%8B%E4%B8%8D%E6%BB%BF-063502563.html"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1
data/regions/ID/Default/Jakarta.json
Normal file
1
data/regions/ID/Default/Jakarta.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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.kompas.com/", "https://www.detik.com/", "https://www.tempo.co/", "https://www.cnnindonesia.com/", "https://www.antaranews.com/", "https://www.setneg.go.id/", "https://www.bi.go.id/", "https://www.kominfo.go.id/", "https://www.ojk.go.id/", "https://www.telkomsel.com/", "https://www.xl.co.id/", "https://www.indosatooredoo.com/", "https://www.tokopedia.com/", "https://shopee.co.id/", "https://www.lazada.co.id/" ], "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/" ] } }
|
||||
1
data/regions/IN/Default/Delhi.json
Normal file
1
data/regions/IN/Default/Delhi.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "region_name": "India (Delhi)", "google_module": { "base_lat": 28.6139, "base_lon": 77.2090, "lang_params": "hl=en-IN&gl=IN", "valid_url_suffix": "co.in" }, "trust_module": { "white_urls": [ "https://timesofindia.indiatimes.com/", "https://www.hindustantimes.com/", "https://www.thehindu.com/", "https://indianexpress.com/", "https://www.ndtv.com/", "https://www.indiatoday.in/", "https://www.pib.gov.in/", "https://www.india.gov.in/", "https://www.rbi.org.in/", "https://www.meity.gov.in/", "https://www.airtel.in/", "https://www.jio.com/", "https://www.vodafoneidea.com/", "https://www.flipkart.com/", "https://www.amazon.in/", "https://www.irctc.co.in/" ], "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/" ] } }
|
||||
@@ -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/6579268?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6579265?source=rss",
|
||||
"https://www.smbc.co.jp/",
|
||||
"https://www.amazon.co.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6579238?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.japan.go.jp/",
|
||||
"https://www.mhlw.go.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6579267?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6579261?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6579249?source=rss",
|
||||
"https://news.yahoo.co.jp/pickup/6579263?source=rss",
|
||||
"https://www.jreast.co.jp/",
|
||||
"https://www.u-tokyo.ac.jp/",
|
||||
"https://news.yahoo.co.jp/pickup/6579252?source=rss",
|
||||
"https://www.yahoo.co.jp/"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
1
data/regions/KH/Default/PhnomPenh.json
Normal file
1
data/regions/KH/Default/PhnomPenh.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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.phnompenhpost.com/", "https://www.freshnewsasia.com/", "https://www.cambodiadaily.com/", "https://www.akp.gov.kh/", "https://www.gov.kh/", "https://www.nbc.gov.kh/", "https://www.mptc.gov.kh/", "https://www.lazada.com.kh/", "https://shopee.com.kh/", "https://www.smart.com.kh/", "https://www.metfone.com.kh/", "https://www.cellcard.com.kh/" ], "static_urls": [ "https://www.gov.kh/", "https://www.akp.gov.kh/", "https://www.nbc.gov.kh/", "https://www.khmertimeskh.com/", "https://www.phnompenhpost.com/" ] } }
|
||||
@@ -2,21 +2,35 @@
|
||||
"region_name": "South Korea - Seoul",
|
||||
"google_module": {
|
||||
"base_lat": 37.5665,
|
||||
"base_lon": 126.9780,
|
||||
"base_lon": 126.978,
|
||||
"lang_params": "hl=ko&gl=KR",
|
||||
"valid_url_suffix": "co.kr"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://ko.wikipedia.org/wiki/특수:임의문서",
|
||||
"https://www.kbstar.com/",
|
||||
"https://www.kakao.com/",
|
||||
"https://www.korea.kr/",
|
||||
"https://www.naver.com/",
|
||||
"https://www.coupang.com/",
|
||||
"https://www.snu.ac.kr/",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260508120004Ybq",
|
||||
"https://www.yonhapnewstv.co.kr/news/AKR20260508140850oHT",
|
||||
"https://www.hometax.go.kr/",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260508133948kJw",
|
||||
"https://www.yonhapnewstv.co.kr/news/AKR2026050814114471C",
|
||||
"https://www.yonhapnewstv.co.kr/news/MYH20260508140418SmI",
|
||||
"https://www.daum.net/"
|
||||
],
|
||||
"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://namu.wiki/",
|
||||
"https://www.tistory.com/",
|
||||
"https://www.coupang.com/",
|
||||
"https://www.chosun.com/",
|
||||
"https://www.yna.co.kr/",
|
||||
"https://www.kakaocorp.com/"
|
||||
"https://www.kakao.com/"
|
||||
]
|
||||
}
|
||||
}
|
||||
1
data/regions/LA/Default/Vientiane.json
Normal file
1
data/regions/LA/Default/Vientiane.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://kpl.gov.la/", "https://www.vientianetimes.org.la/", "https://www.pasaxon.org.la/", "https://www.mof.gov.la/", "https://www.bol.gov.la/", "https://www.mpt.gov.la/", "https://www.laotel.com/", "https://www.unitel.com.la/", "https://www.tplus.la/", "https://www.foodpanda.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/" ] } }
|
||||
1
data/regions/MM/Default/Yangon.json
Normal file
1
data/regions/MM/Default/Yangon.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://www.mmtimes.com/", "https://www.irrawaddy.com/", "https://www.myanmar-now.org/", "https://elevenmyanmar.com/", "https://www.moi.gov.mm/", "https://www.motc.gov.mm/", "https://www.cbmm.gov.mm/", "https://www.mpt.com.mm/", "https://www.ooredoo.com.mm/", "https://www.telenor.com.mm/", "https://www.shop.com.mm/", "https://www.foodpanda.com.mm/" ], "static_urls": [ "https://www.moi.gov.mm/", "https://www.cbmm.gov.mm/", "https://www.mmtimes.com/", "https://www.irrawaddy.com/" ] } }
|
||||
1
data/regions/MN/Default/Ulaanbaatar.json
Normal file
1
data/regions/MN/Default/Ulaanbaatar.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://montsame.mn/", "https://news.mn/", "https://ikon.mn/", "https://gogo.mn/", "https://www.mnb.mn/", "https://www.gov.mn/", "https://www.mongolbank.mn/", "https://www.mta.mn/", "https://www.unitel.mn/", "https://www.skytel.mn/", "https://www.mobinet.mn/" ], "static_urls": [ "https://www.gov.mn/", "https://www.mongolbank.mn/", "https://montsame.mn/", "https://news.mn/" ] } }
|
||||
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://www.maybank2u.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMizgFBVV95cUxQdHd5SHBwLU5CaFNNVDFzWGlOdkhLWm5IcERaMzVFNkxsTHBpWU4wc1g5cHN3Z0NIalphX3hwYXktaWtzMjJFS3hBc3JfZDRITFNpcWlwWVloR0Vfc3g0b3lEX0J5ZDhibWFaRmtUWVRYQmxrVHF0NUNsTXI2bmNoQXphZ3I4M1l0dktub3JTVnA1ZGpzM0wycXJqdEkxZ3NKQ0Y4b1Zwc0RKX2NId19zOFVRdGViV2FTYVBtY2ZCNmExZVNtdkJCNWI0UC1sdw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMimgFBVV95cUxQMkRvZFJpT2VDQWJLTktXTlpOLUVRNnoyVC1zYVpxYlR4N0VabnJJVDBiazN5M2owLURieDNrRW1UczVxQy0yYVNYRmdzUEdWWXJGV2JrMnZVYTM4N0hJOHE2VjBrQzUtNGpVWFJzNWszTW52aTdCQmsxcEhSeWREMWdsUEFMd2VaMHcwZktIREdGb0dxTW13Z1B30gGfAUFVX3lxTE9uQzdIWm5KM3RjTnFWZmk2LUhFRFduMFB2M05IeE5IcGpFMFRlVXFCckJSd2puUVI4RllZc0pKZnZETHl5cnpHcnFENTNPbGpWcTdmU3R2bWlRVV9BamFPZlFMYUg4UTY0MzRlZV9HLVVTNFFKcjhIYnlZT2lUdDdpZVJtLU1DUTlOVzdqRUdONHhjQldZLUd1YnpEOEQzdw?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitAFBVV95cUxQOFpqNFFqSzFITXFMNDJDcDBob3RjLW1EamtHX1U2REE3Q0NXYXpxdGZTNDBKYVM1YWhnS2gwRXB3dEpNeExyTzBjZndtaXlORWxvRnJhSzh2dzZGQXgtclNXbTEwR2VyU21rbzE2Zno4ejJYUzFUempnT0hpVzY2RmQ4TkRwM2VvOUJRSFd1OXVlb2RNQ2F0YXZ5aTNxUVN2RkpMLWtFMGpHZ1BhVEp2bHNxRmY?oc=5",
|
||||
"https://www.hasil.gov.my/",
|
||||
"https://www.pos.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMipwFBVV95cUxNcGtYWE4xZHdmTUduUTEtamFPSWE4NXF1RG5aQndEQ0E0U3pnbmpmdVRVRmdFN3JsbFVvYVU3aFcwU0dwYWxHUHhPbjZUdkxlLVUzSDZobi10bWNaY2pLeUUwSjVVcWlpVXNGT2puLXR0SlhERDh6QWpURHpkN25PdW5SbkFuSGZUc19MdUlIM0psRDl3RlU1VFJ3Y19BeWJnWTBKNl9UQQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiugFBVV95cUxPUG03VExSSXBfSFFiX1BzYjZTWmc3amZuMFhYUFBOUHo0NDdBVVRHU05PVTlsMlFFa3B6NVFZQmNGRjFnNWdneFp3VEVVX0J6UTdaUFFvT1kxMGZFS1N2R2VIeFZUdWhpYjZ1NkVqTExacUV4Q0w1YlFqWGpUMjZPYW9YN0xodFR4UENtTi1lMklna0VYeElCeGE3RGlfelJYVVFma0dudFFaeGJpdTBFZkpFQkpVc1FUY2c?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi6AFBVV95cUxOT1p5WVZUck5zS0NsTG11V3IyRkdtVktSbzhONmhuZUprMGN4Yy02SDdieHFERlRmTDhVbk9jVmtQZjdYcnd0ODZNS2dBakZLSFk5eTlaWE43TFlObXgtalhUeTM5UXVoMGVXUFNzSEwxUWxRXzNLMWlRVHhvRi04c3lhOG94VEFCLXUtbEN2bTRDR0RpSmQ1bWxqSFltS2dvM3NJaTRneEVwR0I1NGF1TXh1M25KQ1RXWE1sMFNONV91dk5Pd2tVaU5ZbnZIN05qMjVQVXpMWTB4Xzhrakc0Yi1JXzJoTG9F0gHuAUFVX3lxTFAwTUxyZ3FFS0ZwT0M5SnZEQTd5bURnSEt1ZE13ZW13UDZDS0t3V1NhLW0xd1NDcUlDWmZzOE9hQzBYUHJELXh2bU5DcUtfdS0za2ZYRlNVdzQ1UDItaXh6VGlITmRjVk1Ldk5PME1jTTdkVW9CMGhBdnVwcndCU2JqemRqY3QtY0c2T2twb2JNVW5uaTREdThGLUQxN2txVW1fUUZMUHhwcTNHNXMzV2FsNkh2T0Y5dUY2MmxuMjZMcDhrcnJxYnpfUjVQaWpvUFdjYlZNY205QnIwTzdBN2dqano2TGdzUW1iZlhyd0E?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMizgFBVV95cUxOYjdxZWM1eFZyRDE1MGtDNVZQWi1tYW43VzdDZEw4d1VKZjctZ2JZT1BTaHQySU0yZldtSW96bEpCNVZJWURPREZKdFkxUERYUlE4bThFZG9yU3YyRm9XcjNDdndPWC1mRE4tNDBCN3dxcl9wTTBsNmFTSmlNUzBTb1RMellrczNSSkl6bDZFS3lncF80MVlIb1pNbDFOTEhtakJkdHJsd2l1RWNTalVZa2Vpc0c3TlhqNnNfZGgwTE5iVnRpa3E5d3N2OGp0UQ?oc=5",
|
||||
"https://www.kwsp.gov.my/",
|
||||
"https://news.google.com/rss/articles/CBMitgFBVV95cUxQdnBacDNnMVk1MjFqT1BmREdvYVpSdDQtSWQ4emxuZ1hpZ3UxLVlhTzl0MjRoWEJjdnR2M1lwbEZXUjUyZmpJUUVLZW9wN3hmaURaN2pZeUVObTdzeGU2d0IwSkZmeTlQQVFPbFZ1MHBNUkJQbHFINzk2eWJpV29CNVlUOFdHRF8tejg4UU1yZkVLYmJpSnV4em91WHBNMnYyelRzbFIwTUtseTVnZVp4OWZJNVd4QQ?oc=5",
|
||||
"https://um.edu.my/",
|
||||
"https://news.google.com/rss/articles/CBMirAFBVV95cUxQQjQ5ZnB3d2Nwa1pzSWVKNmlwbVdwaW9XVG5QVzZCcS1IUFhGeG1VUEctcTByV3RxWXcxZ0pmb3l0aGpjdlJtVjZHSkZ3ZXpoS0VGUHByY2FDNlV0ZFRvbm9fcEt4QW1CTEtLNldnQXBkakp1V21GaFNjWk9tbkNHdzJ6QlBkQzRCNnhpVWdkQXBPMWNva19LVUg0UU1SaXBIUUVxYVFWYjdsMC1B?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMizwFBVV95cUxNeTRid01BSEpNRUxGcVBMTEd0bjlEOHdZX2FEMjc4c1FxX0poRTZEVG9tbW5yejlEdFFibDg0Vi1QSXoyamdWTzk0N1V4dTBfM0QyeHAybzFFbzlaeWw0V2pXT0JzS29oSWM5Zlp0QTZET3NBSkp6aUtpdVVVb2cyNTgxYldRMGZCc1kzUnZJWHNkN0F3OHJRMm5EX201VWc3Y1BOd3dEOC1rdUYzWHpISkp1aElXRVFCRUozYVBYa0NSU3VBZ3FnZndVVWtkLTQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiywFBVV95cUxQRE1NRXFnckdTRGdtMmZ2RWtJMjJnenRaUk04WTQ3VFROMlNFSjFLajR5aGhVMWlORlUwRjZYTV80TmFkdEVUalAybHVIYWgxbnlRTG9fTXJxV19hLTdHTS1WWWFxanB4RGJOYUdzSjR0dGZLT1RieTZUbk1NWjF3YTJzM3VnNGl4Mnp3YWxHSmdQWjRUR0J6dVBybTAzcUpUaktSS3MyWUg5cjhOSDBzdjJrdFhlblc2eWdUTVlCS0syOWFUeGdmbV9EZw?oc=5",
|
||||
"https://www.cimbclicks.com.my/",
|
||||
"https://www.lazada.com.my/",
|
||||
"https://www.malaysia.gov.my/",
|
||||
"https://www.thestar.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMiYkFVX3lxTE1lYTR4V1lLYjhNSURELWphckVUZG9iSmRKUGttQ29JLWY0QWw5aVNIMTFvVXY2ck1DT24tY1NSaERBOS1QcXFjWml4N2pYd2wtd3E1MGdHU3VUb3E4M2ZOMGRB?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMivAFBVV95cUxQeTlMTzV2dFczc0FaNy0yemhYaks5a3YtbE5QelFHUmwtYnFORHlvdW1IdEp2ZDdEMkY1QVp3dks2bUN5QVhOQ2NoRHlkT1RaQnp2dzJGZi1pMlRNX0NCcTNWbDBCU1NjNXdRRnBiaVZIbFZFblhoWlprSkhELWNKaHBCcWRvZ3RxZmlBNGZEeUtYV0MteHR4NnpLWjRDaVltdDhKdU9PNHRPdmVaTmRYaFVncF9ZMWJfOG5IRA?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMitwFBVV95cUxNRVpSblFDZTF0UUlwcW5NTkVrYTEwS29pX191ZzJTMVlaVmRCWXRmNG5XaVRTMXMxSnZMSEx5bTlYcjZVX2JwYklSN2VTWGFiT1JoV1hVZW1xb2dsdTh2cklvY3FvOHFMekJ1cVgwS19QUWFhZXRqRmx4eW1RaWRXVVBBVU8tcFAtR0IxS19EcVVRYVpPdUtqZXZRc2N4cllGMW50UWVvLUYtcmNJTlBhZ0dKOHZSYWc?oc=5",
|
||||
"https://shopee.com.my/",
|
||||
"https://news.google.com/rss/articles/CBMirgFBVV95cUxQUnRDeW1NWW94LUZDMUc1Z2QzZzFQMmRBdFUwdG5FUjNUemZQaGt0a3ByenhrWExEUGpvQmpoNzRwd1I0bmRtcWlYUkRFZV9xVEVEZlZlZXYwSnVBMFVBYi1tdTE2cVFybkV6NDZIVXEyRklIUlNMeXlRMWZwcUVYYmZ4X3lOQ3N2MVZYNkh1NHFNVnNlVHZzTC1ZdHdpbnpJM1pQSzQ1bkEzQ0JEVkE?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.firstbanknigeria.com/",
|
||||
"https://www.gtbank.com/",
|
||||
"https://punchng.com/japa-nma-president-demands-better-welfare-for-doctors/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/2027-jonathan-weighs-presidential-comeback/",
|
||||
"https://www.vanguardngr.com/2026/05/plateau-killings-wont-continue-mutfwang/",
|
||||
"https://punchng.com/swaga-leaders-root-for-tinubu-oyebanjis-re-election/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.airtel.com.ng/",
|
||||
"https://punchng.com/rivers-man-in-police-net-for-defiling-neighbours-teenage-daughter/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/farmers-accuse-banks-of-diverting-agric-funds-to-real-estate/",
|
||||
"https://punchng.com/experts-advocate-collaboration-upskilling-for-career-growth/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.nairaland.com/",
|
||||
"https://punchng.com/sunbeth-to-launch-70000-mt-cocoa-80000-mt-cashew-processing-plants-in-march-2027/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://punchng.com/borno-attack-claims-two-soldiers-zamfara-ied-blast-kills-six/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.konga.com/",
|
||||
"https://www.mtn.ng/",
|
||||
"https://punchng.com/olopade-hails-first-ladys-dedication-to-womens-sports/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/ukraines-destructive-footprint-and-the-folly-of-an-african-partnership/",
|
||||
"https://guardian.ng/",
|
||||
"https://punchng.com/police-kill-robbery-suspect-rescue-abducted-oyo-farmer/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://punchng.com/us-to-revoke-passports-of-parents-owing-child-support/?utm_source=rss.punchng.com&utm_medium=web",
|
||||
"https://www.vanguardngr.com/2026/05/nigeria-now-working-shettima-insists/",
|
||||
"https://www.jumia.com.ng/",
|
||||
"https://www.vanguardngr.com/",
|
||||
"https://www.punchng.com/",
|
||||
"https://punchng.com/amusan-leads-nigerias-african-athletics-championships-team/?utm_source=rss.punchng.com&utm_medium=web"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.jumia.com.ng/",
|
||||
"https://www.punchng.com/",
|
||||
"https://www.gtbank.com/",
|
||||
"https://guardian.ng/",
|
||||
"https://www.konga.com/",
|
||||
"https://www.firstbanknigeria.com/",
|
||||
"https://www.vanguardngr.com/",
|
||||
"https://www.nairaland.com/",
|
||||
"https://www.airtel.com.ng/",
|
||||
"https://www.mtn.ng/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://nl.wikipedia.org/wiki/Speciaal:Willekeurig",
|
||||
"https://www.rijksoverheid.nl/",
|
||||
"https://www.nos.nl/",
|
||||
"https://www.bol.com/",
|
||||
"https://www.nu.nl/",
|
||||
"https://nos.nl/l/2613501",
|
||||
"https://nos.nl/l/2613506",
|
||||
"https://www.buienradar.nl/",
|
||||
"https://www.telegraaf.nl/"
|
||||
"https://nos.nl/l/2613519",
|
||||
"https://nos.nl/l/2613523",
|
||||
"https://nos.nl/l/2613474",
|
||||
"https://www.belastingdienst.nl/",
|
||||
"https://www.ns.nl/",
|
||||
"https://www.bol.com/",
|
||||
"https://www.marktplaats.nl/",
|
||||
"https://nos.nl/l/2613478",
|
||||
"https://nos.nl/l/2613517",
|
||||
"https://www.rijksoverheid.nl/",
|
||||
"https://nos.nl/l/2613524",
|
||||
"https://nos.nl/l/2613527",
|
||||
"https://nos.nl/l/2613495",
|
||||
"https://nos.nl/l/2613522",
|
||||
"https://www.ing.nl/",
|
||||
"https://nos.nl/l/2613511",
|
||||
"https://nos.nl/l/2613529",
|
||||
"https://nos.nl/l/2613477",
|
||||
"https://nos.nl/l/2613475"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
1
data/regions/NP/Default/Kathmandu.json
Normal file
1
data/regions/NP/Default/Kathmandu.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "region_name": "Nepal (Kathmandu)", "google_module": { "base_lat": 27.7172, "base_lon": 85.3240, "lang_params": "hl=en-NP&gl=NP", "valid_url_suffix": "com.np" }, "trust_module": { "white_urls": [ "https://kathmandupost.com/", "https://myrepublica.nagariknetwork.com/", "https://thehimalayantimes.com/", "https://www.onlinekhabar.com/", "https://ekantipur.com/", "https://www.ratopati.com/", "https://nepal.gov.np/", "https://mof.gov.np/", "https://www.nrb.org.np/", "https://nta.gov.np/", "https://www.ntc.net.np/", "https://www.ncell.com.np/", "https://www.daraz.com.np/" ], "static_urls": [ "https://nepal.gov.np/", "https://www.nrb.org.np/", "https://kathmandupost.com/", "https://thehimalayantimes.com/", "https://www.onlinekhabar.com/" ] } }
|
||||
1
data/regions/PH/Default/Manila.json
Normal file
1
data/regions/PH/Default/Manila.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://www.gmanetwork.com/news/", "https://www.abs-cbn.com/news", "https://www.philstar.com/", "https://newsinfo.inquirer.net/", "https://www.manilatimes.net/", "https://www.rappler.com/" ], "static_urls": [ "https://www.gov.ph/", "https://www.pna.gov.ph/", "https://www.bsp.gov.ph/" ] } }
|
||||
1
data/regions/SA/Default/Riyadh.json
Normal file
1
data/regions/SA/Default/Riyadh.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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://www.spa.gov.sa/", "https://www.sabq.org/", "https://www.alriyadh.com/", "https://www.my.gov.sa/", "https://www.sama.gov.sa/", "https://www.citc.gov.sa/", "https://www.stc.com.sa/", "https://www.mobily.com.sa/", "https://www.zain.com.sa/", "https://www.noon.com/saudi-en/", "https://www.amazon.sa/", "https://www.jarir.com/", "https://www.hungerstation.com/" ], "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.iras.gov.sg/",
|
||||
"https://www.channelnewsasia.com/singapore/orchard-road-rejuvenation-tourism-stb-6107786",
|
||||
"https://www.channelnewsasia.com/business/anthropic-weighs-fundraising-near-1-trillion-valuation-ft-reports-6108836",
|
||||
"https://www.channelnewsasia.com/business/toyota-sees-20-drop-in-annual-profit-iran-war-weighs-6108941",
|
||||
"https://www.channelnewsasia.com/business/sony-forecasts-lower-gaming-business-sales-amid-memory-price-surge-6108706",
|
||||
"https://www.gov.sg/",
|
||||
"https://shopee.sg/",
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.fairprice.com.sg/",
|
||||
"https://www.dbs.com.sg/"
|
||||
"https://www.nus.edu.sg/",
|
||||
"https://www.channelnewsasia.com/singapore/sfa-grace-fu-vegetable-seafood-production-rise-6108556",
|
||||
"https://www.cpf.gov.sg/",
|
||||
"https://www.singpass.gov.sg/",
|
||||
"https://www.channelnewsasia.com/asia/indonesia-mount-dukono-eruption-hikers-trapped-6108851",
|
||||
"https://www.channelnewsasia.com/brand-studio/food-lovers-guide-hong-kong-6103501",
|
||||
"https://www.channelnewsasia.com/singapore/ex-sakae-holdings-guilty-misappropriation-bugis-cube-6108766",
|
||||
"https://www.channelnewsasia.com/singapore/hantavirus-singapore-low-risk-experts-6107476",
|
||||
"https://www.channelnewsasia.com/business/aws-working-restore-cooling-north-virginia-data-centre-coinbase-impacted-6108826",
|
||||
"https://www.channelnewsasia.com/sport/copa-libertadores-game-in-colombia-abandoned-due-crowd-trouble-6108936",
|
||||
"https://www.shopee.sg/",
|
||||
"https://www.dbs.com.sg/",
|
||||
"https://www.channelnewsasia.com/business/japan-intervened-in-forex-market-again-during-may-holidays-source-says-6108691",
|
||||
"https://www.channelnewsasia.com/east-asia/bear-attack-fatal-japan-first-year-iwate-prefecture-6108681",
|
||||
"https://www.channelnewsasia.com/commentary/hantavirus-cruise-ship-death-risk-pandemic-investigation-6108771",
|
||||
"https://www.channelnewsasia.com/women/help-heart-attack-symptoms-women-singapore-6108571",
|
||||
"https://www.fairprice.com.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1
data/regions/TH/Default/Bangkok.json
Normal file
1
data/regions/TH/Default/Bangkok.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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/", "https://www.nationthailand.com/", "https://www.thairath.co.th/", "https://www.khaosod.co.th/", "https://www.matichon.co.th/", "https://www.thaigov.go.th/", "https://www.bot.or.th/", "https://www.set.or.th/", "https://www.lazada.co.th/", "https://shopee.co.th/", "https://www.true.th/", "https://www.dtac.co.th/", "https://www.ais.th/" ], "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/kelebek/fakir-hausgerate-ile-lezzetli-tarifler/sogan-dolmasi-43163357",
|
||||
"https://www.ziraatbank.com.tr/",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/demirci-asliye-hukuk-mahkemesi-43168526",
|
||||
"https://www.sahibinden.com/",
|
||||
"https://www.hurriyet.com.tr/gundem/deasa-propaganda-gozaltilari-43168711",
|
||||
"https://www.hurriyet.com.tr/kelebek/televizyon/taciz-davasi-unlu-ciftin-ruya-evliligini-sarsti-o-soylenip-duruyor-kocasinin-hic-sesi-cikmiyor-43167352",
|
||||
"https://www.hurriyet.com.tr/lezizz/islak-kek-tarifi-videolu-42985021",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/bakirkoy-16-agir-ceza-mahkemesi-43168492",
|
||||
"https://www.hurriyet.com.tr/lezizz/tavuk-sote-tarifi-videolu-42940328",
|
||||
"https://www.hurriyet.com.tr/sporarena/arda-turanin-shakhtari-konferans-ligine-veda-etti-final-crystal-palace-rayo-vallecano-43168679",
|
||||
"https://www.hurriyet.com.tr/gundem/bakan-guler-acikladi-yildirimin-saha-testleri-yakinda-43168644",
|
||||
"https://www.turkiye.gov.tr/",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/t-c-golcuk-1-sulh-hukuk-mah-satis-memurlugu-43168418",
|
||||
"https://www.milliyet.com.tr/",
|
||||
"https://www.hurriyet.com.tr/",
|
||||
"https://www.garantibbva.com.tr/",
|
||||
"https://www.hurriyet.com.tr/resmi-ilanlar/istanbul-12-aile-mahkemesi-43168447",
|
||||
"https://www.trendyol.com/",
|
||||
"https://www.hurriyet.com.tr/dunya/live-israile-sizma-girisimi-iran-ordusu-dusmani-sasirtacak-planlara-sahibiz-beyrut-vuruldu-43167937",
|
||||
"https://www.hurriyet.com.tr/kelebek/stil/100-milyon-dolarlik-konser-43168740",
|
||||
"https://www.hurriyet.com.tr/gundem/baba-o-cani-hala-yakalanmadi-mi-43168660",
|
||||
"https://www.hurriyet.com.tr/dunya/yaz-gelmeden-rekor-geldi-43167865",
|
||||
"https://www.hepsiburada.com/"
|
||||
],
|
||||
"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://www.pchome.com.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTE53M0JIWkNEVXZFSGRGRy0tUzRMOXdyOC1EX2NqVmV6aDBMYU95aGZ3d2lUYnoycnctejlfSzRkVFBvVFJ2Q3RGWXNKd1dVb2dBWTBEZm9YX0x6UdIBX0FVX3lxTE5iZ3lRa1FKenQxUFFKdks2eHNvZzNIODJJUGlRZ0h4VDBUcTZKdGtyN0VaSURFREJieHN5SGVfY2xiVERwQ3JfdFQyal9EMzNsWDhPMFJhYXdkNldYQjNr?oc=5",
|
||||
"https://www.ntu.edu.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiTkFVX3lxTE1pZHFUdUQyUGlqMG5McG5CV015R19xS1VJTGVPX1NZRDJ0NlNXZ3V3U1pyVy1ZSWJxREJkZHVheE1mZlJmRGRZc1dXUHk4dw?oc=5",
|
||||
"https://www.gov.tw/",
|
||||
"https://www.cathaybk.com.tw/",
|
||||
"https://www.momoshop.com.tw/",
|
||||
"https://www.ruten.com.tw/",
|
||||
"https://www.mobile01.com/",
|
||||
"https://www.pchome.com.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiWkFVX3lxTFBKUWF6NWdnQjRSd0xXYkRaUUlhNVNhZ3ZlTjZubmJDcUJLdERmYk1FbW1pSXJEcmNtUVl2QXRuQ0p2TmNJY0cwNzNWOVZHanU5U1I5cGdNRW53UdIBX0FVX3lxTE4zWXZNS1ZaUldZMG5FSENrMVVPaVE2QVZobDFUdFJJWTlsdGxOcmNwYmNHS1k5T0FhMG9SbDM2dTdoZlFKeFFFZ2pONkVtS2NKeXdCbnNRTkZramNMSm44?oc=5",
|
||||
"https://www.dcard.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiUkFVX3lxTE1LUlRyYmwzcjU5X0JCZ21JZnlnal8yUmdxUHk0V0xwY0VDRGRNWXhhMTd1WHFnZ0VnR1hPVVdjUlhITjNSeVZMci1LQ1ZfcWVZMFHSAW5BVV95cUxNSXpMU1p1akxHVzB2dV9wcTlIYVIxUWdDSFlCclAyeExfSk05QXJQSVk3UEM0Y2pZbTl1UzE3MjBISF9PVkNOMFVPakY4UXlSQklGT0N5dHM3Z2toaFpOVlNBMXUxYUl4VDl5UFVpUQ?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMilwFBVV95cUxNbEl2RXdNOUJSZkJ1Ml84blF4ZGtoNVFBRXBQZmNtbGdydFBIaFJuSWtvcGNGcXkzUHFjVWdyZ0xBYXhQTGwzUFIwSE12VnUzeURCVGZlMVVNUXFuSnBfZWVsbjItSEQ1S0w4LTdjbjBKQ2NsQWtvYnBkejE4VkVNMGowX05sOGhlRDlMZWV6RVA2NE8zNkE4?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMi7gJBVV95cUxONkE4eWdTN092NmtRYlFSZ3lwLVlCOS1zTFYxYnlxVTZTdnJIVGZsNmtxXzdwVXIxUnVEaEt1NWoySmJhVjNFeEhZb0RDZDdrT1loTThOVk16ZG1BVi1jZTQ2cGJNbkJLbldwdEVZOGQ0TFYxbnlxbEk2SGNzTXdCbHJCVi0tQUlrTkk1VnQ1bl96V09lWDNLWTZfUDR1b0FZMWh2VGwtOTU1Nkg3YnRIZzFkbzg2MktJb2RkaXJnRnFoMGpiYlFRaHd0NDE4NFlpZ1NlNi1HQVdwSUM1V2ZfVzAzVGlVUm1FRy1OQmQzb2x5eV9lYWVTWThCQ095Z0EyTFM2UUYxb29VWnJUTTV5T1RnOXVEWVlRendpekd2TXZoUlRnMy1PRE9RVE1Lc2tTdGxkODJjZm83WVoxTHFTQTBxalh4Q2twZG9BZFJQckJBTkQ5dnlJZE50ZUI2dC1nbVNzaGhXTS1rdWZXcEE?oc=5",
|
||||
"https://www.post.gov.tw/",
|
||||
"https://tw.yahoo.com/",
|
||||
"https://news.google.com/rss/articles/CBMiZEFVX3lxTE53RHJZRmZlOXdMOHRVbnRXTnRvTkNTRGd4VWpabVVJZl9YWGpwR0lYQ0Y5ZmhvREJkTjk4ekszQ2dYak40TEVZZ2M0VktKcVY2YWtPNjRhT0xKSm9WVlhDU3BHcXDSAWpBVV95cUxQTlNKYm9seXhraHl3Y0tQTVppaE8wODF1Y0taTTNic3lGUjUwN3dMOXN1TnI5LWRvaXZRSG1ZSXJoNHo1emd1MmFKdzM0anJGVERkX0llclV5OXI3UTYtQjBQTXRfWmVwb1p3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiZEFVX3lxTE5fWXE5WjVmdTJycGFQbW54NE1kS3QxS3FPWHM0SW5FZXFwRHdqb29laXIwdU51U1F6RjBNbUpEc01hMFZPZjNMVzV6bVg5MDZkU0tJcFJVeEgxMm5kVkNqaUxJYWTSAWpBVV95cUxPOG5zd1VTeVhyMGZySEhwdGRHSVdfSUlGWnhIY0JKb0tFeVNzMFg0U2gwcVZpT1IwUGJxNUg4bmd1bjlNTjNNYkppRkhVd0xXamRVem9wU20wbU9INFYxSlpzR0JqNThCOW13?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE9vNEltejR0bHI1RVV3UnNhRDNOSTJhZDNHN3VubzdzclFDR1phVGxWMXpyVU1vWWEzM3pOdFdGZG1BRDI5TV9BclduczBodm1o?oc=5",
|
||||
"https://www.thsrc.com.tw/",
|
||||
"https://news.google.com/rss/articles/CBMiZkFVX3lxTE1pN2luTXc0MEFHRWV6T2hhT1p3Yi1sSktURVkyMXdKYnN4a2liUXE2NnlBbWRHWUlNcHIybEhZaE1sU1VIcmliRXAweUdONHY2RElHUHdETmdOQ2hmNThvNUpBcFh4QdIBa0FVX3lxTFAwbWoyd3F5YU16NF9wM2xlNE1pOU0zODROZkx6SHl3SVRXamtuR1M1WDd1QV9QeTlfcmZjOG1MMzlxbXJoZHBJdTg1WF9nM0hXS3JCR0xGZFM5MFhoRFZKVkxCd09QREp4enh3?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiswJBVV95cUxQU05iM0VGODI2RkFLbGY4SnNIT0ZQRnA4Z1pVbFFBQWVrQ00zcC1SNzZPLTh6ZUJ2LVRMdjNqaVVDWWlzd2R0UHJHQUJEN3FucE5mRHo1d1NYRkRHcVNQSnFZb1RDdEtrWm1YMnJUUnVSMV9OUHp1U0R6WnhYbmUtaXc2RVdWb2VSeFp6NzhmYkJIR1l2NUdDX3kxbDJCUTluM1NCNUpUMGJ1Q3cwM2V6YUtqamMzTlpBNUhjMzgwUWw1bVA2MU9FMXJ1dXVsVFMtRVlHYklsQmsyVHZMT2tJaV9pNUpQeFY4LVotSkczWFZnZGFmSTlLVER5OThaNmtxREtIcVNfVXNmeVFJdkptanRISnR1dTRndV9sdlVjZVhUbnkwOUY1TFNYSmNDRXNkX05r?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiigFBVV95cUxQUjVuSUttNGoyVjZMZUszdDdXLVFHVkEzbHpOSnFucnFFR1RMck9ZR09wSHBpVy1tY2FZUmxqSVUtd05xaXhiZENKcWczZm5yY0xlbjJmYlZIeHdBRXFUQkFjMHU4TjNMaGdBMWdhMmkyOWxZWnNFMGFhX0xCVHN3NEd5YmNmT0hkclE?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiW0FVX3lxTE9ibXBOQVBnZERJS2Y5Mjl3RUpJSUdsUnYtUDN4bV9hd1NYUGY2RE01TWgwbzN4d2ZmOXVnYUxuUzdvcmNEUmJZYms1cjdaTHZPM2g5UHFlaFhZSnc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiUEFVX3lxTE5HdTZlRHFIaXN5aFowNlBwRVB6NjhYbVlLRUFoQ0FocnluNUV5SG91dlRQdlFpTGJFRS1PbXh5RzFmZmdhZVM0a1E3REtfQmw00gFWQVVfeXFMTnMtXzFYSGVvV1ROVlh4RFRPOUljSFV2V2lhRkxSRkNoVGNsM3hWczdxNnRBYlkxTV9lMXRNaWROYUZyNHdvQmYzbFNwVlBMd2U1aHlBSHc?oc=5",
|
||||
"https://news.google.com/rss/articles/CBMiW0FVX3lxTE5HLVBpSzNaZ0Q1bHZQYmdRYTJXeWlfdl8wX3FJcmxjdGlJNkF0RG16YXYweTBOYlBFdVl3aWtqTk1wanEwNXQ2d25XN3hLNjlYaHNsMWhnYXJmN2s?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.bbc.com/sport/football/articles/c5yr4vle9w2o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.postoffice.co.uk/",
|
||||
"https://www.nhs.uk/",
|
||||
"https://www.bbc.com/news/articles/c62nq678nyzo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c707edw539ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c98r199e195o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.amazon.co.uk/",
|
||||
"https://www.theguardian.com/uk"
|
||||
"https://www.bbc.com/news/articles/cdrpx8pl36vo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.co.uk/news/10628994?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c1j74x9pe0eo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/ce8pyyz5e0ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.barclays.co.uk/",
|
||||
"https://www.ox.ac.uk/",
|
||||
"https://www.bbc.com/news/articles/c4g0d1wp6g8o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c1e2pdw1808o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c626zyywxjno?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cwy2gj2jlr8o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/sport/football/articles/c98r4218l73o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cn4pyrnmplgo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.ebay.co.uk/",
|
||||
"https://www.gov.uk/",
|
||||
"https://www.bbc.com/news/articles/cp3pww9g0p5o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.nationalrail.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.nationalrail.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c62nq678nyzo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.barclays.co.uk/",
|
||||
"https://www.gov.uk/",
|
||||
"https://www.amazon.co.uk/",
|
||||
"https://www.theguardian.com/uk",
|
||||
"https://www.ebay.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c707edw539ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c1e2pdw1808o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/ce8pyyz5e0ro?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/sport/football/articles/c5yr4vle9w2o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c1j74x9pe0eo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/c98r199e195o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.nhs.uk/",
|
||||
"https://en.wikipedia.org/wiki/Special:Random",
|
||||
"https://www.ox.ac.uk/",
|
||||
"https://www.bbc.com/news/articles/c4g0d1wp6g8o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cp3pww9g0p5o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cn4pyrnmplgo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.amazon.co.uk/",
|
||||
"https://www.postoffice.co.uk/",
|
||||
"https://www.bbc.com/news/articles/c626zyywxjno?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/sport/football/articles/c98r4218l73o?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cdrpx8pl36vo?at_medium=RSS&at_campaign=rss",
|
||||
"https://www.bbc.com/news/articles/cwy2gj2jlr8o?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.homedepot.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/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,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.walmart.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cdc.gov/"
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.target.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.target.com/",
|
||||
"https://www.npr.org/",
|
||||
"https://www.weather.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.mercurynews.com/"
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer"
|
||||
],
|
||||
"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/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.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.irs.gov/"
|
||||
],
|
||||
"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.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.chase.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.homedepot.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
data/regions/US/HI/Honolulu.json
Normal file
1
data/regions/US/HI/Honolulu.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "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.staradvertiser.com/", "https://www.hawaiinewsnow.com/", "https://www.khon2.com/", "https://www.kitv.com/", "https://www.civilbeat.org/", "https://www.hawaii.gov/", "https://health.hawaii.gov/", "https://www.hawaiitourismauthority.org/", "https://www.hawaiianairlines.com/", "https://www.costco.com/", "https://www.walmart.com/", "https://www.amazon.com/" ], "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.weather.gov/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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.walmart.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html"
|
||||
],
|
||||
"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.indeed.com/",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.target.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.usps.com/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html"
|
||||
],
|
||||
"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.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.usa.gov/"
|
||||
],
|
||||
"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.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.usps.com/",
|
||||
"https://www.harvard.edu/",
|
||||
"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/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.nytimes.com/",
|
||||
"https://www.texas.gov/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.dallasnews.com/",
|
||||
"https://www.foxnews.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.target.com/",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.amazon.com/"
|
||||
],
|
||||
"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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
40
data/regions/US/TX/Houston.json
Normal file
40
data/regions/US/TX/Houston.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"region_name": "USA - Houston",
|
||||
"google_module": {
|
||||
"base_lat": 29.7604,
|
||||
"base_lon": -95.3698,
|
||||
"lang_params": "hl=en-US&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.houstontx.gov/",
|
||||
"https://www.houstonchronicle.com/",
|
||||
"https://www.mdanderson.org/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.nasa.gov/",
|
||||
"https://www.rice.edu/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://www.houstontx.gov/",
|
||||
"https://www.houstonchronicle.com/",
|
||||
"https://www.rice.edu/",
|
||||
"https://www.mdanderson.org/",
|
||||
"https://www.nasa.gov/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Salt Lake City",
|
||||
"google_module": { "base_lat": 40.7608, "base_lon": -111.8910, "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": 40.7608,
|
||||
"base_lon": -111.891,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/us/undocumented-immigrants-taxes-cec/index.html",
|
||||
"https://www.usps.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html"
|
||||
],
|
||||
"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/VA/Ashburn.json
Normal file
50
data/regions/US/VA/Ashburn.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Virginia (Ashburn)",
|
||||
"google_module": {
|
||||
"base_lat": 39.0438,
|
||||
"base_lon": -77.4874,
|
||||
"lang_params": "hl=en-US&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.indeed.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.homedepot.com/",
|
||||
"https://www.chase.com/",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.weather.gov/",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.zillow.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,50 @@
|
||||
{
|
||||
"region_name": "United States - Seattle",
|
||||
"google_module": { "base_lat": 47.6062, "base_lon": -122.3321, "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": 47.6062,
|
||||
"base_lon": -122.3321,
|
||||
"lang_params": "hl=en&gl=US",
|
||||
"valid_url_suffix": "com"
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/h_8d51e3ae2714edaa0dace837305d03b8",
|
||||
"https://www.cdc.gov/",
|
||||
"https://www.cnn.com/2023/04/18/media/netflix-dvd-red-envelopes/index.html",
|
||||
"https://www.bankofamerica.com/",
|
||||
"https://www.cnn.com/2023/04/18/politics/white-house-toddler/index.html",
|
||||
"https://www.chase.com/",
|
||||
"https://www.npr.org/2026/05/07/nx-s1-5803121/trump-fema-reform-wildfire-flood-hurricane",
|
||||
"https://www.cnn.com/2023/04/17/opinions/us-tax-system-wealthy-disney-pearl/index.html",
|
||||
"https://www.harvard.edu/",
|
||||
"https://www.cnn.com/cnn-underscored/reviews/best-bidets?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/2023/04/17/opinions/sudan-revolution-to-civil-war-lynch/index.html",
|
||||
"https://www.cnn.com/2023/04/18/media/fox-dominion-settlement/index.html",
|
||||
"https://www.walmart.com/",
|
||||
"https://www.irs.gov/",
|
||||
"https://www.cnn.com/travel/article/high-speed-rail-us/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/home/how-to-compost-at-home?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.cnn.com/style/article/ai-photo-win-sony-scli-intl/index.html",
|
||||
"https://www.cnn.com/cnn-underscored/deals/dyson-supersonic-sale-2023-04-17?iid=CNNUnderscoredHPcontainer?iid=CNNUnderscoredHPcontainer",
|
||||
"https://www.target.com/",
|
||||
"https://www.cnn.com/2023/04/18/entertainment/michelle-yeoh-star-trek-section-31/index.html",
|
||||
"https://www.usa.gov/",
|
||||
"https://www.cnn.com/business/live-news/fox-news-dominion-trial-04-18-23/index.html",
|
||||
"https://www.amazon.com/",
|
||||
"https://www.usps.com/",
|
||||
"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.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/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,37 @@
|
||||
},
|
||||
"trust_module": {
|
||||
"white_urls": [
|
||||
"https://vi.wikipedia.org/wiki/Đặc_biệt:Ngẫu_nhiên",
|
||||
"https://chinhphu.vn/",
|
||||
"https://vnexpress.net/tiem-botox-thanh-quan-dieu-tri-roi-loan-giong-5071319.html",
|
||||
"https://www.vietcombank.com.vn/",
|
||||
"https://vnexpress.net/hang-nghin-nguoi-xep-hang-du-vietnam-gameverse-2026-5071444.html",
|
||||
"https://vnexpress.net/dau-hieu-nao-o-mat-co-the-canh-bao-dot-quy-5071404.html",
|
||||
"https://vnexpress.net/hoa-khoi-cau-long-nguyen-thuy-linh-giao-luu-runner-vm-can-tho-2026-5071205.html",
|
||||
"https://vnexpress.net/argentina-chay-dua-truy-vet-nguon-lay-hantavirus-sau-o-dich-tren-tau-du-lich-5071347.html",
|
||||
"https://vnexpress.net/ganh-nang-cua-hoang-tu-nhat-ban-giua-vong-vay-truyen-thong-5071395.html",
|
||||
"https://vnexpress.net/sai-lam-thuong-gap-khi-an-nhan-5071437.html",
|
||||
"https://vnexpress.net/",
|
||||
"https://tuoitre.vn/",
|
||||
"https://vtv.vn/",
|
||||
"https://vnexpress.net/viet-nam-dang-cai-cup-the-thao-dien-tu-dong-nam-a-tu-2026-5071454.html",
|
||||
"https://vnexpress.net/lam-gi-giam-ho-so-mui-cho-tre-mua-nang-nong-5071352.html",
|
||||
"https://vnexpress.net/audi-viet-nam-giam-gia-300-trieu-dong-xe-ton-kho-tu-2024-5071030.html",
|
||||
"https://vnexpress.net/nu-hoang-muoi-hong-chet-hang-loat-sau-khi-bi-thu-giu-5071346.html",
|
||||
"https://vnexpress.net/cuoc-dau-hoa-luc-o-hormuz-khien-trien-vong-hoa-binh-my-iran-them-xa-voi-5070395.html",
|
||||
"https://dichvucong.gov.vn/",
|
||||
"https://tiki.vn/",
|
||||
"https://chinhphu.vn/",
|
||||
"https://vnu.edu.vn/",
|
||||
"https://vnexpress.net/vo-toi-bong-nhien-bi-gui-email-no-thue-hon-18-trieu-dong-5071427.html",
|
||||
"https://shopee.vn/",
|
||||
"https://tiki.vn/"
|
||||
"https://vnexpress.net/nhat-ban-co-the-da-chi-hon-60-ty-usd-cuu-dong-yen-5071431.html",
|
||||
"https://vnexpress.net/bo-y-te-se-quan-ly-thuc-pham-tu-trang-trai-toi-ban-an-5070463.html"
|
||||
],
|
||||
"static_urls": [
|
||||
"https://chinhphu.vn/",
|
||||
"https://dichvucong.gov.vn/",
|
||||
"https://vnu.edu.vn/",
|
||||
"https://www.vietcombank.com.vn/",
|
||||
"https://shopee.vn/",
|
||||
"https://tiki.vn/",
|
||||
"https://vnexpress.net/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
7954
data/user_agents.txt
7954
data/user_agents.txt
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user