pkg/

directory
v0.13.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2026 License: GPL-2.0

Directories

Path Synopsis
Package actions implements the Graywolf Actions subsystem: an APRS message-driven trigger surface that dispatches operator-defined commands and webhooks.
Package actions implements the Graywolf Actions subsystem: an APRS message-driven trigger surface that dispatches operator-defined commands and webhooks.
Package agw implements a minimal AGWPE-compatible TCP server for APRS use.
Package agw implements a minimal AGWPE-compatible TCP server for APRS use.
app
Package app is the graywolf composition root.
Package app is the graywolf composition root.
ingress
Package ingress defines an in-process typed identifier for the origin of an RX frame flowing through the modem-RX fanout.
Package ingress defines an in-process typed identifier for the origin of an RX frame flowing through the modem-RX fanout.
txbackend
Package txbackend contains the per-channel TX dispatcher that replaces the single modem Sender function graywolf used before Phase 3 of the KISS TCP-client / channel-backing plan.
Package txbackend contains the per-channel TX dispatcher that replaces the single modem Sender function graywolf used before Phase 3 of the KISS TCP-client / channel-backing plan.
Package aprs parses and builds APRS (Automatic Packet Reporting System) packets carried in AX.25 UI frame information fields.
Package aprs parses and builds APRS (Automatic Packet Reporting System) packets carried in AX.25 UI frame information fields.
Package ax25 implements AX.25 v2.0 UI frame encode/decode.
Package ax25 implements AX.25 v2.0 UI frame encode/decode.
Package ax25conn implements an AX.25 v2.0 / v2.2 LAPB data-link state machine for outbound (client) connections.
Package ax25conn implements an AX.25 v2.0 / v2.2 LAPB data-link state machine for outbound (client) connections.
Package ax25termws bridges a per-WebSocket connection to a pkg/ax25conn session: inbound JSON envelopes from the browser drive the session's event loop; outbound observer events become envelopes pushed back to the browser.
Package ax25termws bridges a per-WebSocket connection to a pkg/ax25conn session: inbound JSON envelopes from the browser drive the session's event loop; outbound observer events become envelopes pushed back to the browser.
Package beacon implements the graywolf beacon scheduler: position, object, tracker, custom, and igate beacons driven by the configstore `beacons` table, with optional SmartBeaconing for tracker beacons and safe `comment_cmd` execution for dynamic comments.
Package beacon implements the graywolf beacon scheduler: position, object, tracker, custom, and igate beacons driven by the configstore `beacons` table, with optional SmartBeaconing for tracker beacons and safe `comment_cmd` execution for dynamic comments.
Package callsign provides shared parsing, N0CALL detection, resolution, and APRS-IS passcode computation for amateur-radio callsigns.
Package callsign provides shared parsing, N0CALL detection, resolution, and APRS-IS passcode computation for amateur-radio callsigns.
Package configstore persists graywolf configuration in a SQLite database via GORM.
Package configstore persists graywolf configuration in a SQLite database via GORM.
Package diagcollect implements the body of the "graywolf flare" subcommand: collect a typed flareschema.Flare from the local install, scrub it, present it for review, and submit it.
Package diagcollect implements the body of the "graywolf flare" subcommand: collect a typed flareschema.Flare from the local install, scrub it, present it for review, and submit it.
redact
Package redact applies privacy scrubbing to a flareschema.Flare after collection and before review.
Package redact applies privacy scrubbing to a flareschema.Flare after collection and before review.
review
Package review presents a scrubbed flare payload to the user and returns their decision (submit / cancel / edit notes / add redaction regex).
Package review presents a scrubbed flare payload to the user and returns their decision (submit / cancel / edit notes / add redaction regex).
submit
Package submit posts a scrubbed flareschema.Flare to graywolf-flare-server.
Package submit posts a scrubbed flareschema.Flare to graywolf-flare-server.
Package digipeater implements a WIDEn-N / TRACEn-N APRS digipeater with preemptive digipeating and cross-channel routing driven by per-channel rules stored in the configstore.
Package digipeater implements a WIDEn-N / TRACEn-N APRS digipeater with preemptive digipeating and cross-channel routing driven by per-channel rules stored in the configstore.
Package flareschema is the canonical Go definition of the graywolf flare wire payload — the schema-versioned JSON document that the "graywolf flare" CLI submits to graywolf-flare-server.
Package flareschema is the canonical Go definition of the graywolf flare wire payload — the schema-versioned JSON document that the "graywolf flare" CLI submits to graywolf-flare-server.
Package gps provides a unified GPS position cache with NMEA-serial and gpsd (TCP JSON) reader implementations.
Package gps provides a unified GPS position cache with NMEA-serial and gpsd (TCP JSON) reader implementations.
Package historydb persists station position history in a standalone SQLite database.
Package historydb persists station position history in a standalone SQLite database.
Package igate implements graywolf's APRS-IS iGate: bidirectional gatewaying between the RF side (decoded APRS packets coming out of pkg/aprs as PacketOutput submissions) and the APRS-IS internet backbone.
Package igate implements graywolf's APRS-IS iGate: bidirectional gatewaying between the RF side (decoded APRS packets coming out of pkg/aprs as PacketOutput submissions) and the APRS-IS internet backbone.
filters
Package filters implements the IS->RF gating rule engine.
Package filters implements the IS->RF gating rule engine.
internal
backoff
Package backoff provides an exponential backoff schedule with optional additive jitter and a configurable cap.
Package backoff provides an exponential backoff schedule with optional additive jitter and a configurable cap.
dedup
Package dedup provides a time-windowed deduplication cache suitable for suppressing recently-seen APRS/AX.25 frames across the transmit governor, the digipeater, and the iGate.
Package dedup provides a time-windowed deduplication cache suitable for suppressing recently-seen APRS/AX.25 frames across the transmit governor, the digipeater, and the iGate.
ratelimit
Package ratelimit provides a sliding-window event counter.
Package ratelimit provides a sliding-window event counter.
testsync
Package testsync supplies minimal synchronisation helpers for tests that must wait on real-world, non-logical-time events (TCP accept, goroutine dispatch, counter updates driven by background workers).
Package testsync supplies minimal synchronisation helpers for tests that must wait on real-world, non-logical-time events (TCP accept, goroutine dispatch, counter updates driven by background workers).
testtx
Package testtx provides a shared transmit-sink recorder for tests.
Package testtx provides a shared transmit-sink recorder for tests.
Package kiss implements the KISS protocol (TNC framing + TCP/serial transports) as specified in Mike Chepponis / Phil Karn's KISS document.
Package kiss implements the KISS protocol (TNC framing + TCP/serial transports) as specified in Mike Chepponis / Phil Karn's KISS document.
Package logbuffer persists graywolf's slog records to a bounded circular buffer in a standalone SQLite database (graywolf-logs.db).
Package logbuffer persists graywolf's slog records to a bounded circular buffer in a standalone SQLite database (graywolf-logs.db).
Package mapsauth is a thin client for auth.nw5w.com, the registration endpoint that issues per-device tokens for the Graywolf private map service.
Package mapsauth is a thin client for auth.nw5w.com, the registration endpoint that issues per-device tokens for the Graywolf private map service.
Package mapscache manages on-disk PMTiles archives for offline use.
Package mapscache manages on-disk PMTiles archives for offline use.
Package mapscatalog fetches the public download catalog from the graywolf-maps Worker (GET <base>/manifest.json) and caches it in-process with a TTL.
Package mapscatalog fetches the public download catalog from the graywolf-maps Worker (GET <base>/manifest.json) and caches it in-process with a TTL.
Package mapsslug owns the namespaced slug grammar for offline-map downloads.
Package mapsslug owns the namespaced slug grammar for offline-map downloads.
Package messages is graywolf's APRS messaging domain.
Package messages is graywolf's APRS messaging domain.
Package metrics exposes graywolf's Prometheus metrics and a helper to fold Rust-side StatusUpdate messages into them.
Package metrics exposes graywolf's Prometheus metrics and a helper to fold Rust-side StatusUpdate messages into them.
Package modembridge supervises the Rust graywolf-modem child process and runs the IPC state machine that drives it from the Go side.
Package modembridge supervises the Rust graywolf-modem child process and runs the IPC state machine that drives it from the Go side.
Package packetlog is a bounded in-memory ring buffer of RX/TX/IS packet records with a filtered query API.
Package packetlog is a bounded in-memory ring buffer of RX/TX/IS packet records with a filtered query API.
Package pttdevice enumerates serial ports, GPIO chips, and CM108 HID devices that can be used for push-to-talk control.
Package pttdevice enumerates serial ports, GPIO chips, and CM108 HID devices that can be used for push-to-talk control.
Package releasenotes owns the embedded release-note content that drives the "What's new" popup and About-page section.
Package releasenotes owns the embedded release-note content that drives the "What's new" popup and About-page section.
Package remoteactions implements the OUTBOUND half of the Actions feature: operator-curated macros and TOTP credentials used to fire `@@<otp>#<action> [k=v ...]` invocations at remote stations from inside Messages.
Package remoteactions implements the OUTBOUND half of the Actions feature: operator-curated macros and TOTP credentials used to fire `@@<otp>#<action> [k=v ...]` invocations at remote stations from inside Messages.
Package txgovernor is graywolf's centralized transmit governor.
Package txgovernor is graywolf's centralized transmit governor.
Package updatescheck polls GitHub's releases API once per day and caches the latest-release status in memory so the webapi layer can serve it without outbound network traffic on the request path.
Package updatescheck polls GitHub's releases API once per day and caches the latest-release status in memory so the webapi layer can serve it without outbound network traffic on the request path.
Package webapi is graywolf's REST management API.
Package webapi is graywolf's REST management API.
docs
Package docs holds the frozen operation-ID registry for the webapi package's OpenAPI spec.
Package docs holds the frozen operation-ID registry for the webapi package's OpenAPI spec.
docs/cmd/idlint command
idlint walks pkg/webapi and pkg/webauth, extracts every @ID value appearing in a top-level function's doc comment (via the Go AST — including `/* */` block comments which a plain grep would miss), and asserts that each value is declared as a string constant in pkg/webapi/docs/op_ids.go.
idlint walks pkg/webapi and pkg/webauth, extracts every @ID value appearing in a top-level function's doc comment (via the Go AST — including `/* */` block comments which a plain grep would miss), and asserts that each value is declared as a string constant in pkg/webapi/docs/op_ids.go.
docs/cmd/tagify command
tagify injects a top-level `tags:` array into the swag-generated OpenAPI 2.0 spec so Swagger UI and downstream generators can render tag groups in a deliberate, curated order instead of alphabetical.
tagify injects a top-level `tags:` array into the swag-generated OpenAPI 2.0 spec so Swagger UI and downstream generators can render tag groups in a deliberate, curated order instead of alphabetical.
dto
Package dto: actions resource shapes.
Package dto: actions resource shapes.
Package webauth provides authentication primitives for the graywolf web UI: password hashing, session tokens, and HTTP middleware.
Package webauth provides authentication primitives for the graywolf web UI: password hashing, session tokens, and HTTP middleware.
Package webtypes holds types shared across web-facing packages.
Package webtypes holds types shared across web-facing packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL