Digipeater
Repeat APRS packets to extend network coverage
A digipeater (digital repeater) receives APRS packets and retransmits them to extend their range across the network. Graywolf’s digipeater supports WIDEn-N, TRACEn-N, and exact callsign matching with priority-ordered rules and duplicate suppression.
Global Settings
| Field | Default | Description |
|---|---|---|
enabled |
false |
Master switch for the digipeater |
my_call |
— | Your callsign (used for preemptive digi and TRACE insertion) |
dedupe_window_seconds |
30 |
Duplicate suppression window. Packets seen within this window are not repeated. |
Digipeater Rules
Rules define what packets to repeat and how. Each rule matches an
alias in the packet’s digipeater path and specifies an action.
Rules are evaluated in priority order (lower number = higher
priority). The first matching rule wins.
| Field | Description |
|---|---|
from_channel |
Input radio channel to match |
to_channel |
Output radio channel for retransmission |
alias |
Path element to match (e.g., WIDE, TRACE, or a callsign) |
alias_type |
widen, trace, or exact |
max_hops |
Maximum N value accepted (default: 2). Packets with higher N are ignored. |
action |
repeat or drop |
priority |
Evaluation order (lower = evaluated first) |
enabled |
Rule active/inactive |
Alias Types
WIDEn-N
The standard APRS digipeater alias. When a packet arrives with
WIDE2-2 in its path, graywolf decrements the SSID to
WIDE2-1 and marks the hop as consumed. When the count
reaches zero, the alias is fully consumed.
Use max_hops: 2 to limit network congestion — packets
requesting more than 2 hops will be ignored.
TRACEn-N
Like WIDEn-N, but inserts your callsign into the path as the packet is repeated. This lets the originating station see which digipeaters handled their packet. Useful for network debugging but uses more bytes in the path.
Exact Callsign
Matches packets that explicitly address your station by callsign in
the digipeater path. This is “preemptive” digipeating —
if someone sends a packet via N0CALL, your station will
repeat it regardless of WIDEn-N rules.
Example Configuration
A typical fill-in digipeater that handles WIDE1-1 only:
| Rule | Alias | Type | Max Hops | Priority |
|---|---|---|---|---|
| Preemptive | N0CALL |
exact |
— | 1 |
| Fill-in | WIDE |
widen |
1 | 10 |
A wide-area digipeater that handles WIDE1-1 and WIDE2-2:
| Rule | Alias | Type | Max Hops | Priority |
|---|---|---|---|---|
| Preemptive | N0CALL |
exact |
— | 1 |
| WIDE | WIDE |
widen |
2 | 10 |
Cross-Channel Digipeating
Rules can route packets between channels. For example, receive on
channel 1 (VHF) and retransmit on channel 2 (UHF) by setting
from_channel: 1 and to_channel: 2.
Duplicate Suppression
The digipeater maintains a sliding window of recently-seen packets.
If a packet with the same source, destination, and info field arrives
within the dedupe_window_seconds window, it is silently
dropped. This prevents packet storms in multi-digipeater environments.
API Reference
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/digipeater/config | Get digipeater settings |
| POST | /api/digipeater/config | Update digipeater settings |
| GET | /api/digipeater/rules | List all rules |
| GET | /api/digipeater/rules/{id} | Get a single rule |
| POST | /api/digipeater/rules | Create a new rule |
| PUT | /api/digipeater/rules/{id} | Update a rule |
| DELETE | /api/digipeater/rules/{id} | Delete a rule |