Skip to content

Root-Down-Digital/DragonSync-iOS

Repository files navigation

Important

TestFlight beta has expired. With the rapid dev of DragonSync and DroneID by @alphafox02, I no longer have the resources to dedicate to this project.

Thanks to the supporters, this stayed in active development. When time and resources allow, I will overhaul the app to work with his backend repos. The standalone ESP32 FW will also eventually be updated (works with codebase as is for those building from source).

Open an issue if you'd like to see this back in development. Thanks again to those who contributed and made this possible.

DragonSync iOS

TestFlight Beta MobSF Latest Release

DragonSync Logo

Real-time drone & FPV detection and monitoring for iOS/macOS, powered by locally-hosted decoding. Professional-grade detection with advanced signal analysis and tracking.


App

Detection Feed

About


Features

Real-Time Monitoring

  • Live tracking of Remote/Drone ID–compliant drones
  • Decodes Ocusync and others
  • Instant flight path visualization and telemetry
  • Multi-protocol (ZMQ & multicast)
  • Source identification

Spoof Detection

  • Advanced analysis: signal strength, position consistency, transmission patterns, and flight physics

Visualize Encrypted Drones

  • No GPS, no problem. Using the RSSI lets us estimate distance to target.

Spot FPV Cameras

  • Problematic drones may not have any ID broadcast, but it sure has a camera. Using a RX5808 SIM module and the FPVWD tool, tracking is trivial:

image

MAC Randomization Detection

  • Real-time alerts for MAC changes with historical tracking and origin ID association

Multi-Source Signal Analysis

  • Identifies WiFi, BT, and SDR signals with source MAC tracking and signal strength monitoring

System Monitoring

  • Real-time performance metrics: memory, CPU load, temperature, GPS & ANTSDR status

Detection & Tracking

  • Swipe-to-delete & untrack
  • Label encounters with aliases and trust status

Find the live map view and other tools in the upper right menu icon of any drone message

Dashboard Display

  • Overview of live signal counts, system health, and active drones with proximity alerts

History & Analysis

Encounter History

  • Logs each drone encounter automatically with options to search, sort, review, export, or delete records.
Encounter History View

FAA Database Analysis

Encounter History View

Installation

Choose Your Setup

Feature WarDragon Pro Drag0net Scanner Custom Build
Best For Immediate deployment Portable WiFi RID detection Full feature set
Setup Time ~5 min ~15 min 30-60 min
WiFi RID (2.4GHz)
WiFi RID (5GHz) ✓ (dual-band adapter)
Bluetooth RID ✓ (Sniffle hardware)
SDR Decoding ✓ (ANTSDR E200) ✓ (ANTSDR E200)
FPV Detection ✓ (RX5808) ✓ (RX5808)
GPS External USB iOS device External USB
System Monitoring
TAK Integration
Requires Computer No No Yes

Option 1: WarDragon Pro

Pre-configured turnkey solution

  1. Power on WarDragon Pro device
  2. Connect to same network as iOS device
  3. Open DragonSync app → Settings → Enable ZMQ
  4. Enter WarDragon Pro IP address
  5. Start monitoring

Option 2: Drag0net Scanner (ESP32 Standalone)

Portable WiFi RID detection without a computer

Hardware Needed

  • ESP32-C3 XIAO, ESP32-S3 XIAO, or ESP32-S3 LilyGO T-Dongle
  • USB cable (data-capable, not charge-only)

Flash Firmware

Automatic (Linux/macOS):

curl -fsSL https://raw.githubusercontent.com/Root-Down-Digital/DragonSync-iOS/refs/heads/main/Util/setup.sh -o setup.sh && \
[[ $(shasum -a 256 setup.sh 2>/dev/null || sha256sum setup.sh) =~ ^f268d6f6b00400c8ce8d4491da08b94b7844b7aa0414e0dbdd92982a1ed024d6 ]] && \
chmod +x setup.sh && ./setup.sh

Select:

  • Option 4: Standalone DragonSync AP firmware
  • Option 5: Standalone + Meshtastic mesh (requires Meshtastic board)

Manual (All Platforms):

Download firmware: Drag0net Scanner

esptool.py --chip auto --port /dev/YOUR_PORT --baud 115200 \
  --before default_reset --after hard_reset write_flash -z \
  --flash_mode dio --flash_freq 80m --flash_size detect \
  0x10000 firmwareFile.bin

Or use Espressif Flash Download Tool (Windows): flash at offset 0x10000 with 115200 baud

Connect & Use

Default WiFi Credentials:

SSID:     Dr4g0net
Password: wardragon1234
IP:       192.168.4.1

Using DragonSync App:

  1. Power on ESP32
  2. Connect phone to Dr4g0net WiFi network
  3. Open DragonSync app → Settings
  4. Enter ZMQ IP: 192.168.4.1
  5. Enable ZMQ connection
  6. Detection starts automatically (uses iOS device GPS)

