mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 14:50:00 -07:00
Features: - Standalone agent server (intercept_agent.py) for remote sensor nodes - Controller API blueprint for agent management and data aggregation - Push mechanism for agents to send data to controller - Pull mechanism for controller to proxy requests to agents - Multi-agent SSE stream for combined data view - Agent management page at /controller/manage - Agent selector dropdown in main UI - GPS integration for location tagging - API key authentication for secure agent communication - Integration with Intercept's dependency checking system New files: - intercept_agent.py: Remote agent HTTP server - intercept_agent.cfg: Agent configuration template - routes/controller.py: Controller API endpoints - utils/agent_client.py: HTTP client for agents - utils/trilateration.py: Multi-agent position calculation - static/js/core/agents.js: Frontend agent management - templates/agents.html: Agent management page - docs/DISTRIBUTED_AGENTS.md: System documentation Modified: - app.py: Register controller blueprint - utils/database.py: Add agents and push_payloads tables - templates/index.html: Add agent selector section
51 lines
2.0 KiB
Python
51 lines
2.0 KiB
Python
# Routes package - registers all blueprints with the Flask app
|
|
|
|
def register_blueprints(app):
|
|
"""Register all route blueprints with the Flask app."""
|
|
from .pager import pager_bp
|
|
from .sensor import sensor_bp
|
|
from .rtlamr import rtlamr_bp
|
|
from .wifi import wifi_bp
|
|
from .wifi_v2 import wifi_v2_bp
|
|
from .bluetooth import bluetooth_bp
|
|
from .bluetooth_v2 import bluetooth_v2_bp
|
|
from .adsb import adsb_bp
|
|
from .ais import ais_bp
|
|
from .dsc import dsc_bp
|
|
from .acars import acars_bp
|
|
from .aprs import aprs_bp
|
|
from .satellite import satellite_bp
|
|
from .gps import gps_bp
|
|
from .settings import settings_bp
|
|
from .correlation import correlation_bp
|
|
from .listening_post import listening_post_bp
|
|
from .tscm import tscm_bp, init_tscm_state
|
|
from .spy_stations import spy_stations_bp
|
|
from .controller import controller_bp
|
|
|
|
app.register_blueprint(pager_bp)
|
|
app.register_blueprint(sensor_bp)
|
|
app.register_blueprint(rtlamr_bp)
|
|
app.register_blueprint(wifi_bp)
|
|
app.register_blueprint(wifi_v2_bp) # New unified WiFi API
|
|
app.register_blueprint(bluetooth_bp)
|
|
app.register_blueprint(bluetooth_v2_bp) # New unified Bluetooth API
|
|
app.register_blueprint(adsb_bp)
|
|
app.register_blueprint(ais_bp)
|
|
app.register_blueprint(dsc_bp) # VHF DSC maritime distress
|
|
app.register_blueprint(acars_bp)
|
|
app.register_blueprint(aprs_bp)
|
|
app.register_blueprint(satellite_bp)
|
|
app.register_blueprint(gps_bp)
|
|
app.register_blueprint(settings_bp)
|
|
app.register_blueprint(correlation_bp)
|
|
app.register_blueprint(listening_post_bp)
|
|
app.register_blueprint(tscm_bp)
|
|
app.register_blueprint(spy_stations_bp)
|
|
app.register_blueprint(controller_bp) # Remote agent controller
|
|
|
|
# Initialize TSCM state with queue and lock from app
|
|
import app as app_module
|
|
if hasattr(app_module, 'tscm_queue') and hasattr(app_module, 'tscm_lock'):
|
|
init_tscm_state(app_module.tscm_queue, app_module.tscm_lock)
|