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
Access your APRS account
Watchlist synced to server — active across all devices
Messages sent to your callsign while offline are stored here
No stored messages
All callsigns associated with your account. Messages to any of these are stored when you are offline.