Mirror of https://github.com/la5nta/pat.git

Martin Hebnes Pedersen efd322d064 Bump version (v0.8.0) 1 month ago
cfg 273ae99e89 EnableHttp should be spelled EnableHTTP since HTTP is an acronym. See https://github.com/la5nta/pat/pull/163#discussion_r329446190 1 month ago
debian efd322d064 Bump version (v0.8.0) 1 month ago
internal 971d7d95a7 throw error when timeout 1 month ago
man a1c31af7d8 Include man pages in deb package 2 years ago
osx efd322d064 Bump version (v0.8.0) 1 month ago
res 9f3aade4b8 Make GPS position API more generic. See https://github.com/la5nta/pat/pull/163#discussion_r329472257 1 month ago
share 5198138574 Add systemd unit file for ARDOPc 1 year ago
vendor a77d128697 Pull changes in wl2k-go (ardop listener fix) 1 month ago
.appveyor.yml a1aba39956 ci: Go 1.13.1 1 month ago
.gitignore a1cb232f98 Don't build with system installed static libax25 2 years ago
.gitmodules 7abfb168fe Import and vendor github.com/harenber/ptc-go/go 1 year ago
.travis.yml a1aba39956 ci: Go 1.13.1 1 month ago
CONTRIBUTING.md b8f4bba4f7 Add CONTRIBUTING.md 3 years ago
LICENSE 1e3fa426b6 Happy new year 2 years ago
README.md 1c7fd2b81a Merge branch 'master' into develop 1 month ago
VERSION.go efd322d064 Bump version (v0.8.0) 1 month ago
bindata_assetfs.go 831c4e1ef1 go generate 1 month ago
config.go e166b85665 Add legacy support for older config files (using gpsd_addr) 1 month ago
connect.go 58eb37aff1 file permissions got changed somehow to 755. Change back to 644 1 month ago
convert_image.go d83676292b Resolve go vet issues 3 years ago
event_log.go dc063fbcff Add LICENSE and update copyright headers 3 years ago
exchange.go 58eb37aff1 file permissions got changed somehow to 755. Change back to 644 1 month ago
flags.go 7ba0bc91c7 Switch to spf13's pflag fork 3 years ago
freq.go a0b9cf9f5d Parse frequency string as 64-bit float 3 months ago
http.go 18ec5457d5 Avoid deep nesting. See https://github.com/la5nta/pat/pull/163#discussion_r329475620 1 month ago
http_multipart.go f838cf28f7 Fix broken build on Go 1.6 1 year ago
http_multipart_pre110.go f838cf28f7 Fix broken build on Go 1.6 1 year ago
interactive.go e6f54eb34b Add debug interactive command 2 years ago
listen.go 2482502ff9 Use logger (not stdout) for unlisten error 2 years ago
listener_hub.go 29d81630aa Rewrite listeners logic to allow automatic re-init 2 years ago
main.go 17cc57133f move GPSd config to its own struct. Only show warning when UI is served on all interfaces. Show who (IP) is accessing the GPSd data. 1 month ago
make.bash 64a17b5f59 Fix gitrev build argument for Go 1.10 1 year ago
prompt_hub.go b640f26c92 Add PromptHub for async prompt in gui and terminal 2 years ago
read.go 4eb10ff201 More input validation on message compose 2 years ago
riglist.go 267900a6ee Omit riglist command when not built with libhamlib 3 years ago
rmslist.go 19532a5efd Let user override default Service Codes via config 1 month ago
schedule.go f4cf7c129d Fix time.Timer-leak in scheduler 3 years ago
usage.go 6149cb77c5 ptc-go changed scheme from ptc:// to pactor:// 10 months ago
utils.go a7ca5852fe Split input lists on semicolon 2 years ago
version_report.go b9742b7461 Add missing copyright notice 3 years ago
websocket_hub.go b640f26c92 Add PromptHub for async prompt in gui and terminal 2 years ago


Build Status Windows Build Status Go Report Card Liberapay Patreons


Pat is a cross platform Winlink client with basic messaging capabilities.

It is the primary sandbox/prototype application for the wl2k-go project, and provides both a command line interface and a responsive (mobile-friendly) web interface.

It is mainly developed for Linux, but are also known to run on OS X, Windows and Android.


  • Message composer/reader (basic mailbox functionality).
  • Auto-shrink image attachments.
  • Post position reports with location from local GPS, browser location or manual entry.
  • Rig control (using hamlib) for winmor PTT and QSY.
  • CRON-like syntax for execution of scheduled commands (e.g. QSY or connect).
  • Built in http-server with web interface (mobile friendly).
  • Git style command line interface.
  • Listen for P2P connections using multiple modes concurrently.
  • AX.25, telnet, WINMOR and ARDOP support.
  • Experimental gzip message compression (See "Gzip experiment" below).
martinhpedersen@duo:~$ pat interactive
> listen winmor,telnet-p2p,ax25
2015/02/03 10:33:10 Listening for incoming traffic (winmor,telnet-p2p,ax25)...
> connect winmor:///LA3F
2015/02/03 10:34:28 Connecting to winmor:LA3F...
2015/02/03 10:34:33 Connected to WINMOR:LA3F
RMS Trimode Follo.SE Oslo. Pactor & Winmor Hybrid Gateway
LA5NTA has 117 minutes remaining with LA3F
Wien CMS via LA3F >
FC EM FOYNU8AKXX59 260 221 0
F> 68
1 proposal(s) received
Accepting FOYNU8AKXX59
Receiving [//WL2K test til linux] [offset 0]
Waiting for remote node to close the connection...
> _

Gzip experiment

Gzip message compression has been added as an experimental B2F extension. The extension is implemented as a backwards compatible alternative to the ancient LZHUF compression.

This experiment is enabled by default and sessions between two Pat nodes (or other software supporting this B2F extension) will use gzip compression when transferring messages.

For more information, see https://github.com/la5nta/wl2k-go#gzip-experiment.


Copyright (c) 2014-2017 Martin Hebnes Pedersen LA5NTA

Contributors (alphabetical)

  • DL1THM - Torsten Harenberg
  • HB9GPA - Matthias Renner
  • KD8DRX - Will Davidson
  • KE8HMG - Andrew Huebner
  • LA3QMA - Kai Günter Brandt
  • LA4TTA - Erlend Grimseid
  • LA5NTA - Martin Hebnes Pedersen
  • W6IPA - JC Martin

Thanks to

The JNOS developers for the properly maintained lzhuf implementation, as well as the original author Haruyasu Yoshizaki.

The paclink-unix team (Nicholas S. Castellano N2QZ and others) - reference implementation

Amateur Radio Safety Foundation, Inc. - The Winlink 2000 project

F6FBB Jean-Paul ROUBELAT - the FBB forwarding protocol

Pat/wl2k-go is not affiliated with The Winlink Development Team nor the Winlink 2000 project [http://winlink.org].