Skip to main content
Extensions: .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.
List fields such as 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

  1. force (stop processing this field if present)
  2. start
  3. Replace with the plain key, or keep the original list
  4. end
  5. merge

Examples

append-rules.yaml
patch-dns.yaml
rules-head-tail.yaml
hosts-and-dns.yaml
literal-key.yaml
Last modified on July 24, 2026