App
Backend Data
About
-
Live tracking of Remote/Drone ID–compliant drones
-
Decodes Ocusync and others
-
Instant flight path visualization and telemetry
-
Multi-protocol (ZMQ & multicast) with tri-source detection
- Advanced analysis: signal strength, position consistency, transmission patterns, and flight physics
- No GPS, no problem. Using the RSSI lets us estimate distance to target.
- Real-time alerts for MAC changes with historical tracking and origin ID association
- Identifies WiFi, BT, and SDR signals with source MAC tracking and signal strength monitoring
- Real-time performance metrics: memory, CPU load, temperature, GPS & ANTSDR status
- Swipe-to-delete & untrack
- Label encounters with aliases and trust status
- Overview of live signal counts, system health, and active drones with proximity alerts
- Interactive maps with live flight paths, spoof analysis, and MAC randomization details
Tip: Tap the "Live" map button for full-screen tracking and select an active drone for details.
- Logs each drone encounter automatically with options to search, sort, review, export, or delete records.
- Customize warning thresholds, proximity alerts, and display preferences.
- Set limits for CPU usage, temperature (including PLUTO and ZYNQ), memory, and RSSI.
Option 1: WarDragon/Pro
Configuration A. WiFi & BT Adapters
- ESP32 with WiFi RID Firmware, or a a WiFi adapter using DroneID
wifi_sniffer
below - Sniffle-compatible BT dongle (Catsniffer, Sonoff) flashed with Sniffle FW.
Configuration B. Single Xiao ESP32S3
-
Flash it with this firmware
-
Change port name and firmware filepath:
esptool.py --chip esp32s3 --port /dev/yourportname --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 16MB 0x10000 firmwareFile.bin
-
Swap in updated zmq decoder that handles both types over UART here
-
(Optional) ANTSDR E200 & DJI FW
This section covers setting up the backend Python environment on Linux, macOS, and Windows.
Required
Optional
-
Install Dependencies:
sudo apt update && sudo apt install -y python3 python3-pip git gpsd gpsd-clients lm-sensors
-
Clone & Setup:
git clone https://github.com/alphafox02/DroneID.git git clone https://github.com/alphafox02/DragonSync.git cd DroneID git submodule update --init ./setup.sh
-
Install Homebrew & Dependencies:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install python3 git gpsd
-
Clone & Setup:
git clone https://github.com/alphafox02/DroneID.git git clone https://github.com/alphafox02/DragonSync.git cd DroneID git submodule update --init ./setup.sh
-
WSL (Recommended):
Install WSL (wsl --install
) and follow the Linux instructions. -
Native Setup:
Install Python and Git from python.org and git-scm.com, then clone and set up using Git commands above. -
Install Backend Dependencies
# DroneID Setup git clone https://github.com/alphafox02/DroneID.git cd DroneID git submodule update --init ./setup.sh # Install additional dependencies: sudo apt update && sudo apt install lm-sensors gpsd gpsd-clients cd .. git clone https://github.com/alphafox02/DragonSync/
The ZMQ Server option provides direct JSON-based communication with full data access. Ideal for detailed monitoring and SDR decoding.
The Multicast option uses Cursor on Target (CoT) to transmit data for integration with TAK/ATAK systems. It supports multiple instances but may offer less detailed data compared to ZMQ.
Monitoring & Decoding Options
Task | Command | Notes |
---|---|---|
System Monitor | python3 wardragon_monitor.py --zmq_host 0.0.0.0 --zmq_port 4225 --interval 30 |
Works on most Linux systems |
SDR Decoding (DroneID) | python3 zmq_decoder.py --dji -z --zmqsetting 0.0.0.0:4224 |
Required for DroneID SDR decoding |
Starting Sniffers & Decoders
Sniffer Type | Command | Notes |
---|---|---|
BT Sniffer for Sonoff (no -b ) |
python3 Sniffle/python_cli/sniff_receiver.py -l -e -a -z -b 2000000 |
Requires Sniffle |
WiFi Sniffer (Wireless Adapter) | python3 wifi_receiver.py --interface wlan0 -z --zmqsetting 127.0.0.1:4223 |
Requires compatible WiFi adapter |
WiFi Adapter/BT Decoder | python3 zmq_decoder.py -z --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222,127.0.0.1:4223 -v |
Run after starting WiFi sniffer |
ESP32/BT Decoder | python3 zmq_decoder.py -z --uart /dev/esp0 --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222 -v |
Replace /dev/esp0 with actual port |
-
Clone Repository:
git clone https://github.com/Root-Down-Digital/DragonSync-iOS.git
-
Build the iOS App:
cd DragonSync-iOS pod install
-
Open in Xcode:
OpenWarDragon.xcworkspace
-
Deploy:
Run the backend scripts as described; then build and deploy to your iOS device or use TestFlight.
-
Credits:
- DragonSync
- DroneID
- Sniffle
- Special thanks to @alphafox02 and @bkerler
-
Disclaimer:
This software is provided as-is without warranty. Use at your own risk and in compliance with local regulations. -
License:
MIT License. SeeLICENSE.md
for details.
- Contributing: Contributions are welcome via pull requests or by opening an issue.
- Contact: For support, please open an issue in this repository.
DragonSync is under active development; features may change or have bugs. Feedback welcome
Important
Keep your WarDragon DragonOS image updated for optimal compatibility.
Tip
Ensure your iOS device and backend system are on the same local network for best performance.
Caution
Use in compliance with local regulations to avoid legal issues.