Skip to content

HAMNET only

This page lists what an instance can still do when it has no internet path: an instance reached over HAMNET, or an off-grid box on a LAN. It is for the sysop. The instance runs, but everything that calls a service on the internet stops; the table names each one and its workaround.

HAMNET is an amateur IP network that is not on the internet. Stations reach it over RF links, and licensed hams also reach it through HAMNET VPN access, such as HamCloud's 44.148.128.0/17. It is not 44Net, the amateur addresses the internet reaches. European HAMNET uses addresses from 44.128.0.0/10, the same block that holds internet-announced 44Net subnets, so an address does not say which network it is on: you declare it. Being on one network gives no path to the other.

An instance that is on the internet as well can add its HAMNET address as a further route beside its internet name, and its 44Net name if it has one (One instance, several addresses): EXTRA_ORIGINS lists http://<HAMNET name or address>, Caddy serves it as plain http, and members who sign in there keep a session over plain http.

What works, and the workarounds

Feature Works without the internet? Workaround
The app itself: scripts, styles, fonts, the MapLibre worker Yes Bundled and served by the instance; nothing loads from a CDN
Base map, Dark, Light and Auto themes (default OpenFreeMap vector style) No Build the web app with VITE_BASEMAP=offline (the self-contained grid), use the Phosphor theme (its grid is built in), or point VITE_BASEMAP_STYLE at a style served inside HAMNET. While the online style cannot load, the map fetches caches only after the first pan or zoom
Map tiles for hunters in the field Yes, with an offline map Serve an offline map: the instance hands out its own PMTiles archive, hunters make offline packs from it over HAMNET, and the app draws a pack's map when it is offline
Topo and satellite layers (OpenTopoMap, EOX) No Stay on the vector or offline base map; both layers are opt-in
"Navigate" links (Google Maps, Apple Maps, OpenStreetMap) No They are plain links; the cache's coordinates stay on the sheet
Embeddable map widget (/embed) Works with BASEMAP_STYLE=offline or a HAMNET style MapLibre comes from the instance's own web build. The base map is the gateway's BASEMAP_STYLE: offline draws the self-contained grid, or point it at a style served inside HAMNET (configuration)
Sign-in and sessions Yes, over plain http An email link (with a mail server on HAMNET) or the sysop's one-time link; the session cookie works over plain http
Passkeys, device location (Tier B finds), Web Serial / Web Bluetooth radio, web push Only over https An https address of the instance (a certificate for the 44Net name). Over plain http, members sign in with an email link or the sysop's one-time link and log finds unsigned
Email sign-in links and the watch digest Only with an SMTP server reachable on HAMNET; the Resend API needs the internet Set SMTP_HOST to a mail server inside HAMNET (Send mail), or use passkeys or the sysop's one-time link
Web push delivery (the browser vendor's push service) No The in-app watchlist
APRS-IS feed and uplink (rotate.aprs2.net by default) No Set APRSIS_HOST to an APRS-IS server reachable on HAMNET, if your region runs one (Unverified per region). RF from your own TNC is unaffected
RF ingest from your own radio Yes The off-grid shape: the ingest box and a local gateway on one machine, INGEST_URL=http://localhost:8787/ingest
Federation with https and 44Net peers No Peers on HAMNET: list one in FED_PEERS as http://<name or address>[:port], optionally with #<fingerprint> (Join the network), or add it under Add peer; publish your own address as a hamnet endpoint (Federation over HAMNET). Trusted HAMNET peers' lists name further HAMNET instances (Discovery). Packet carriers (AX.25, NET/ROM, FBB) need no IP at all (wire format)
Adding a peer by callsign, ampr.org callsign verification, the 44Net self-check No, with the default resolvers Set DOH_URL (and AMPR_DNS_RESOLVERS) to DNS-over-HTTPS resolvers reachable on HAMNET that can still reach ARDC's name servers; otherwise do these while connected. Verification over RF works offline
Instance registry located by FED_REGISTRY_DNS No This lookup always asks Cloudflare's resolver and ignores DOH_URL. Set FED_REGISTRY to the signed registry document itself (its JSON) instead: it needs no lookup
Source link (/source → SOURCE_REPO, GitHub by default) The link works, the target doesn't Point SOURCE_REPO at a mirror reachable on HAMNET: any forge with <repo>/tree/<commit> URLs (AGPL §13)
Activity spots, licence-register refresh, heritage and OpenCaching imports No Optional; they resume when a path to the internet returns

HAMNET and 44Net Connect

Internet reachability in 44Net is decided per subnet, not per range. A subnet is on the internet when it is announced in BGP through the ARDC Portal, served through 44Net Connect, or reached over the IPIP mesh; more than three quarters of 44Net is on none of them. HAMNET addresses must not be announced on the internet. ARDC: "A subnet reachable via Connect is not automatically part of the Mesh. A Mesh network does not automatically appear via BGP." (Decentralization, checked 2026-09-30).

So a 44Net Connect address is on the internet and not on HAMNET, and a HAMNET address gives no path to a 44Net or internet peer. Neither APRScaching nor its checks infer the network from an address: a hamnet endpoint, an http:// entry in FED_PEERS and an http:// address in EXTRA_ORIGINS are your declaration that the address is on HAMNET (or a LAN). Reachability can be tested from a host on each network, never read from the range. An instance on both networks has two addresses, one on each, and publishes both in FED_ENDPOINTS: a 44net endpoint and a hamnet endpoint.

Next