Click-build packet-filter rules, then copy the commands and paste them into the repeater console.
✨ Packet-filter engine by gjelsoe · original PR #9
Rules are evaluated top-to-bottom; the first match wins. If none match, the default mode applies.
filter enable <id>
command that activates it. Rule IDs assume the list was cleared first.
Reference for the repeater packet-filter engine. Rules are evaluated top-to-bottom; the first match wins, otherwise the default mode applies.
| Command | Description |
|---|---|
filter mode <allow|drop> | Set the default policy when no rule matches. |
filter add <action> <field> <op> <value> [and <field> <op> <value>] | Create a new filtering rule. |
filter list [page] | Display rules (page is 0-indexed; omit for page 0). |
filter enable <id> | Reactivate a disabled rule. |
filter disable <id> | Temporarily suspend a rule. |
filter del <id> | Remove a rule by its numeric ID. |
filter clear | Delete all rules at once. |
drop | Discard the packet; do not forward. |
allow | Forward the packet normally. |
mode allow | Forward when no rule matches (default at first boot). |
mode drop | Discard when no rule matches. |
Whitelist: mode drop + explicit allow rules. Blacklist:
mode allow + drop rules.
| Field | Meaning | Operators | Notes |
|---|---|---|---|
route | Packet routing type | eq, neq | See route values. |
payload | Payload / message type | eq, neq, gt, lt | Named token or numeric (dec/hex). |
hops | Hops traversed | eq, neq, gt, lt | Integer. |
pathsize | Hash bytes per hop | eq, neq, gt, lt | Range 1–3. |
path | Last-hop repeater hash | eq, neq | Space-separated hex; OR logic. Not allowed as AND field. |
channel | Channel hash byte | eq, neq | Hex (with/without 0x); grptxt/grpdata only. |
snr | Signal-to-noise (dB) | eq, neq, gt, lt | Signed integer. |
rssi | Signal strength (dBm) | eq, neq, gt, lt | Signed integer. |
Operators: eq equals · neq not equals · gt greater
than · lt less than (gt/lt are ignored for
path).
tflood transport flood flood flood direct direct tdirect transport direct
req resp txt ack advert grptxt grpdata anonreq path trace multi ctrl raw (or decimal / 0x.. hex)
path | One or more space-separated hex hashes; each 2, 4, or 6 hex chars (1–3 bytes), all the same length, matching the network hash size. Matches if the last hop equals any listed hash (max 4). |
channel | Single hex byte, e.g. 0xAB or AB. Applies to grptxt/grpdata only. |
snr | Signed whole dB, e.g. -10, 5. |
rssi | Signed dBm, e.g. -110, -90. |
filter add <action> <field> <op> <value> and <field> <op> <value>
path cannot be the AND field (it can be the primary field).| Maximum rules | 8 |
| AND conditions per rule | 1 |
| Path hashes per rule | 4 |
| Path hash size | 3 bytes (2, 4, or 6 hex chars) |
| Rules persistence | /filter_rules.bin |
The rule file has no version field — when upgrading from a build without AND support,
delete /filter_rules.bin and re-enter the rules.
mode:allow rules:6/8 p1/2 0 drop payload eq grptxt 1 drop route eq tflood and hops gt 5 2* drop snr lt -10
del / disable / enable.*) marks a disabled rule.filter add drop payload eq grptxt
filter add drop route eq tflood
filter add drop hops gt 5
filter add drop snr lt -10
filter add drop rssi lt -110
filter add drop path eq AB
filter add drop path eq AB 12 CD
filter add drop channel eq 0xAB
filter add drop channel eq 0x11 and hops gt 8
filter add drop snr lt -10 and rssi lt -100
filter add drop path eq AB and hops gt 4
filter mode drop filter add allow route eq flood
filter mode drop filter add allow payload eq txt and rssi gt -90
filter disable 2 filter enable 2 filter list 1 filter del 1
filter clear filter mode allow