
intercept v2.33.0
iNTERCEPT, 최고의 신호 정보 도구를 단일하고 접근 가능한 인터페이스로 통합하는 무료 오픈 소스 플랫폼.
이 오픈 소스 프로젝트의 개발자를 지원해 주세요
신호 정보 플랫폼
소프트웨어 정의 라디오 도구를 위한 웹 기반 인터페이스입니다.
기능
- 페이지 디코딩 - POCSAG/FLEX (rtl_fm + multimon-ng 사용)
- 433MHz 센서 - 기상 관측소, TPMS, IoT 기기 (rtl_433 사용)
- Sub-GHz 분석기 - 300-928 MHz ISM 대역 RF 캡처 및 프로토콜 디코딩 (HackRF 사용)
- 항공기 추적 - 실시간 지도 및 레이더가 포함된 dump1090 기반 ADS‑B
- 선박 추적 - VHF DSC 조난 모니터링이 포함된 AIS 선박 추적
- ACARS 메시징 - acarsdec을 통한 항공기 데이터링크 메시지
- VDL2 - dumpvdl2를 통한 VHF 데이터 링크 모드 2 항공기 데이터링크 디코딩
- 청취 포스트 - 실시간 오디오 모니터링이 포함된 광대역 주파수 스캐너
- 기상 위성 - 자동 스케줄러가 포함된 SatDump 기반 NOAA APT 및 Meteor LRPT 이미지 디코딩
- WebSDR - KiwiSDR 네트워크를 통한 원격 HF/단파 청취
- ISS SSTV - 국제우주정거장으로부터의 슬로우 스캔 TV 이미지 수신
- HF SSTV - 단파 주파수(80m‑10m, VHF, UHF)에서의 지상파 SSTV
- APRS - direwolf를 통한 아마추어 패킷 무선 위치 보고 및 원격측정
- 위성 추적 - 극좌표 플롯 및 지상 궤적 지도를 포함한 통과 예측
- 유틸리티 미터 - rtlamr을 통한 전기, 가스, 수도 계량기 판독
- ADS‑B 기록 - 보고 대시보드가 포함된 지속적 항공기 기록 (Postgres 선택 사항)
- WiFi 스캐닝 - aircrack‑ng을 통한 모니터 모드 정찰
- 블루투스 스캐닝 - 장치 발견 및 추적기 탐지 (Ubertooth 지원 포함)
- BT 위치 - GPS 태그 신호 경로 매핑 및 근접 알림을 포함한 SAR 블루투스 장치 위치
- WiFi 위치 - 실시간 신호 측정기, 거리 추정, 근접 오디오를 포함한 BSSID별 WiFi 액세스 포인트 위치 찾기
- GPS - 실시간 지도, 속도, 고도, 위성 정보를 포함한 실시간 GPS 위치 추적
- TSCM - RF 기준 비교 및 위협 탐지를 통한 대감시
- Meshtastic - LoRa 메시 네트워크 통합
- 우주 날씨 - NOAA SWPC, NASA SDO, HamQSL의 실시간 태양 및 지자기 데이터 (SDR 불필요)
- 스파이 방송국 - 숫자 방송 및 외교 HF 네트워크 데이터베이스
- 원격 에이전트 - 원격 센서 노드를 통한 분산 SIGINT
- 오프라인 모드 - 격리/현장 배포용 번들 자산
- 드론 인텔리전스 - ASTM F3411 원격 ID(WiFi/BLE), RTL‑SDR 433/868 MHz RF, HackRF 2.4/5.8 GHz 스캐닝을 통한 다중 벡터 UAV 탐지 (실시간 접촉 지도 및 위험 점수 포함)
설치 / Debian / Ubuntu / macOS
빠른 시작
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # 대화형 메뉴 (첫 실행 시 설정 마법사 실행)
sudo ./start.sh
첫 실행 시 setup.sh는 안내 마법사를 실행합니다. OS를 감지하고 설치 프로필을 선택할 수 있게 하며, Python 환경을 설정하고, 필요 시 환경 변수와 PostgreSQL을 구성할 수 있습니다.
이후 실행 시에는 대화형 메뉴가 열립니다.
INTERCEPT Setup Menu
════════════════════════════════════════
1) Install / Add Modules
2) System Health Check
3) Database Setup (ADS-B History)
4) Update Tools
5) Environment Configurator
6) Uninstall / Cleanup
7) View Status
0) Exit
운영 서버 vs 개발 서버:
start.sh는 gunicorn + gevent를 자동 감지하여 협력 그린릿(cooperative greenlets)을 사용하는 운영 서버를 실행합니다. 여러 SSE/WebSocket 클라이언트를 차단 없이 처리합니다. gunicorn이 설치되지 않은 경우 Flask 개발 서버로 대체됩니다. 빠른 로컬 개발을 위해서는sudo -E venv/bin/python intercept.py를 직접 사용할 수도 있습니다.
설치 프로필
마법사 또는 메뉴 옵션 1에서 설치할 항목을 선택하세요.
| # | 프로필 | 도구 |
|---|---|---|
| 1 | 핵심 SIGINT | rtl_sdr, multimon‑ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | 해양 및 라디오 | AIS‑catcher, direwolf |
| 3 | 기상 및 우주 | SatDump, radiosonde_auto_rx |
| 4 | RF 보안 | aircrack‑ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | 전체 SIGINT | 위 모든 도구 |
| 6 | 사용자 정의 | 도구별 체크리스트 |
여러 프로필을 조합할 수 있습니다 (예: 1 3 입력 시 핵심 + 기상).
CLI 플래그
./setup.sh --non-interactive # 무인 전체 설치 (기존 동작과 동일)
./setup.sh --profile=core,weather # 특정 프로필 설치
./setup.sh --health-check # 시스템 상태 확인 후 종료
./setup.sh --postgres-setup # PostgreSQL 설정 후 종료
./setup.sh --menu # 대화형 메뉴 강제 실행
Docker
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
참고: Docker는 USB SDR 접근을 위해 권한 모드(privileged mode)가 필요합니다. SDR 장치는
/dev/bus/usb를 통해 전달됩니다.
다중 아키텍처 빌드(amd64 + arm64 for Raspberry Pi)는 build-multiarch.sh를 참조하세요. 크로스 컴파일과 레지스트리 푸시를 한 번에 처리합니다.
환경 구성
환경 구성기(메뉴 옵션 5)를 사용하여 INTERCEPT_* 변수를 대화형으로 설정할 수 있습니다. 설정은 .env 파일에 저장되며, start.sh가 시작 시 자동으로 불러옵니다.
.env를 수동으로 생성하거나 편집할 수도 있습니다.
# .env (start.sh에 의해 자동 로드)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
ADS‑B 기록 (선택 사항)
ADS‑B 기록 기능은 항공기 메시지를 PostgreSQL에 저장하여 장기 분석을 가능하게 합니다.
로컬 설치 시 자동 설정:
./setup.sh --postgres-setup
# 또는 메뉴 옵션 3: Database Setup 사용
필요 시 PostgreSQL을 설치하고, 데이터베이스/사용자/테이블을 생성하며, 연결 설정을 .env에 기록합니다.
Docker:
docker compose --profile history up -d
다음 환경 변수를 .env에 설정합니다.
INTERCEPT_ADSB_HISTORY_ENABLED=true
INTERCEPT_ADSB_DB_HOST=adsb_db
INTERCEPT_ADSB_DB_PORT=5432
INTERCEPT_ADSB_DB_NAME=intercept_adsb
INTERCEPT_ADSB_DB_USER=intercept
INTERCEPT_ADSB_DB_PASSWORD=intercept
Postgres 데이터를 외부 저장소에 저장하려면 PGDATA_PATH를 설정합니다 (기본값 ./pgdata).
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
그런 다음 보고 대시보드를 위해 /adsb/history를 여세요.
시스템 상태 확인
설치가 완료되고 정상 작동하는지 확인합니다.
./setup.sh --health-check
# 또는 메뉴 옵션 2 사용
설치된 도구, SDR 장치, 포트 가용성, 권한, Python 가상 환경, .env 설정, PostgreSQL 연결 등을 확인합니다.
인터페이스 열기
시작한 후 브라우저에서 **http://localhost:5050**을 여세요.
기본 자격 증명: admin / admin — 애플리케이션을 네트워크에 노출하기 전에 config.py의 ADMIN_USERNAME / ADMIN_PASSWORD를 변경하세요.
하드웨어 요구 사항
| 하드웨어 | 용도 | 가격 |
|---|---|---|
| RTL-SDR | 모든 SDR 기능에 필요 | ~$25–35 |
| WiFi 어댑터 | 무차별(모니터) 모드를 지원해야 함 | ~$20–40 |
| 블루투스 어댑터 | 장치 스캐닝 (보통 내장) | - |
| GPS | Linux에서 지원되는 모든 GPS 장치 | ~$10 |
대부분의 기능은 기본 RTL‑SDR 동글(RTL2832U + R820T2)로 작동합니다.
| ❗ RTL‑SDR 장치를 사용하지 않나요? |
|---|
| Intercept는 SoapySDR이 지원하는 모든 장치에서 작동합니다. 단, 장치에 맞는 모듈이 설치되어 있어야 합니다! 예를 들어 SDRPlay 장치가 있다면 soapysdr‑module‑sdrplay를 설치해야 합니다. |
| ❗ GPS 사용 |
|---|
| 실시간 위치를 위해서는 gpsd가 필요합니다. Intercept는 지도가 렌더링될 때 백그라운드에서 gpsd가 실행 중인지 자동으로 확인합니다. |
Discord 서버
문서
- 사용 가이드 - 각 모드에 대한 상세 지침
- 하드웨어 가이드 - SDR 하드웨어, 수동 설치 및 고급 설정
- 문제 해결 - 일반적인 문제와 해결 방법
- 분산 에이전트 - 원격 센서 노드 배포
- 웹훅 - 알림 규칙 및 웹훅 통합
- 보안 - 네트워크 보안 및 모범 사례
면책 조항
이 프로젝트는 AI를 코딩 파트너로 사용하여 개발되었습니다. 인간의 방향성과 AI 지원 구현이 결합되었습니다. 목표: 일반적인 SDR 도구를 위한 깔끔하고 통일된 인터페이스를 제공하여 소프트웨어 정의 라디오에 대한 접근성을 높이는 것입니다.
이 소프트웨어는 교육 및 승인된 테스트 목적으로만 사용하십시오.
- 적절한 승인을 받은 경우에만 사용하십시오.
- 허가 없이 통신을 가로채는 것은 불법일 수 있습니다.
- 귀하는 관련 법률을 준수할 책임이 있습니다.
라이선스
Apache 2.0 라이선스 - LICENSE 참조
작성자
smittix - GitHub
감사의 말
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
