The three pieces that actually run this network, what each one talks to, and the outside internet services each one reaches — laid out below, then explained in full underneath.
| From | To | Carries |
|---|---|---|
| Member node | gmrs-ctrl | WireGuard tunnel (UDP 51821) — IAX2 (Asterisk linking/audio) and plain HTTP to the portal (directory, weather cache, config poll, extnodes); no separate TLS needed, WireGuard already encrypts the whole tunnel |
| gmrs-ctrl | gmrs-voice | WireGuard tunnel — USRP audio (Jarvis's hub bridge) and HTTP (shared Piper TTS, admin control) |
| Member node | gmrs-voice | HTTP to the shared TTS server (:8092) for announcement/weather audio, addressed straight at gmrs-voice's overlay IP — skips the hub's own Flask API, but the packets themselves still transit gmrs-ctrl (same WireGuard mesh, IP forwarding enabled there) |
| gmrs-ctrl | National Weather Service | Severe weather alerts — cached hub-side so every node isn't calling NWS independently; the actual issuing authority for U.S. warnings |
| gmrs-ctrl | Open-Meteo | Current-conditions data for the scheduled weather announcement, same caching reasoning |
| Member node | NWS / Open-Meteo | Fallback only — a node calls these directly if the hub's own cache is unreachable, so a hub hiccup doesn't silently kill weather features fleet-wide |
| gmrs-ctrl | FCC ULS | Daily sync of the public GMRS license database, backing callsign autofill/validation on the registration form |
| gmrs-ctrl | Gmail SMTP | Admin notification emails (new registrations, hub-access requests) |
| gmrs-voice | Google Gemini | Jarvis's transcribed question, for a short spoken answer — read-only, no tools, can't control anything on the network |
| gmrs-ctrl & gmrs-voice | — | Not network traffic — both are LXCs on the same physical Proxmox host, unlike member nodes, which are separate physical hardware |
| All three | NTP | Ordinary system clock sync |
| All three | Debian / AllStarLink apt repos | Package installs — repo.allstarlink.org is the one AllStarLink domain deliberately left reachable; every other AllStarLink domain (registration, stats, node lookup) is null-routed — see below |
register.allstarlink.org,
stats.allstarlink.org, nodes.allstarlink.org,
and update.allstarlink.org are all null-routed on the hub.
Nothing here is ever registered with, or reachable from, AllStarLink at
large, even though the software underneath (AllStarLink 3) is the
same base the public network runs.
The Proxmox host and both LXCs, updated roughly every 30 seconds. This reads a small cached file — your being on this page never triggers a live query against Proxmox, no matter how many people are looking at it at once.