stamth/ArwenAirTracker
GitHub: stamth/ArwenAirTracker
一个专为阿根廷政府及军用飞机设计的混合多源智能追踪机器人,实现自动实时监控与通知发布。
Stars: 0 | Forks: 0
# ate the meaning.
[](https://www.python.org/)
[](https://opensource.org/licenses/MIT)
一个先进的、混合型的多源航班追踪机器人,旨在自主监控并实时报告阿根廷政府及官方国家机队的运营情况。它会向 Telegram 发送通知,并在 Twitter/X 上发布摘要。
## 🇪🇸 中文版
### 🌟 主要特性
* **多源混合追踪**:实时整合4个不同API,以实现最大范围的领土覆盖精度:
* **Airplanes.live** (按区域进行旋转地理扫描)。
* **ADSB.fi** (高密度锥形覆盖区)。
* **ADSB.lol** (专注于军用飞机的检测)。
* **OpenSky Network** (通过HEX代码优先追踪及历史记录)。
* **智能降落确认**:具备一个3分钟的临时"等待区"以确认降落,防止因触地复飞(*Touch-and-Go*)、低空进近或军事训练中典型的复飞操作而产生的虚假警报。
* **Telegram 高级通知**:
* **起飞**:显示注册号、飞机型号、精确或估计的出发机场以及捕获该事件的API来源。
* **活跃追踪**:自动每小时报告一次当前正在飞行的飞机列表。
* **降落**:报告出发地、目的地、飞行时长、飞行距离(公里)、预估燃油消耗、产生的二氧化碳足迹以及预估运营成本(美元)。
* **与 Twitter/X 集成**:自动发布由官方飞机执行的航班摘要。
* **智能猎手(Smart Hunter)**:追踪未识别的飞机。
* **72小时窗口**:保留"孤立"检测结果3天,以供审查。
* **自动合并**:能够通过 `/reclutar <存在代码> + <候选代码>` 命令,将检测到的HEX代码与数据库中已存在的飞机进行统一。
* **永久黑名单**:使用 `/ignorar` 命令永久丢弃不需要的飞机。
* **高级安全与反垃圾信息**:
* **访问控制(RBAC)**:管理命令和管理功能对其他用户不可见,仅供所有者(Owner)专用。
* **动态静默禁止**:Anti-DDoS 防护罩,在首次警告后静默忽略未授权用户。
* **输入净化(白名单正则表达式)**:通过在核心层严格阻止任何非字母数字字符,实现对 SQL 注入和脚本执行的全面防护。
* **交互式 Telegram 机器人**:集成 `/help`、`/aviones`(机队列表)、`/seguimiento`(实时状态)和 `/ayer`(昨日航班摘要)等命令。
* **弹性与恢复**:自动清理挂起的进程,并在每次启动时强制释放端口/数据库资源。
### 🚀 安装与配置
#### 1. 克隆仓库并准备环境
```
git clone https://github.com/tu-usuario/aerobot.git
cd aerobot
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
```
#### 2. 配置环境变量
以 `.env.example` 文件为模板,在项目根目录创建一个 `.env` 文件:
```
cp .env.example .env
```
使用你的真实凭据编辑 `.env`:
* `TELEGRAM_BOT_TOKEN` 和 `TELEGRAM_CHAT_ID`。
* `OPENSKY_CLIENT_ID` 和 `OPENSKY_CLIENT_SECRET`。
* 用于自动发布的 Twitter(Consumer 和 Access Tokens)API 密钥。
#### 3. 初始化并运行机器人
```
# - Key terms: "rastreador" means "tracker", "interactivo" means "interactive", "en segundo plano" means "in the background".
python main.py run
```
## 🇬🇧 英文版
### 🌟 核心功能
* **多源混合追踪**:实时整合4个不同API,确保对阿根廷领空的最大覆盖:
* **Airplanes.live** (按区域动态地理扫描)。
* **ADSB.fi** (高精度本地锥形覆盖区)。
* **ADSB.lol** (军用航空专用数据源)。
* **OpenSky Network** (通过HEX代码优先追踪)。
* **智能降落确认**:设有3分钟的"等待区"缓冲。有效过滤因 *Touch-and-Go* 机动、低空进近或军事基地常见的训练模式引发的虚假降落警报。
* **丰富的 Telegram 通知**:
* **起飞**:报告注册号、飞机型号、出发机场及检测到该事件的API来源。
* **活跃航班**:自动每小时汇总一次当前飞行的飞机列表。
* **降落**:总结出发地/目的地、时长、距离、燃油消耗、二氧化碳足迹及预估飞行成本(美元)。
* **与 Twitter/X 集成**:自动发布完成的官方航班推文摘要。
* **智能猎手**:扫描并警报没有已知官方注册号的未识别军用或外国政府飞机。
* **72小时窗口**:保留"孤立"检测结果3天,供管理员审查。
* **自动合并**:能够通过 `/reclutar + ` 命令,将检测到的HEX代码与数据库中已存在的飞机进行统一。
* **永久黑名单**:使用 `/ignorar` 命令永久丢弃不需要的飞机。
* **高级网络安全与反垃圾信息**:
* **基于角色的访问控制(RBAC)**:管理命令严格专属,仅对所有者(Owner)可见。
* **动态静默禁止**:Anti-DDoS 防护罩,在首次警告后静默忽略未授权用户。
* **输入净化(白名单正则表达式)**:通过严格阻止非字母数字字符,实现对 SQL 注入和恶意脚本的坚固防护。
* **交互式 Telegram 机器人**:提供 `/help`、`/aviones`(机队数据库)、`/seguimiento`(实时追踪)和 `/ayer`(昨日航班摘要)等命令。
* **弹性与恢复**:启动时积极清理僵死的后台任务,并立即释放数据库/网络端口锁。
### 🚀 设置与安装
#### 1. 克隆仓库并准备环境
```
git clone https://github.com/your-username/aerobot.git
cd aerobot
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
```
#### 2. 配置环境变量
以 `.env.example` 为模板,在根文件夹创建 `.env` 文件:
```
cp .env.example .env
```
用你的真实密钥填充 `.env`:
* `TELEGRAM_BOT_TOKEN` 和 `TELEGRAM_CHAT_ID`。
* `OPENSKY_CLIENT_ID` 和 `OPENSKY_CLIENT_SECRET`。
* 用于自动发布的 Twitter/X 开发者密钥。
#### 3. 运行机器人
```
# - So, a direct translation: "启动追踪器和交互式在后台" or something like that. But I need to keep technical terms in English. "Tracker" might be a technical term, but in this context, it's part of the heading. The instruction says to keep professional terms, etc., in English. Is "tracker" a professional term? Possibly, in this context, it might be. Similarly, "interactive" might be a technical term.
python main.py run
```
## 📄 许可证 | Licencia
根据 MIT 许可证分发。详情请见 `LICENSE` 文件。
*为符合伦理且透明地监控国家公共机队而开发。*
标签:ADS-B技术, API集成, CO2排放, OpenSky网络, Python开发, Telegram机器人, Twitter集成, 事件通知, 交通监控, 军事监控, 军用飞机, 可观测性, 多源数据, 情报收集, 政府机队, 数据融合, 智能过滤, 漏洞研究, 燃料消耗估算, 社交媒体发布, 自动监控, 航空监控, 逆向工具, 通知系统, 阿根廷, 飞行数据分析, 飞行跟踪