pat¶
Winlink client — radio email that works when the internet does not
- Version recorded: 0.16.0
- Categories:
winlink - Upstream: https://getpat.io
What it does¶
A Winlink client with a web interface: compose, send and receive Winlink email over telnet, over packet through an AX.25 port or a KISS TNC, or over HF using ARDOP or VARA. It manages the mailbox, the forms, and the connection scripts for reaching a gateway station.
Why you would want it¶
Winlink is how amateur radio carries email with no internet at all, and it is the system emergency management agencies actually ask for. Pat is the modern Linux client for it -- one binary, a browser interface, and no Windows dependency, which is what makes a Linux station a usable Winlink station.
Before it will work¶
A Winlink account, which is free and tied to your callsign. A path to a gateway: telnet over the internet to start with, then packet or HF once the radio side is configured. Its configuration file carries your callsign and password, and is written by pat configure rather than generated here -- the station-configuration question this catalog has open (CLAUDE.md, D-004 amendment) is exactly this file and LinBPQ's.
How it installs¶
- apt:
pat
Known problems¶
Unaffected by Linux 7.1's removal of the kernel AX.25 stack when its AX.25 engine is agwpe or serial-tnc (ax25+agwpe://, ax25+serial-tnc://): those talk to Direwolf's AGW port or a KISS TNC and never open an AF_AX25 socket. The linux engine (ax25+linux://, built with libax25) does, and fails on 7.1 with "Address family not supported by protocol". The generic ax25:// scheme resolves to whichever engine ax25.engine names in the config, so a config that says linux is the one that breaks. Read from pat's app/connect.go and wl2k-go's transport/ax25/ax25_linux.go, 2026-09-04. See docs/reference/kernel-ax25.md. The web interface binds to localhost by default; exposing it to a network exposes your mailbox and your Winlink credentials, and there is no authentication in front of it. Winlink messages traverse a system with published policies about content and are not private. HF needs a modem: ardopcf for ARDOP (ardop://), or mercury through the varahf:// transport, whose default localhost:8300 is Mercury's port. Mercury speaks VARA's TCP interface, not VARA's waveform, so it reaches other Mercury stations and not VARA-only gateways; that pair was measured peer to peer with Debian's 0.16.0 and Mercury 1.9.15 on 2026-09-30, with no radio. VARA itself is post-1.0 and runs under Wine.
Keeping it current¶
- probe: apt policy
- strategy: apt_upgrade
Where to get help with the software itself¶
LA5NTA and contributors. GitHub issues and a wiki linked from the site; the wiki's connection-script examples are the fastest route to a working HF or packet setup.
Source: catalog/packages/pat.yaml