Replaying last hour of activity from server...
Map will appear automatically when complete
Connect to this server
APRS-IS Clients
APRSDroid · YAAC · Direwolf · APRSIS32
WebSocket API
UDP (Hardware Trackers)
No login · raw APRS packets
REST API
Generate keys in Admin → API Keys
Webhooks
Node-RED · Home Assistant · n8n · IFTTT
| Icon | Callsign | Path | Last Heard | Coordinates | Raw Packet |
|---|
Operating as:
Uptime
0s
RX / TX Packets
0 / 0
RX / TX Bytes
0 B
Dropped
0
TCP Clients
0
Upstream
| Callsign | Type | Software | Address | Status |
|---|
Data Export & Monitoring
GeoJSON/KML: all stations + objects in memory. Prometheus /metrics: requires admin credentials (HTTP Basic Auth). For Grafana: add credentials in the datasource config.
Add callsigns to watch. You'll get a browser notification and the station will be highlighted on the map whenever it's heard.
No stations being watched. Add a callsign above.
No alerts yet
ℹ️ How it works
Callsigns are matched with or without SSID — watching M0ABC
will alert for M0ABC, M0ABC-9,
M0ABC-10 etc. Wildcards supported:
G* matches all G-prefix callsigns.
No weather stations heard yet. Waiting for CWOP/WX packets...
Calculate the APRS-IS passcode for any amateur callsign.
Based on the standard APRS-IS passcode algorithm (XOR hash of callsign, SSID stripped).
Convert between lat/lon and Maidenhead grid square.
Build a valid APRS position packet string.
Generated packet:
Fill in fields above...
Click a symbol to see its code. Use in beacon generator or TNC config.
| # | Callsign | Packets | Last Heard |
|---|
| # | Callsign | Distance | Bearing |
|---|
| # | Callsign | Time | Type |
|---|
| # | Callsign | Speed | Course |
|---|
Analysing traffic for NTS nets, tactical groups and message clusters...
No messages heard yet
ISS Position
Loading...
Next Pass Over Your Location
ARISS Callsign
RS0ISS / NA1SS
Freq: 145.825 MHz FM
Digipeater
RS0ISS-4
Path: RS0ISS or ARISS
| Time | From | To / Via | Comment | Coords |
|---|
Stations received by this gateway that were digipeated via RS0ISS or ARISS:
| Callsign | Last Heard | Position |
|---|
No ISS-digipeated packets received yet
How to use ARISS APRS
Tune to 145.825 MHz FM · Set your path to ARISS or RS0ISS ·
Check pass times at heavens-above.com ↗ ·
Live ISS track at aprs.fi ↗
APRS-IS TCP (APRSDroid · YAAC · Direwolf · APRSIS32)
WebSocket (Browser / Custom)
Receives JSON frames on connect. Types: rx (position) · obj (object) · msg_history · replay_done. Last hour replayed automatically on connect.
UDP Hardware Trackers (TinyTrak · OpenTracker)
REST API (Grafana · Node-RED · scripts)
Auth: X-API-Key: aprs_xxx header or ?api_key=aprs_xxx · Generate in Admin → API Keys
position (every position packet) · message (APRS messages)X-APRS-Secret header for HMAC verificationaprs_. Use as header or query param. Last-used tracked. Read-only option./demo. Full dashboard, admin visible, all writes blocked. Share with others.Calculate the APRS-IS passcode for any amateur callsign.
Based on the standard APRS-IS passcode algorithm (XOR hash of callsign, SSID stripped).
Convert between lat/lon and Maidenhead grid square.
Build a valid APRS position packet string.
Generated packet:
Fill in fields above...
Click a symbol to see its code. Use in beacon generator or TNC config.
| # | Callsign | Packets | Last Heard |
|---|
| # | Callsign | Distance | Bearing |
|---|
| # | Callsign | Time | Type |
|---|
| # | Callsign | Speed | Course |
|---|
Analysing traffic for NTS nets, tactical groups and message clusters...
No messages heard yet
ISS Position
Loading...
Next Pass Over Your Location
ARISS Callsign
RS0ISS / NA1SS
Freq: 145.825 MHz FM
Digipeater
RS0ISS-4
Path: RS0ISS or ARISS
| Time | From | To / Via | Comment | Coords |
|---|
Stations received by this gateway that were digipeated via RS0ISS or ARISS:
| Callsign | Last Heard | Position |
|---|
No ISS-digipeated packets received yet
How to use ARISS APRS
Tune to 145.825 MHz FM · Set your path to ARISS or RS0ISS ·
Check pass times at heavens-above.com ↗ ·
Live ISS track at aprs.fi ↗
APRS-IS TCP Clients (APRSDroid, YAAC, Direwolf, APRSIS32)
Use your callsign and APRS-IS passcode. The server acts as a full APRS-IS feed server.
WebSocket API (Browser / Custom clients)
Connect and receive JSON frames. Types: rx (position), obj (object/item), msg_history (message), replay_done. On connect, server replays the last hour of packets automatically.
UDP (Hardware Trackers — TinyTrak, OpenTracker)
Send raw APRS packets as UDP datagrams. No login or handshake required.
REST API (Grafana, Node-RED, scripts)
Auth: X-API-Key: aprs_xxx header, or ?api_key=aprs_xxx query param. Generate keys in Admin → API Keys.
M0ABC alerts for M0ABC, M0ABC-9, M0ABC-10 etc.G* matches all G-prefix callsigns. MB7* matches all MB7 repeaters.position (every position packet), message (APRS messages)X-APRS-Secret header for HMAC verificationaprs_ and shown once on creation.curl -H "X-API-Key: aprs_abc123" /api/historycurl "/api/history?api_key=aprs_abc123"auto — Expands to a range filter centred on your geofence coordinatesr/lat/lon/km — Range filter: packets within km of lat/lonp/prefix — Prefix filter: only callsigns starting with prefix (e.g. G, M, 2)b/call1/call2 — Buddy list: only packets from listed callsignst/type — Type filter: p=position, w=weather, o=object, m=messagef/call/km — Friend range: packets within km of a specific callsign/demo to see the full dashboard in read-only mode — no login required.https://your-domain/demo with others to show off the gateway.No weather stations heard yet. Waiting for CWOP/WX packets...
Calculate the APRS-IS passcode for any amateur callsign.
Based on the standard APRS-IS passcode algorithm (XOR hash of callsign, SSID stripped).
Convert between lat/lon and Maidenhead grid square.
Build a valid APRS position packet string.
Generated packet:
Fill in fields above...
Click a symbol to see its code. Use in beacon generator or TNC config.
| # | Callsign | Packets | Last Heard |
|---|
| # | Callsign | Distance | Bearing |
|---|
| # | Callsign | Time | Type |
|---|
| # | Callsign | Speed | Course |
|---|
Analysing traffic for NTS nets, tactical groups and message clusters...
No messages heard yet
ISS Position
Loading...
Next Pass Over Your Location
ARISS Callsign
RS0ISS / NA1SS
Freq: 145.825 MHz FM
Digipeater
RS0ISS-4
Path: RS0ISS or ARISS
| Time | From | To / Via | Comment | Coords |
|---|
Stations received by this gateway that were digipeated via RS0ISS or ARISS:
| Callsign | Last Heard | Position |
|---|
No ISS-digipeated packets received yet
How to use ARISS APRS
Tune to 145.825 MHz FM · Set your path to ARISS or RS0ISS ·
Check pass times at heavens-above.com ↗ ·
Live ISS track at aprs.fi ↗
The gateway accepts standard APRS-IS TCP connections on port 14580 from any compatible software:
echo "M0XYZ>APRS,TCPIP*:=5342.10N/00130.50W-UDP Test" | nc -u -w1 YOUR-IP 14580
Filters control what data the upstream server sends to your gateway. Multiple filters are OR'd together. Prefix with - to exclude.
| Filter | Description |
|---|---|
| r/lat/lon/dist | Positions within dist km of a point (up to 9) |
| m/dist | Range centred on your own last position |
| f/call/dist | Range centred on another station (up to 9) |
| p/G/M0/2E | Callsigns starting with these prefixes |
| b/call* | Exact callsigns, wildcard * supported |
| t/pwm | Packet types: p=pos o=obj i=item m=msg q=query s=status t=telem u=user w=wx n=NWS |
| a/N/W/S/E | Bounding box (up to 9) |
| d/MB7UH* | Packets digipeated through these stations |
Full reference: aprs-is.net/javAPRSFilter.aspx ↗
// Authenticate as a TX client:
{"type":"auth","callsign":"M0XYZ","passcode":"12345","software":"MyApp 1.0"}
// Transmit a packet (must be authenticated, callsign must match):
{"type":"tx","packet":"M0XYZ>APRS,TCPIP*:=5342.10N/00130.50W-My status"}
// Receive — server pushes to all connected clients:
{"type":"rx","packet":"...raw APRS string...","data":{"call":"M0XYZ","lat":53.7,"lon":-1.5,"sym":"/-","ts":1714136400}}
Unverified passcode (-1) allows receive-only access. Rate limit: 1 TX packet/second per client.
| GET /api/status | Live metrics: uptime, RX/TX counts, bytes, dropped, upstream address & verified status, connected clients |
| GET /api/history | JSON array of last 10,000 decoded position packets with lat/lon/symbol/timestamp |
| GET /api/version | Running server version string {"version":"1.3.0"} |
| GET /api/config | Full server config JSON — requires admin auth |
| POST /api/config | Update and hot-reload config — requires admin auth |
| POST /api/password | Change admin password {"new_password":"..."} — requires auth |
| GET /api/whoami | Verify admin credentials {"ok":true,"user":"..."} |
| POST /api/update | Run git pull + go build + restart — SSE stream of progress — requires auth |
Your APRS-IS passcode is a numeric hash of your base callsign (no SSID). It is the same everywhere on the APRS-IS network. The Admin panel auto-computes it when you type your callsign. Use -1 for receive-only (unverified) access.
Advanced APRS Go Server · GitHub ↗
These filters control what data the upstream APRS-IS server sends to your gateway. They do not affect packets your gateway transmits. Multiple filters can be combined — if any filter matches, the packet is passed. Prefix a filter with - to exclude matching packets.
ℹ️ Leave blank or use auto to automatically use a range filter based on your geofence centre below.
G M0 2E passes all UK callsigns.
2E0LXY* matches all SSIDs.
t/pw for positions and weather only.
⚠️ Exclude Mode
Any filter above can be negated by prefixing with -. Enable this to add the next filter as an exclusion. E.g. r/53.7/-1.5/200 -p/CW = range filter BUT exclude CWOP stations.
Leave blank or type auto to use geofence centre + radius. Full filter docs ↗
When enabled, packets outside this radius are dropped server-side regardless of APRS-IS filter.
POST JSON to external URLs on APRS events. Works with Node-RED, Home Assistant, n8n.
No webhooks configured
Issue keys for third-party access to /api/history without admin credentials.
Copy now - shown once only:
No API keys
Usage: curl -H "X-API-Key: aprs_..." /api/history
Downloads latest release, rebuilds binary and restarts service (~30s). Page will reconnect automatically.
RELOADED SUCCESSFULLY
Enter your callsign and APRS-IS passcode to send a message to
Last Position
Last Heard
Path
PHG Range
Speed / Course
Packets heard
Weather Data
Comment / Status
Latest Raw Packet
Speed Over Time (km/h)
Position History ( points)
All packets heard this session for
Only the most recent packet stored per station. Connect longer to see more.
Decoded path from latest packet:
Path Explanation