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. |
|
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. |
Click to show internal directories.
Click to hide internal directories.