mirror of
https://github.com/surveillancewatch/ICEWatchRF.git
synced 2026-07-31 11:48:01 -07:00
A project to use an rtl-sdr to listen to open radio communications by DHS-ICE
- Shell 100%
Untrack Claude Code config files to keep them local-only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| config | ||
| docs | ||
| scripts | ||
| .gitignore | ||
| README.md | ||
ICEWatchRF
Monitor ICE/DHS conventional radio channels with a low‑cost RTL‑SDR on Raspberry Pi, Linux (x86/ARM), or Apple Silicon (macOS).
- P25 CAI decoding via OP25 (Boatbod) — single‑channel
rx.pywith local audio (-w -U) and optional HTTP status UI. See OP25’s current README for features and GNU Radio 3.10 install path. OP25 README OP25 GR3.10 notes - Analog NFM (ICE DHS ComA) via
rtl_fm→ SoX (play); U.S. public‑safety narrowband typically uses 12.5 kHz channels. RR Narrowbanding - NAC reference for P25 (e.g., default
$293; wildcard$F7E/$F7F). RR NAC
Legal: Monitoring unencrypted traffic that is readily accessible to the general public is generally allowed under U.S. federal law; decrypting encrypted traffic is illegal. Some states restrict mobile scanner use or use while committing a crime—check local law. H&P Law PolicePathfinder 2024 Guide
Channels included
| Alpha Tag | Frequency (MHz) | Mode | Notes |
|---|---|---|---|
| ICE DHS ComA | 165.8375 | Analog | CSQ |
| ICE DHS ComD | 165.8375 | P25 | NAC 0x001 |
| ICE Nat Dir | 163.7250 | P25 | NAC 0x169 |
| ICE NatTac 1 | 163.7000 | P25 | NAC 0x169 |
| ICE NatTac 2 | 168.5875 | P25 | NAC 0x169 |
| ICE NatTac 3 | 163.1125 | P25 | NAC 0x169 |
| ICE NatTac 4 | 164.7875 | P25 | NAC 0x169 |
Quick starts
Raspberry Pi OS (Bookworm; Pi 3B+/4/5)
cd ICEWatchRF/scripts
sudo ./install_pi.sh
./monitor.sh
# optional boot service (example: 163.700 MHz)
sudo systemctl enable op25-ice@163.700.service
sudo systemctl start op25-ice@163.700.service
Ubuntu/Debian (x86_64/ARM64)
cd ICEWatchRF/scripts
sudo ./install_ubuntu.sh
./monitor.sh
Apple Silicon (macOS ARM64)
cd ICEWatchRF/scripts
./install_macos.sh
./monitor.sh
Scripts
scripts/monitor.sh— menu to select any channel.scripts/monitor_p25.sh— runs OP25rx.pywith-w -Uand-D fsk4by default (useDEMOD=cqpskfor simulcast/LSM only). OP25 READMEscripts/monitor_analog.sh—rtl_fm12 kS/s NFM → SoX. Narrowbandingscripts/install_pi.sh,install_ubuntu.sh,install_macos.sh— platform installers.scripts/svc/op25-ice@.service— systemd template for Pi/Ubuntu.
Notes
- OP25
-w -Uplays local audio; add-l http:0.0.0.0:8080for the HTTP dashboard. OP25 README - Adjust gain/PPM via
scripts/op25_env.sh. - For multi‑channel conventional monitoring, see OP25
multi_rx.pyexamples (p25_conventional_example.json). OP25 apps dir