Policy Group

A policy group may contain multiple policies. It can be a proxy policy, another policy group or a built-in policy (DIRECT and REJECT).

There are five group types: select, url-test, fallback, load-balance and ssid. Section [Proxy Group] declares policy group. The type smart is also accepted and is treated as url-test.

Manual Select Group

Select which policy will be used on the user interface.

SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT

Optional parameters: default=<index> (initially selected member index), policy-provider:Name (import members from a proxy provider), filter= / exclude-filter= (regexes applied to provider-supplied members), and HIDDEN=true.

In iOS version. You may use Today Widget to quickly switch policy for the first 'select' group. In macOS version. You may switch the policy in the menubar menu.


Auto URL Test Group

Automatically select which policy will be used by benchmarking the latency to an URL.

AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204

Parameters

url: Optional

Chute will send an HTTP GET request to the URL. The test only cares about whether receiving a response data, even if the response is a HTTP error. When omitted, the default probe URL http://www.gstatic.com/generate_204 is used.

interval: Optional, s (Default: 600s).

How often the policies are retested. A global 1-second timer drives automatic retests every interval seconds, whether or not the policy group is being used. There are two exceptions: a group with lazy=true does not start testing until it is first used, and testing pauses while the group stays idle for longer than idle-timeout.

tolerance: Optional, ms (Default: 100ms).

Policy will be changed only when the new winner has a higher score than the old winner's score plus the tolerance.

timeout: Optional, s (Default: 5s).

Abandon a policy if not finished in timeout.

lazy: Optional (true/false, Default: false).

When enabled, policies are only tested on first use rather than on startup.

max-failed-times: Optional (Default: 0, disabled).

Number of consecutive test failures after which a policy is considered unhealthy. This option is only effective for load balance groups, where unhealthy policies are excluded from selection. For url-test and fallback groups the failure count is tracked but does not affect selection. When unset (0), test failures never exclude a policy.

expected-status: Optional (Default: empty).

expected-status=204

Reserved. Parsed but not effective in the current kernel — a test succeeds as soon as any response data is received, regardless of the status code.

idle-timeout: Optional, s.

idle-timeout = 120

When the policy group has not been used (no new connection drew a policy from it) for longer than this duration, the periodic URL tests are paused. Testing resumes once the group is used again. No connections are ever closed by this option.

Also supported: HIDDEN=true, filter=, exclude-filter=, policy-provider:Name.


Fallback Group

Select an available policy by priority. The availability is tested by accessing an URL, just like an auto URL test group. The policy defined in the front has a high priority.

FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204

Parameters

url: Optional

Specify which URL will be tested. When omitted, the default probe URL http://www.gstatic.com/generate_204 is used.

interval: Optional, s (Default: 600s).

How often the policies are retested. Same semantics as the Auto URL Test Group.

timeout: Optional, s (Default: 5s).

Abandon a policy if it is not finished until timeout.

lazy / max-failed-times: Optional.

Same as the Auto URL Test Group. Also supported: HIDDEN=true, filter=, exclude-filter=, policy-provider:Name.


SSID Group

Select a policy according to the current Wi-Fi SSID.

SSIDGroup = ssid, default = ProxyHTTP, cellular = ProxyHTTP, SSIDName = ProxySOCKS5

Parameters

default: Required.

The policy when no matched SSID option has been found.

cellular: Optional.

The policy under cellular network. If not provided, the default policy will be used.

At least one SSID mapping (e.g. SSIDName = ProxySOCKS5) is required in addition to default.


Load Balance Group

Distribute requests across multiple proxies using a load balancing strategy.

LBGroup = load-balance, ProxySOCKS5, ProxyHTTPS, url = http://www.google.com/generate_204, strategy = round-robin

Parameters

strategy: Optional (Default: round-robin)

Specify the load balancing strategy:

Strategy Description
round-robin Distribute requests evenly across all proxies in turn
consistent-hashing Route the same hostname consistently to the same proxy
sticky-sessions Keep reusing the last selected proxy for all connections; the sticky choice is global (not per-client) and expires 600 seconds after it was made

url: Optional

url = http://www.google.com/generate_204

Chute will send an HTTP GET request to test proxy availability. When omitted, the default probe URL http://www.gstatic.com/generate_204 is used. Test results only affect selection when max-failed-times is greater than 0; with the default 0, unhealthy proxies are not excluded.

interval: Optional, s (Default: 600s).

interval = 300

How often to re-test proxy availability.

timeout: Optional, s (Default: 5s).

timeout = 3

Timeout for the availability test request.

lazy: Optional (true/false, Default: false).

Same as the Auto URL Test Group: testing does not start until the group is first used.

max-failed-times: Optional (Default: 0, disabled).

max-failed-times = 3

Number of consecutive test failures after which a proxy is marked unhealthy and excluded from load balancing. With the default 0, test results never exclude a proxy. If every proxy is unhealthy, all proxies are used again.

HIDDEN: Optional (true/false, Default: false).

HIDDEN = true

When enabled, the policy group is hidden from the user interface. The key is conventionally written in uppercase, but it is matched case-insensitively, so hidden=true also works. Also available on select, url-test, and fallback groups.

Note: The interrupt-exist-connections parameter is now a global [General] setting. See Misc Options.


Proxy Provider

Proxy providers allow you to import proxy lists from external sources (files or URLs). Defined in the [Proxy Provider] section:

[Proxy Provider]
MyProvider = url=https://example.com/proxies.yaml, interval=3600

Parameters

Parameter Required Description
type No http (default), file, or inline
url Yes for type=http URL to fetch proxy list from
path Yes for type=file Local file path for proxy list
interval No Update interval in seconds (Default: 86400). A value of 0 or less disables automatic refresh
format No Payload format. The value is parsed, but conversion currently always uses the mihomo-YAML converter regardless
filter No Filter regex to include only matching proxy names
exclude-filter No Filter regex to exclude matching proxy names

The payload must be a mihomo-style YAML document with a proxies: (or payload:) list.

Proxy providers are referenced from policy groups with the policy-provider: prefix:

[Proxy Group]
MyGroup = select, policy-provider:MyProvider
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 11:57:36

results matching ""

    No results matching ""