mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 22:59:59 -07:00
- Split monolithic intercept.py (15k lines) into modular structure: - routes/ - Flask blueprints for each feature - templates/ - Jinja2 HTML templates - data/ - OUI database, satellite TLEs, detection patterns - utils/ - dependencies, process management, logging - config.py - centralized configuration with env var support - Add type hints to function signatures - Replace bare except clauses with specific exceptions - Add proper logging module (replaces print statements) - Add environment variable support (INTERCEPT_* prefix) - Add test suite with pytest - Add Dockerfile for containerized deployment - Add pyproject.toml with ruff/black/mypy config - Add requirements-dev.txt for development dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
41 lines
887 B
Docker
41 lines
887 B
Docker
# INTERCEPT - Signal Intelligence Platform
|
|
# Docker container for running the web interface
|
|
|
|
FROM python:3.11-slim
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies for RTL-SDR tools
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
# RTL-SDR tools
|
|
rtl-sdr \
|
|
# 433MHz decoder
|
|
rtl-433 \
|
|
# Pager decoder
|
|
multimon-ng \
|
|
# WiFi tools (aircrack-ng suite)
|
|
aircrack-ng \
|
|
# Bluetooth tools
|
|
bluez \
|
|
# Cleanup
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy requirements first for better caching
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application code
|
|
COPY . .
|
|
|
|
# Expose web interface port
|
|
EXPOSE 5050
|
|
|
|
# Environment variables with defaults
|
|
ENV INTERCEPT_HOST=0.0.0.0 \
|
|
INTERCEPT_PORT=5050 \
|
|
INTERCEPT_LOG_LEVEL=INFO
|
|
|
|
# Run the application
|
|
CMD ["python", "intercept.py"]
|