.yaml / .yml. The top-level value must be an object. Empty files are skipped with a warning; an unknown extension causes compilation to fail.
Field modifiers
A key suffix determines how the field is written. The parser removes the suffix first to obtain the base field name.scalar | object | array
Default behavior.
- Scalars: overwrite
- Objects: merge recursively
- Arrays: replace the entire list
array
Insert at the beginning of the target list.
array
Append to the end of the target list.
object
Recursively merge the map while preserving existing target keys.
any
Replace the entire field without merging.
any
Literal field name. Wrapping a key in angle brackets disables modifier-suffix parsing.
rules, proxies, and proxy-groups support -start / -end. Object lists whose entries have a name are deduplicated by name; the last entry with the same name is kept.
Order when one field has multiple modifiers
force(stop processing this field if present)start- Replace with the plain
key, or keep the original list endmerge
Examples
append-rules.yaml
patch-dns.yaml
rules-head-tail.yaml
hosts-and-dns.yaml
literal-key.yaml