Using Web Interface:

  1. Connect to Dr4g0net WiFi network
  2. Visit 192.168.4.1 in browser
  3. Monitor detections via web dashboard

Note: WiFi RID 2.4GHz only. For 5GHz, Bluetooth, or SDR detection, use Custom Build.


Option 3: Custom Build

Full feature set with flexible hardware

Hardware Needed

WiFi & Bluetooth:

  • Dual-band WiFi adapter (2.4/5GHz)
  • Sniffle-compatible BT dongle (Catsniffer, Sonoff) with Sniffle firmware

Optional:

  • ANTSDR E200 for Ocusync/SDR decoding
  • GPS USB module (falls back to iOS device GPS if not present)
  • RX5808 module for FPV camera detection

Installation

Automatic (Recommended):

curl -fsSL https://raw.githubusercontent.com/Root-Down-Digital/DragonSync-iOS/refs/heads/main/Util/setup.sh -o setup.sh && \
[[ $(shasum -a 256 setup.sh 2>/dev/null || sha256sum setup.sh) =~ ^f268d6f6b00400c8ce8d4491da08b94b7844b7aa0414e0dbdd92982a1ed024d6 ]] && \
chmod +x setup.sh && ./setup.sh

Select option 1: Install software only

The installer handles:

  • Python dependencies
  • DroneID and DragonSync repositories
  • System dependencies (gpsd, lm-sensors)

Manual Installation:

Linux
sudo apt update && sudo apt install -y python3 python3-pip git gpsd gpsd-clients lm-sensors
git clone https://github.com/alphafox02/DroneID.git
git clone https://github.com/alphafox02/DragonSync.git
cd DroneID
git submodule update --init
./setup.sh
macOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python3 git gpsd
git clone https://github.com/alphafox02/DroneID.git
git clone https://github.com/alphafox02/DragonSync.git
cd DroneID
git submodule update --init
./setup.sh
Windows

WSL (Recommended):

Install WSL: wsl --install, then follow Linux instructions above.

Native Windows:

Install Python and Git, then:

git clone https://github.com/alphafox02/DroneID.git
cd DroneID
git submodule update --init
./setup.sh
cd ..
git clone https://github.com/alphafox02/DragonSync/

Start Detection

WiFi + Bluetooth:

# Terminal 1 - WiFi Sniffer
cd DroneID
python3 wifi_receiver.py --interface wlan0 -z --zmqsetting 127.0.0.1:4223

# Terminal 2 - BT Sniffer
cd DroneID/Sniffle
python3 python_cli/sniff_receiver.py -l -e -a -z -b 2000000

# Terminal 3 - Decoder
cd DroneID
python3 zmq_decoder.py -z --zmqsetting 0.0.0.0:4224 \
  --zmqclients 127.0.0.1:4222,127.0.0.1:4223 -v

# Terminal 4 - System Monitor (Optional)
cd DragonSync
python3 wardragon_monitor.py --zmq_host 0.0.0.0 --zmq_port 4225 --interval 30

Note: setup.sh creates custom startup commands for your hardware configuration.

Configure App

  1. Open DragonSync app → Settings
  2. Enable ZMQ
  3. Enter host IP (your computer's local IP)
  4. Port: 4224 (default)
  5. Start monitoring

App continues monitoring in background.

Persist on Boot (Optional)

Use service files by @alphafox02:

# Modify commands for your hardware
sudo cp your-service.service /etc/systemd/system/
sudo systemctl enable your-service
sudo systemctl start your-service

Connection Choices

ZMQ Server (Recommended)

Direct JSON-based communication with full data access. Ideal for detailed monitoring and SDR decoding.

Multicast CoT (Experimental)

Cursor on Target (CoT) format for TAK/ATAK system integration. Supports multiple instances but less detailed than ZMQ.


Command Reference

Monitoring & Decoding

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 python3 zmq_decoder.py --dji -z --zmqsetting 0.0.0.0:4224 Requires ANTSDR E200

Sniffers & Decoders

Type Command Notes
BT Sniffer python3 Sniffle/python_cli/sniff_receiver.py -l -e -a -z -b 2000000 Requires Sniffle firmware
WiFi Sniffer python3 wifi_receiver.py --interface wlan0 -z --zmqsetting 127.0.0.1:4223 Dual-band adapter for 5GHz
Decoder (WiFi/BT) python3 zmq_decoder.py -z --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222,127.0.0.1:4223 -v After starting sniffers

Build Instructions

git clone https://github.com/Root-Down-Digital/DragonSync-iOS.git
cd DragonSync-iOS
pod install

Open WarDragon.xcworkspace in Xcode, then build and deploy to your device or use TestFlight.


Credits, Disclaimer & License

Credits:

Disclaimer: This software is provided as-is without warranty. Use at your own risk and in compliance with local regulations.

License: MIT License. See LICENSE.md for details.


Contributing & Contact

Contributing: Contributions welcome via pull requests or by opening an issue.

Contact: For support, please open an issue in this repository.


Notes

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.

About

iOS WarDragon Utility App

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 2

  •  
  •