Repository navigation
Suite
Hammunition is one engine and a set of companion projects, each in its own repository with its own releases. This page says what each is, how they fit together, what each needs, and where to report a problem. It does not repeat installation specifics: each project's README owns those, and every section links to it, so a copy here cannot drift from the project.
Looking for an activity rather than a project (GPS and time, APRS, Meshtastic, Reticulum, MeshCore)? The activity hubs say what the catalog carries for each, how to install it and what has been measured.
| Project | What it is | Status | Needs the engine? |
|---|---|---|---|
| Hammunition | The engine and the catalog: installs, configures and documents the software | Pre-1.0 (v0.21.0 in this tree) | It is the engine |
| Hammunition Tray | System-tray switches to park GPS, modem, Bluetooth and camera and to start services | v0.5.0 pinned; the Qt tray is built, not yet run on any desktop it lists | Yes |
| Hammunition Hill | A ham-radio dashboard in your browser | v1.3.0 pinned by the catalog (the repeaters panel with the area selector); upstream may be newer | No |
| Hammunition Bunker | A LAN server that keeps verified copies of the offline data | 0.1.0, unreleased: tested against a fake engine, never run on a NAS | Yes |
| Hammunition Console | A full-screen terminal front end for the engine | Part of the engine since v0.21.0 (#302); the old repository is archived. Not yet run through a real install | It is part of the engine |
| Hammunition GPS Tether | Your gpsd position as NMEA and as a browser stream, on this machine only | v0.1.1 pinned; measured on the field laptop as a service, including across a reboot (bench session 13) | Needs gpsd; the engine installs it |
"Pinned" is the version catalog/packages/ installs; a project's repository
may be ahead of it. If a status here disagrees with the project's own README,
the README is newer and this page is a bug: please report it. A status is
measured only where the bench record or
a VM campaign page records it; everything else is built, not yet measured.
The same maintainer's Skid-Finder
is carried like any upstream program (skid-finder); it is not part of the
suite's runtime.
publishers (Geofabrik, Kiwix, FEMA ...) your radios, GPS, SDRs
| |
v v
Bunker (on a NAS, LAN) -- optional, read-only --> the engine asks it first
|
+--------------------------------------------------------v----+
| Hammunition: catalog, plans, installs, station values |
+--------------------------------------------------------------+
| installs | drives it | hardware apply | installs, starts
v v v v
Hill Console Tray (+ root helper) GPS Tether -> QMapShack,
(browser) (terminal) park/wake, services browser map, CoMaps
- The engine is the hub. Everything else is installed by it, a client of it, or a server for its data. The catalog is the one source of what is installed and at which version.
- Hill is independent. It runs without the engine; the engine installs it.
-
Tray and Console are front ends. Neither holds install logic. The Tray
switches what
hammunition hardware park,wakeandhammunition servicesdo; the Console runs the engine's commands. - The GPS Tether is a bridge from gpsd to mapping programs.
- The Bunker is optional. Without it every download comes from its publisher, with the same checks.
- Repository and details: https://github.com/Renegade-Penguin/Hammunition#readme; the command reference owns commands and flags.
- Platforms: Parrot OS first; Debian 13, Ubuntu 24.04 and 26.04, Kali and Linux Mint 22.3 tested in containers; see desktops.
- Install and first run: Installation.
-
Example:
hammunition station set --callsign N0CALL --grid-square FN31prthenhammunition install station --dry-run; read the plan, then run it without--dry-run.hammunition statuslists what was installed. -
Report problems: issues;
attach
hammunition logs --lastwith your callsign and grid removed.
- Repository and install specifics: https://github.com/Renegade-Penguin/hammunition-tray#readme.
-
Platforms:
hammunition-trayfor KDE Plasma 6;hammunition-tray-qtfor Xfce, LXQt, LXDE, MATE, Cinnamon. Not for GNOME or COSMIC: use the terminal commands. -
Depends on: the engine (it reads the lists
hammunition hardware applywrites), a polkit agent, and a device with apower_controlblock. -
Example:
hammunition hardware state, then switch a GPS off in the tray or runhammunition hardware park NAME;hammunition hardware wake NAMEbrings it back. How-to: the tray's Controls panel. - Not yet measured: the Qt tray on any listed desktop.
-
Report problems: issues;
run
hammunition hardware statefirst.
- Repository and install specifics: https://github.com/Renegade-Penguin/hammunition-hill#readme, which also keeps its feature status table.
- Platforms: targets whose archive has Python 3.11 or later; Ubuntu 22.04 and Pop!_OS 22.04 are refused at plan time.
-
Depends on: nothing at run time. It is in the
stationprofile. -
Example:
hammunition install hammunition-hill, then open http://127.0.0.1:8073/. Its fetched panels need an internet connection; the package page says which tiers do.hamhill check --fetchnames a source that broke. - Report problems: issues.
- Repository and install specifics: https://github.com/Renegade-Penguin/hammunition-bunker#readme.
- Status: experimental. Tested against a fake engine and a publisher on loopback; the image has never been built and no NAS has run it.
-
Depends on: a NAS or home server with a container runtime (Synology
Container Manager or rootless Podman, from its documentation, not from a run),
and the engine, whose
hammunition artifacts --jsonsays what to keep. -
Use: on the laptop,
hammunition station set --mirror http://NAS-ADDRESS:8080/; later data installs name the mirror first and fall back to the publisher, with the same digest check. A LAN mirror owns the engine side. - Report problems: issues.
-
Where it lives: in the engine, since v0.21.0 (#302):
hammunition console. The old repository,hammunition-console, is archived. It ships with the engine because it makes no sense on its own: it only drives the engine, and a separate repository produced a version floor and a refusal where an update was wanted. Tray, Hill, Bunker and the GPS tether stay separate: each runs without the engine or serves other clients. -
Platforms: Python 3.11 or later; a terminal of at least 80x24; refuses
TERM=dumband root. SSH and Raspberry Pi use are not measured. -
Depends on: the engine it is part of, and
python3-urwid(or theconsoleextra in a virtualenv). -
Example:
hammunition console; pickstationin Install: the plan is shown, and nothing changes until you typeyes. Walkthrough: The console; keys and screens: the console reference. - Not yet measured: a real install driven from it. Hardware and maps screens are not in it yet.
- Report problems: issues on the Hammunition repository.
- Repository and install specifics: https://github.com/Renegade-Penguin/hammunition-gps-tether#readme.
- Depends on: gpsd and a receiver with a fix. It listens on 127.0.0.1 only: NMEA on 10110, a browser event stream on 10111.
-
Example:
hammunition install gps-tether, thensystemctl --user start hammunition-gps-tether.service; with a fix it writes$GPRMCand$GPGGAsentences on 127.0.0.1:10110. QMapShack steps: Offline navigation. - Measured: installed, enabled and active on both ports on the field laptop, and still active at login after a reboot (bench, 2026-10-03). Not yet measured: a suspend and resume with it running.
-
Report problems: issues;
cgpsfor a receiver with no fix.
| Detail | Owner | This page |
|---|---|---|
| Commands, flags, exit codes | the command reference | links, never restates |
| Version installed, from where, how it is checked | catalog/packages/*.yaml |
states the pinned version |
| A project's internals, options, changelog | that project's repository | one paragraph and a link |
| What an install writes to the machine | the unit's package page | links |
Changing one of these in a repository? Change this page in the same pull request.
Applications by activity, EMCOMM field use, and what to download before a deployment.
Generated from docs/ at commit 7ef1bfafdf8e. Canonical site: https://renegade-penguin.github.io/Hammunition/. Edit docs/ by pull request, not this wiki.
- Home
- Software by activity
- Activity hubs
- Installation
- Profiles
-
Guides
- Operating
- Modes
- Receiving
- In the field
- Troubleshooting
- Getting started
- Packages
-
Hardware
- Park and wake devices
- SDR receivers and transceivers
- Radios, GPS and mesh
- Security and research hardware
- Programmers
- Laptop radios and camera (parkable)
- LibreVNA (vector network analyser)
- RF security
-
Reference
- The engine
- Coverage
- Inventories
- Hardware measurements
- Verification
- Contributing