mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-07-06 20:37:56 +02:00
Add Airframes ACARS datalink on plane dossiers and Meshtastic planet scan.
Bulk-ingest Airframes messages on a rate-limited staggered queue with instant cache lookups and priority per-aircraft refresh when opening a dossier; add Meshtastic manual SCAN PLANET control in the SIGINT panel. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,6 +6,7 @@ Keys are stored in the backend .env file and loaded via python-dotenv.
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import threading
|
||||
from pathlib import Path
|
||||
|
||||
# Path to the backend .env file
|
||||
@@ -87,6 +88,15 @@ API_REGISTRY = [
|
||||
"url": "https://firms.modaps.eosdis.nasa.gov/api/area/",
|
||||
"required": False,
|
||||
},
|
||||
{
|
||||
"id": "airframes_api_key",
|
||||
"env_key": "AIRFRAMES_API_KEY",
|
||||
"name": "Airframes.io — API Key",
|
||||
"description": "ACARS/VDL datalink for plane dossiers. ShadowBroker bulk-ingests the global Airframes firehose (up to 100 messages per API call, one call every 2s, refill every 15 minutes) and indexes by tail/ICAO. Opening a dossier with no cache queues a single-plane lookup. Get a key at app.airframes.io → Dashboard → API Key.",
|
||||
"category": "Aviation",
|
||||
"url": "https://app.airframes.io/user/dashboard",
|
||||
"required": False,
|
||||
},
|
||||
{
|
||||
"id": "celestrak",
|
||||
"env_key": None,
|
||||
@@ -366,6 +376,17 @@ def save_api_keys(updates: dict[str, str]) -> dict:
|
||||
flights.opensky_client.expires_at = 0
|
||||
except Exception:
|
||||
pass
|
||||
if "AIRFRAMES_API_KEY" in clean:
|
||||
try:
|
||||
from services.fetchers.airframes import sync_airframes_messages
|
||||
|
||||
threading.Thread(
|
||||
target=lambda: sync_airframes_messages(force=True),
|
||||
daemon=True,
|
||||
name="airframes-initial-sync",
|
||||
).start()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
try:
|
||||
from services.config import get_settings
|
||||
|
||||
Reference in New Issue
Block a user