3.3 KiB
!!! quote "Changes in sing-box 1.14.0"
:material-plus: [http_client](#http_client)
:material-delete-clock: [download_detour](#download_detour)
:material-alert: [tag](#tag)
:material-plus: [initial_path](#initial_path)
!!! quote "Changes in sing-box 1.10.0"
:material-plus: `type: inline`
rule-set
!!! question "Since sing-box 1.8.0"
Structure
=== "Inline"
!!! question "Since sing-box 1.10.0"
```json
{
"type": "inline", // optional
"tag": "",
"rules": []
}
```
=== "Local File"
```json
{
"type": "local",
"tag": "", // or []
"format": "source", // or binary
"path": ""
}
```
=== "Remote File"
!!! info ""
Remote rule-set will be cached if `experimental.cache_file.enabled`.
```json
{
"type": "remote",
"tag": "", // or []
"format": "source", // or binary
"url": "",
"initial_path": "",
"http_client": "", // or {}
"update_interval": "",
// Deprecated
"download_detour": ""
}
```
Fields
type
==Required==
Type of rule-set, local or remote.
tag
==Required==
Tag of rule-set.
!!! question "Since sing-box 1.14.0"
`tag` also accepts a list of tags to define multiple rule-sets sharing other options at once.
The `{tag}` placeholder in `path`, `url` or `initial_path` is replaced by each tag,
and is required when multiple tags are set.
Multiple tags conflict with `type: inline`.
Inline Fields
!!! question "Since sing-box 1.10.0"
rules
==Required==
List of Headless Rule.
Local or Remote Fields
format
==Required==
Format of rule-set file, source or binary.
Optional when path or url uses json or srs as extension.
Local Fields
path
==Required==
!!! note ""
Will be automatically reloaded if file modified since sing-box 1.10.0.
File path of rule-set.
Remote Fields
url
==Required==
Download URL of rule-set.
initial_path
!!! question "Since sing-box 1.14.0"
File path of the initial rule-set content.
Read once at startup when no cached rule-set is available, so startup is not blocked by the initial download. The rule-set is still updated in the background immediately after startup.
http_client
!!! question "Since sing-box 1.14.0"
HTTP Client for downloading rule-set.
See HTTP Client Fields for details.
When empty, the default HTTP client is used: the one named by
default_http_client, or the first top-level
http_clients entry when default_http_client is empty.
!!! failure "Implicit default deprecated in sing-box 1.14.0"
When neither `http_clients` nor `default_http_client` is configured, an implicit HTTP
client connecting through the default outbound is used. This implicit default is
deprecated in sing-box 1.14.0 and will be removed in sing-box 1.16.0; define
`http_clients` instead.
update_interval
Update interval of rule-set.
1d will be used if empty.
download_detour
!!! failure "Deprecated in sing-box 1.14.0"
`download_detour` is deprecated in sing-box 1.14.0 and will be removed in sing-box 1.16.0, use `http_client` instead.
Tag of the outbound to download rule-set.