📌 APRS Objects & Items
⚠ Sign in as a member to create or edit APRS objects. Objects are transmitted to APRS-IS with your callsign as the originator.
| Name | Owner | Position | Symbol | Comment | Last Seen |
|---|
APRS objects are temporary points pushed to the network with a name, position and comment. Commonly used for events, emergencies, search-and-rescue, repeater locations, and net meeting points. They expire after a set time unless re-beaconed.
📌 Create APRS Object
⚠ This object will be transmitted to APRS-IS with YOUR callsign as the originator. It will be visible to everyone on the network. Use responsibly.
🕸 APRS Mesh Network
Force-directed graph of digipeater relay relationships. Drag nodes. Larger = more relayed. Lines show recent relay activity.
Latest Heard Stations
| Icon | Callsign | Device | Path | Last Heard | Coordinates | Raw Packet |
|---|
Tick "LoRa Network" in the map sidebar to fetch data, or click Refresh above.
| Last Seen | TX Callsign | iGate (*digipeated) | ASL (m/ft) | SNR (dB) | RSSI (dBm) | Distance |
|---|
Log in to send a message
Server Health
Uptime
0s
RX / TX Packets
0 / 0
RX / TX Bytes
0 B
Dropped
0
TCP Clients
0
Upstream
📈 Activity Trends (last 60 min, this session)
Packets / minute
Unique stations / minute
| 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.
Questions, feedback and announcements
📍 Geo-fence & Alerts
📡 Server Geo-fence Rules
Synced to Android and iOS apps. Evaluated server-side on every packet.
⚡ Browser Smart Rules
Run in your browser only. Active while this tab is open. No sign-in needed.
Trigger types: callsign appears, callsign silent, station enters/exits zone, comment keyword, weather threshold.
🔔 Browser Notifications
Questions, feedback and announcements
👁 Station Watchlist
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.
🌦 Weather Dashboard
No weather stations heard yet. Waiting for CWOP/WX packets...
🔧 APRS Utilities
🔑APRS-IS Passcode
Calculate the APRS-IS passcode for any amateur callsign.
Based on the standard APRS-IS passcode algorithm (XOR hash of callsign, SSID stripped).
📐Maidenhead / QTH Locator
Convert between lat/lon and Maidenhead grid square.
📡APRS Beacon Generator
Build a valid APRS position packet string.
Generated packet:
Fill in fields above...
🎯Symbol Picker
Click a symbol to see its code. Use in beacon generator or TNC config.
🏆 Leaderboard & Community
| # | Callsign | Packets | Last Heard |
|---|
| # | Callsign | Distance | Bearing |
|---|
| # | Callsign | Time | Type |
|---|
| # | Callsign | Speed | Course |
|---|
📟Top Devices & Software
Aggregated from aprs-deviceid tocall database (CC BY-SA 2.0)
📊Propagation Analytics
Computed from the server's packet history buffer.
🕐 Best Time of Day
Loading…
🗓 7-Day Activity Heatmap
🛰 Longest RF Paths (most digi hops)
| # | Callsign | Hops | Path |
|---|
⭐ Station Reliability Grades
Grade A–F based on packet count + consistency over time
| Grade | Callsign | Packets | Span | Avg Gap |
|---|
Analysing traffic for NTS nets, tactical groups and message clusters...
No messages heard yet
🛸 ISS / ARISS APRS
ISS Position
Loading...
Next Pass Over Your Location
ARISS Callsign
RS0ISS / NA1SS
Freq: 145.825 MHz FM
Digipeater
RS0ISS-4
Path: RS0ISS or ARISS
Recent ARISS Packets
| Time | From | To / Via | Comment | Coords |
|---|
Heard via ISS on this gateway
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 Net Help & Documentation
Quick Navigation
🚀 Getting Started
APRS Net is a real-time APRS-IS gateway that shows live amateur radio packet activity on an interactive map. You can use it as a guest (read-only) or create a free account to unlock messaging, watchlists, and offline message storage.
Three ways to use this site:
- Browse anonymously — view the live map, station details and weather data without logging in
- Create a member account — click 👤 Login in the header, then "Create a new account". Saves your watchlist across devices and stores APRS messages while you're offline
- Connect an APRS client — point APRSDroid, YAAC, Direwolf or your radio to
www.aprsnet.uk:14580using your callsign and APRS-IS passcode
🗺 Map & Stations
Sidebar controls
- Map Style: switch between Street, Satellite, Topo and Dark themes
- Day/Night: overlay the daylight terminator on the map
- Trail Length: how far back to show station movement trails
- Station Filters: toggle Ham APRS, CWOP Weather, OGN Gliders, Objects/Items, Pi-Star/MMDVM
- Hide Static: hide stations that haven't moved for > 5 min
- PHG Circles: show coverage prediction circles for stations broadcasting PHG (Power-Height-Gain) data. Works for Ham, LoRa, MMDVM, and all other station types.
- Geo-fence Alerts: set custom rules under the Alerts panel to notify you when a station enters or leaves a geographic area. Web rules are stored in your browser. Signed-in members can also create server-synced rules (pushed to Android/iOS) via Settings → Geo-fence Alerts in the mobile apps.
- Smart Search (Ctrl+K / ⌘K): search callsigns, comments, messages, and device types. Selecting a result flies the map to that station automatically.
- Cluster Markers: groups dense areas into numbered clusters
Map interactions
- Click station: opens Station Detail with full info
- Hover station: callsign tooltip with type
- 📍 My Location: centres map on your browser location
- ◀ Sidebar tab: collapses the left sidebar to maximise map space
👤 Member Accounts
Members get persistent watchlists across devices, server-side storage for APRS messages received while offline, and quick access to their callsign passcodes.
Create an account
- Click 👤 Login in the header (top right)
- Choose "Create a new account"
- Enter your callsign — your APRS-IS passcode is calculated automatically and shown live
- Set a password (6+ characters), optionally add your name and email
- Click Create Account — you're logged in
👁 Watchlist tab
Add callsigns to watch. Wildcards supported (G*, M0ABC*). When a watched station appears on map you get a desktop notification. Watchlist syncs to the server — works on any device you log in from.
📨 Messages tab
Any APRS message sent to your callsign while you're offline is stored here (up to 500 messages). Unread messages show with a blue left border. Mark all read once you've reviewed them.
📡 Callsigns tab
Add additional callsigns you own (e.g. M0ABC-9, M0ABC-10). Each one's APRS-IS passcode is shown. Messages to any of your callsigns are stored for offline delivery.
⚙ Settings tab
Change your display name, email, or password (requires current password). Your callsign cannot be changed after registration.
📨 Messaging
Send APRS messages directly through the web interface. Messages are sent through the APRS-IS network with your callsign and passcode.
From Messages panel
- Click Messages in the header
- Enter your callsign and APRS-IS passcode
- Type the destination callsign and message
- Click Send
From Station Detail
- Click any station on the map
- Click ✉ Send Message in the footer
- Destination is pre-filled, type your message
- Click Send
⚠ Don't know your passcode? Use the 🔧 Utils panel → Passcode Calculator, or check your member dashboard.
📡 Station Tracking
Follow a moving station in real-time with full position history displayed as a cyan trail on the map.
- Click a station on the map to open Station Detail
- Click 📡 Track in the footer
- Map centres on the station, draws cyan polyline trail with ▲ arrows showing direction of travel
- Tooltip on trail shows position count, distance covered and average speed
- Map auto-follows — re-centres every 3 seconds on new positions
- Drag the map to temporarily pause auto-follow (resumes after 30s)
- Click 📡 G1ABC ✕ in header (or ⛔ Stop Tracking in detail modal) to stop
Static stations can also be tracked — useful for watching when a vehicle starts moving.
✨ Features Tour
🌦 Weather Panel
Live weather dashboard pulling from CWOP stations. Gauges for temperature, wind, pressure, humidity, rainfall. Click a station for historical graphs over the last hour.
👁 Watch Panel
List of stations you're watching. Add via the input or from any station detail modal. Notifications appear when watched stations transmit.
🛸 ISS Panel
Live ISS position (TLE proxied through aprsnet.uk). Pass prediction using SGP4 orbital mechanics shows when ISS will be overhead at your location. ARISS announcements pulled from aprs.fi.
🔧 Utilities Panel
Passcode calculator, Maidenhead locator converter, beacon generator (build a position packet), APRS symbol picker.
🏆 Leaderboard
Live rankings: most active stations, fastest moving (vehicles only — WX excluded), longest path traversed, most-recently-heard. Active nets & groups detected from message traffic.
📡 LoRa Stations (two sources)
LoRa (via APRS-IS) — sidebar filter, ON by default. Identifies LoRa-APRS stations from your live APRS-IS feed by their TOCALL prefix (APLR*, APLG*, APLT*, APLO*) or LoRa keyword. Get the most comprehensive coverage as nearly all LoRa iGates gate to APRS-IS. Marked with a small purple L badge on the map icon.
"LoRa Network" overlay — OFF by default. Adds the lora-aprs.live overlay with iGates (📡 purple), Trackers (🛰 green) and signal-quality lines colour-coded by SNR: green (>-3dB), yellow (-3 to -12), orange (-12 to -18), red (<-18). Background fetch enriches APRS-IS LoRa stations with SNR/RSSI data when available — click any LoRa station to see signal details. Data from lora-aprs.live.
🌙 / ☀ Theme Toggle
Switch between dark and light mode (top right). Map tiles always stay daylight regardless of theme. Preference saved across sessions.
🔗 Packet Path Visualiser
In Station Detail, click Show Path to draw lines on the map showing the digipeater hops a packet took to reach the gateway.
📢 MOTD Banner
Server announcements appear at the top of the page. Dismissable banners stay dismissed across reloads. Also shows unread APRS message count for logged-in members.
🚀 Enhanced Features Guide
A detailed guide to the advanced monitoring, analytics and notification features. Each explains what it does, where to find it, and how to read it.
📶 Propagation Range
Where: Top header bar, next to the station count (hidden on narrow mobile screens — use the Mobile site there).
A 10-segment bar showing how many stations are currently heard at each distance from your own station (the location set in Settings / the connect form). Each segment is one distance band in miles:
0-5 5-10 10-20 20-40 40-80 80-160 160-200 200-500 500-1000 1000+
- Segment colour = stations heard in that band right now: grey = none, blue = 1, green = 2-3, yellow = 4-7, orange = 8+.
- LOW / MED / HIGH label = the furthest band with at least two stations heard. LOW = nothing meaningful beyond 40 mi, MED = 40-200 mi, HIGH = 200 mi or further.
Note: this server is internet-connected (APRS-IS), so "stations heard" includes traffic gated in from elsewhere — it shows your effective visibility radius on the network, not literal RF propagation. Stations with invalid (0,0 or out-of-range) coordinates are excluded. Hover the bar for a per-band breakdown.
📡 High Activity Alert
Where: A green banner that slides down from the very top of the page.
Fires automatically when network traffic spikes to an unusually busy level (an internal activity score above 80/100, based on packets-per-minute over the last 10 minutes) — a heads-up that something is happening on the network worth looking at. It auto-hides after 30 seconds, can be dismissed with the ✕, has a 30-minute cooldown so it never spams, and is silenced (banner still shows, but no beep) during your Quiet Hours.
📡 Range Lines (to you)
Where: Sidebar checkbox (left panel, under the station filters).
When enabled, draws a dashed line from every recently-heard station to your own station (the location set in Settings / the connect form) — showing how far your gateway's effective reach currently extends. This does not show RF paths between other stations — over an internet-fed APRS-IS connection there is no way to know who heard whom over the air. Lines are colour-coded by distance:
- Green — within 10 mi (local)
- Lime — 10-40 mi (nearby)
- Yellow — 40-160 mi (regional)
- Orange — 160-500 mi (distant)
- Purple — over 500 mi (DX / long distance)
Hover any line to see the callsign and exact distance in miles/km. Stations with invalid (0,0 or out-of-range) coordinates are excluded. Lines refresh automatically every 30 seconds.
📈 Propagation Analytics
Where: The 🏆 Board panel (header button) — scroll to the "Propagation Analytics" card. It auto-loads when you open the panel; press 🔄 Refresh to recompute.
Four analytics views computed from the server's stored packet history:
- Best Time of Day — a 24-bar histogram showing which hours of the day have the most packet traffic. The peak hour is highlighted. Helps identify when the network is most active.
- 7-Day Activity Heatmap — a day × hour colour grid. Darker/brighter indigo cells mean more packets in that hour. Hover any cell for the exact count. Spot daily and weekly patterns at a glance.
- Longest RF Paths — a ranking of the stations heard via the most digipeater hops. A high hop count means the packet travelled through many relays to reach the gateway.
- Station Reliability Grades — every station graded A–F based on how consistently it transmits. An A-grade station beacons regularly over a long period; an F-grade one was heard only briefly or erratically. The table shows packet count, time span, and average gap between packets.
🌧 Weather Radar Overlay
Where: Sidebar checkbox (left panel, under the station filters).
Overlays animated rain-radar imagery on the map, sourced from RainViewer (global coverage, no setup needed). The radar loops through the last couple of hours plus a short forecast, updating every 0.6 seconds. Semi-transparent so station markers stay visible on top. Toggle off when you don't need it to keep the map clean.
⚠ UK Severe Weather Warnings
Where: A coloured banner at the very top of the page (appears only when a warning is active).
Shows live UK National Severe Weather Warnings from the Met Office. The banner colour matches the warning severity: 🟡 Yellow, 🟠 Amber, 🔴 Red. The most severe active warning is shown. Dismiss with the ✕ — it won't reappear unless a genuinely new warning is issued. Checked every 15 minutes. This works with no setup; an optional Met Office DataHub API key (Admin panel) is only needed for future detailed-forecast features.
↩ Click-to-Reply
Where: The Messages panel.
Any APRS message you receive shows the sender's callsign as a clickable button. Tap it and the "To" field is instantly filled with that callsign, the Messages panel opens, and the cursor jumps to the message box — so you can reply in seconds without retyping the callsign.
🔍 Auto-Fit Zoom & 👻 Station Ghosting
Where: Sidebar checkboxes (left panel, under the station filters).
Auto-Fit Zoom — when on, the map automatically zooms and pans so every visible station fits on screen. As soon as you manually pan or zoom, it switches itself off so you stay in control.
Station Ghosting (on by default) — stations not heard for 30+ minutes gradually fade out and gain a pulsing dashed ring, so you can instantly tell fresh stations from stale ones. The older a station, the more transparent it becomes. A new packet snaps it back to full brightness.
📬 Message Notifications & 🌙 Quiet Hours
Where: Notifications appear automatically; Quiet Hours is set in your Member account → Settings tab.
Logged-in members get notified about APRS messages: a prominent toast on login if messages arrived while you were away, a live toast when a new message comes in, a desktop browser notification if the tab is in the background, plus a red count badge on the member button.
Quiet Hours — set a start and end time (e.g. 22:00–07:00) to silence notification toasts and beeps overnight. The count badge still updates quietly, so nothing is missed — it just won't make noise. Handles windows that cross midnight.
📨 Offline Message Delivery
Where: Automatic — no setup beyond having a member account.
If someone sends an APRS message to your callsign while you're offline, the server stores it. The moment any client logs in with your callsign — the web messenger, APRSDroid, a radio, anything — the queued messages are delivered to it as normal APRS packets. Messages survive until you collect them.
📱 Mobile Companion Site
Where: Visit /mobile on your phone, or use the "📱 Mobile" link in the footer.
A touch-optimised version of the site with a native-app-style bottom tab bar: Map (full-screen live map), Stations (searchable list — tap to locate), Messages (recent APRS messages), and Status (network activity and server stats). It uses the same live data feed as the desktop site but with a stripped-down, thumb-friendly layout.
Desktop & Mobile Apps
As well as this website, APRS Net is available as native applications for Windows and Android. The apps wrap this same dashboard and add native conveniences: GPS positioning from your device, system notifications for incoming messages, saved settings (callsign, member account, appearance), single sign-on and auto-connect.
Windows Desktop Client
A desktop application for Windows 10 and 11. Runs in its own window with a system-tray icon, native desktop notifications, and an optional launch-on-startup. Plots your own location on the map and lets you send APRS messages from a toolbar composer.
Android App
A native Android app delivering the full dashboard with a touch-friendly layout, native GPS via Android location services, push notifications for messages, and saved settings between launches.
Both apps are open source under GPL v3 and are dedicated to www.aprsnet.uk - there is nothing to configure beyond your callsign. The APK installs by sideloading: download it, allow installation from your browser or file manager, then open it. There is also a lightweight mobile web page at /mobile if you prefer not to install anything.
🔌 Connect to this Server
This server accepts connections from APRS clients, hardware trackers, web apps, and automation tools. Use the right protocol for what you're building.
Server endpoints at a glance
| Service | Address | Auth |
|---|---|---|
| APRS-IS TCP | www.aprsnet.uk:14580 | Callsign + passcode |
| UDP (hardware) | www.aprsnet.uk:14580 | None |
| WebSocket | wss://www.aprsnet.uk/ws | JSON auth or anonymous |
| REST API | https://www.aprsnet.uk/api/* | X-API-Key header |
| Webhooks | Push to YOUR URL | Admin configured |
📡 APRS-IS over TCP (most common)
This is the standard APRS-IS protocol. Use any APRS client, software TNC, or radio with APRS gating capability.
How to log in:
- Enter your callsign (e.g.
G7XYZ) - Enter your APRS-IS passcode — calculated from your callsign. Find yours at apps.magicbug.co.uk/passcode or aprsdirect.com
- Optional: set a filter to limit packets you receive (e.g.
filter r/53.7/-1.6/400for 400km around Wakefield)
If you're a member of this server, your saved callsign/passcode are used automatically — just sign in from the header.
🛠 Recommended clients & setup notes
📱 APRSDroid (Android)
Free on F-Droid & Play Store. Settings → Connection Preferences:
APRS Server: www.aprsnet.uk:14580
💻 APRS Client (this server's app)
Pre-configured for this server. Download Windows or Linux build
🦊 YAAC (Yet Another APRS Client)
Java, all platforms. Configure → Ports → APRS-IS:
Hostname: www.aprsnet.uk, Port: 14580
🐺 Direwolf (software TNC)
Linux/macOS/Windows. In direwolf.conf:
IGSERVER www.aprsnet.uk:14580
IGLOGIN G7XYZ 12345
🪟 APRSIS32 (Windows)
Configure → Ports → Add APRS-IS:
Server: www.aprsnet.uk Port: 14580
🐧 Xastir (Linux)
Interface → Interface Control → Add Internet Server. Same host/port as above.
📻 Hardware Trackers (UDP)
Hardware like the Kenwood TH-D74, Yaesu FT2D, Mobilinkd TNC, and budget IoT trackers can push raw APRS packets over UDP — no login needed.
Useful for embedded devices that can't speak the APRS-IS handshake protocol.
🌐 WebSocket API (for browsers & code)
Stream live APRS packets directly to a web app or script. This is what this page itself uses.
Quick start (JavaScript):
const ws = new WebSocket('wss://www.aprsnet.uk/ws');
ws.onopen = () => {
// Optional auth - lets you SEND messages
ws.send(JSON.stringify({
type: 'auth', callsign: 'G7XYZ', passcode: '12345'
}));
};
ws.onmessage = (ev) => {
const m = JSON.parse(ev.data);
if (m.type === 'rx') console.log('Packet:', m.packet);
};
Without auth you receive packets read-only. With auth you can transmit messages, create objects, etc. as your callsign.
⚙ REST API (snapshots, exports)
HTTP endpoints for polling data. Full reference in the next help section.
Get an API key from Admin → API Keys. Keys can be revoked anytime.
🪝 Webhooks (push to YOUR endpoint)
Server POSTs JSON to your URL when matching packets arrive. Great for Home Assistant, Node-RED, n8n, IFTTT, Discord/Slack bots.
⚠ Troubleshooting Connections
- "Login not verified" — your passcode doesn't match the callsign. Recalculate at magicbug.co.uk/passcode. Passcodes are integers, not your radio licence number.
- "Connection refused" — your firewall or network blocks port 14580. Try from a phone hotspot to confirm. Corporate/school networks often block this.
- No packets arriving — set a wide filter like
filter r/53.7/-1.6/2000or check this server's own status panel. If this server is upstream-disconnected, no clients will see traffic. - WebSocket keeps reconnecting — usually a network/proxy issue. Open browser DevTools (F12) → Network → WS to see the actual error. Corporate proxies sometimes strip the Upgrade header.
- Hardware tracker silent — UDP is fire-and-forget; you won't get an error if packets don't arrive. Check the server's Status panel to see if your packets are landing (look for your callsign in the Connected Clients table).
- Can't send messages — you must authenticate with a valid passcode. Read-only WebSocket clients can receive but not send.
- QRZ.com profile shows "subscription required" — your QRZ XML subscription has lapsed; renew at shop.qrz.com.
⚙ REST API
Base URL: https://www.aprsnet.uk/api
| Endpoint | Auth | Description |
|---|---|---|
| GET /api/status | None | Server stats, upstream connection, packet counts |
| GET /api/history | API Key | Last hour of positions (JSON array) |
| GET /api/objects | None | Currently active APRS objects/items |
| GET /api/messages | None | Last hour of APRS messages |
| GET /api/ariss | None | ARISS info proxied from aprs.fi |
| GET /api/tle | None | ISS TLE elements (cached 6h) |
| GET /api/version | None | Server version & build info |
| GET /api/motd | None | Public message of the day |
| GET /api/export/geojson | None | All stations + objects as GeoJSON |
| GET /api/export/kml | None | All stations + objects as KML (Google Earth) |
| POST /api/member/register | None | Create member account |
| POST /api/member/login | None | Returns session token |
| GET /api/member/profile | Token | Member profile, watchlist, callsigns |
| GET /api/member/messages | Token | Stored offline APRS messages |
| GET /metrics | Admin | Prometheus metrics endpoint |
| GET /demo | None | Read-only demo mode (sets cookie) |
API Keys: generate via Admin → API Keys. Send as X-API-Key: ... header. Member Tokens: after login, send as X-Member-Token: ... header.
🪝 Webhooks
Get notified when watched events happen. Configure in Admin → Webhooks.
Event types:
message— every APRS message received (filter by callsign)watched— a callsign on the server-wide watchlist transmitsobject— a new APRS object appearsupstream— upstream APRS-IS connection state changes
Payload (POST JSON):
{
"event": "message",
"from": "G1ABC", "to": "M0XYZ",
"text": "Hello", "ts": 1715000000,
"callsign": "G1ABC"
}
🛠 Admin Guide
⚠ This section requires admin login. Click Admin in the header.
👥 Member Management
View all members, search by callsign or name. Per-member actions:
- Edit — update name, email, callsigns
- Msgs — view their stored APRS messages
- Pass — set a new password (forces re-login)
- Logout — kill all sessions across devices
- Delete — permanently remove account & data
🚫 Ban List
Block specific callsigns from being broadcast. Wildcards supported (e.g. SPAM*). Banned packets are silently dropped from WebSocket and TCP client streams.
📢 MOTD
Banner shown at top of every page. Four levels: info / success / warning / error. Optionally user-dismissable.
💾 Backup & Restore
Download a single JSON file containing all members, bans, MOTD, webhooks, API keys and config. Restore by uploading. Recommended weekly backup.
📋 Audit Log
Every admin action logged: who, what, when, target, IP. Member registrations also logged. Last 100 entries shown by default.
⚡ Hot Reload Config
Change APRS-IS filter, upstream server, server name etc. without restarting. Changes apply immediately to the upstream connection.
🔑 API Keys
Generate keys for /api/history access (Grafana, dashboards, scripts). Each key can be revoked individually.
⬆ Self-Update
If a new GitHub release is available, the ⬆ button appears in the header. Pulls, rebuilds and restarts via systemd. Audit-logged.
🔧 Utilities (the 🔧 Utils panel)
Passcode Calculator
Enter a callsign → get the APRS-IS passcode. Same algorithm used by all APRS-IS servers.
Maidenhead Locator
Convert between latitude/longitude and Maidenhead grid (e.g. IO83qe). Supports field/square/subsquare precision.
Beacon Generator
Build a complete APRS position packet from lat/lon, symbol, comment and PHG fields. Copy-paste straight into your TNC.
Symbol Picker
Visual browser of all APRS symbols. Click any to copy its symbol code (e.g. /> for a car).
❓ Troubleshooting
Connection indicator is orange / "Upstream: None"
The WebSocket is connected but the upstream APRS-IS connection is reconnecting. Usually clears within 30 seconds. If persistent, check the admin panel → Status tab.
"ERR_TOO_MANY_REDIRECTS" in console
Chrome HSTS cache issue. Go to chrome://net-internals/#hsts, scroll to "Delete domain security policies", enter aprsnet.uk and delete. Repeat for www.aprsnet.uk.
Messages aren't sending
Check your APRS-IS passcode is correct. Get it from the Utils panel or your member dashboard. Each callsign has a unique passcode — using the wrong one silently fails.
Map shows no stations
Check that filter checkboxes in the sidebar are ticked. By default Ham APRS, CWOP, OGN and Objects are on. Pi-Star/MMDVM is off by default — tick it if you want digital voice gateways. If still empty, refresh the page — replay should fill the map within 5 seconds.
Light mode text hard to read
Report it via the GitHub issue tracker. Each panel has been tested but new components might have contrast issues.
Advanced APRS Go Server · · GNU GPL v3
© 2026 Daren Loxley 2E0LXY · Source on GitHub
Core Configuration
Server Identity
APRS-IS Uplink
APRS-IS Subscription Filter
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.
Advanced — filter builder helpers (rarely needed)
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 ↗
Drop Filters
Geofence Boundary
When enabled, packets outside this radius are dropped server-side regardless of APRS-IS filter.
🔑 Third-Party API Keys
Free key from aisstream.io. Used when users enable the Live Ships overlay. Defaults to a built-in fallback key if blank.
QRZ.com XML Lookup (operator profile data)
QRZ XML subscription credentials. When configured, clicking any callsign on the map shows their QRZ photo, address, name, grid, license class etc. Cached 24h per callsign. Server keeps password in server_config.json (plain text - keep that file readable only by root).
Met Office DataHub (optional - site forecast API)
Optional. The UK Severe Weather Warnings overlay works without a key (public Met Office RSS feed). A DataHub key from datahub.metoffice.gov.uk is only needed for the future site-specific forecast feature. Leave blank if unsure.
Change Admin Password
🔗 Webhooks
POST JSON to external URLs on APRS events. Works with Node-RED, Home Assistant, n8n.
No webhooks configured
🗝 API Keys
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
⬆ Software Update Available
Downloads latest release, rebuilds binary and restarts service (~30s). Page will reconnect automatically.
👥 MEMBER MANAGEMENT
Click Refresh to load members
🚫 BAN LIST
Banned callsigns are dropped from APRS-IS broadcast. Wildcards allowed (e.g. SPAM*)
📢 MESSAGE OF THE DAY
Banner displayed at the top of every page. Also shows unread message count to logged-in members.
💾 BACKUP & RESTORE
Download all server state (members, bans, MOTD, webhooks, API keys, config) as a single JSON file. Restore by uploading a previously downloaded backup.
📋 AUDIT LOG
RELOADED SUCCESSFULLY