--- icon: material/new-box --- # Source Format !!! quote "Changes in sing-box 1.10.0" :material-plus: version `2` !!! question "Since sing-box 1.8.0" ### Structure ```json { "version": 2, "rules": [] } ``` ### Compile Use `sing-box rule-set compile [--output .srs] .json` to compile source to binary rule-set. ### Fields #### version ==Required== Version of rule-set, one of `1` or `2`. * 1: Initial rule-set version, since sing-box 1.8.0. * 2: Optimized memory usages of `domain_suffix` rules. The new rule-set version `2` does not make any changes to the format, only affecting `binary` rule-sets compiled by command `rule-set compile` Since 1.10.0, the optimization is always applied to `source` rule-sets even if version is set to `1`. It is recommended to upgrade to `2` after sing-box 1.10.0 becomes a stable version. #### rules ==Required== List of [Headless Rule](./headless-rule.md/).