Skip to content

Slayingripper/Acars-WebDecoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACARS WebDecoder

ACARS WebDecoder is a realtime ACARS + ADS‑B capture and correlation platform with an aviation‑style instrument panel web UI.

Dashboard

This repository contains:

  • backend: FastAPI server providing device management, ACARS ingestion, ADS‑B polling, and WebSocket endpoints for realtime messages
  • frontend: React + Vite app with instrument-panel UI, realtime streams, and configuration controls
  • docker-compose for local development

Quickstart (Docker)

  1. Build and run containers:

    docker compose up -d --build

  2. Open the frontend at http://localhost:3231

  3. Open the Configuration modal (gear icon)

  4. Add data sources and click START

ACARS decoding

You can run ACARS decoding inside the backend container, or feed ACARS from an external acarsdec instance.

Option A: ACARS inside the backend container (RTL-SDR or RTL-TCP)

In the UI Configuration:

  • Add a device:
    • Local RTL‑SDR: choose “Local RTL‑SDR” and set device index and frequencies
    • RTL‑TCP: choose “RTL‑TCP Network (ACARS)” and set host:port (example: 192.168.1.100:1234)

Then click START. The backend will launch acarsdec and stream messages to the UI.

Option B: External acarsdec → UDP feed

If you already have acarsdec running elsewhere, send ACARS to UDP and let the backend listen.

Example acarsdec command (external):

acarsdec --rtlsdr 1 -g 45 --output oneline:file --output native:udp:host=0.0.0.0,port=5555 131.525 131.550 131.725 131.825 131.850

In the UI Configuration:

  • Enable ACARS Native UDP Output (host: 0.0.0.0, port: 5555)
  • Or add a device: “ACARS Feed (UDP/TCP)” with 0.0.0.0:5555

Then click START.

ADS‑B decoding

You have two options:

Option A: Beast TCP (FR24 or Mode‑S)

If you have a Beast TCP feed, add a device:

  • Type: Beast TCP (FR24/Mode‑S)
  • Host:Port (example: 172.25.164.232:30005)

For reliable position decoding, set Receiver Location (lat/lon) in Configuration.

Option B: JSON ADS‑B feed (dump1090 / readsb / tar1090)

Add a device:

Then click START.

Troubleshooting

  • If ACARS messages do not appear, verify the ACARS UDP feed is reachable and that the backend is listening on the configured port.
  • If ADS‑B planes do not show on the map, set Receiver Location and verify positions are present in the feed.
  • If feeds show as disconnected, check that the WebSocket endpoints are reachable at http://localhost:2231/ws/acars and http://localhost:2231/ws/adsb

Persistence

  • ACARS messages, ADS‑B snapshots, and correlations are stored in SQLite at backend/app/data/app.db

Contributions welcome.