Four group types, four temperaments
select: whatever you click is what gets used, and the core stays out of it. Predictable, at the price that a dead node stays selected until you notice.url-test: tests every member on a timer and uses the fastest. This is the everyday workhorse.fallback: walks your list in order and uses the first one that is alive. It is not comparing speed, only liveness — right for keep using the cheap line, promote the backup when it dies.load-balance: spreads requests across several members, either hashed by session so one site always lands on the same node, or rotated per request. Useful for parallel downloads, less so for sites with a login, which start treating you as suspicious.
Parameters that keep it quiet
proxy-groups:
- name: HK-Auto
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
lazy: true
filter: "(?i)hong ?kong|hk|香港"
use:
- my-provider
url: something small that answers 204. Not a homepage that redirects or rate-limits. It also has to be routed out through the proxy by your rules, otherwise you are timing a direct connection.interval: seconds between tests. 300 is a safe number. Drop it to 30 and a few dozen nodes turn into hundreds of requests a minute — your provider may throttle you, and a laptop pays for it in battery.tolerance: how many milliseconds faster a challenger has to be before the group switches. Leave it out and you get zero tolerance, so two nodes with similar latency trade places endlessly. Somewhere between 50 and 100 is usually enough.lazy: with true, a group with no traffic through it is not tested at all. Any regional group you are not currently using should have this on.filter: a regex that picks members out of the subscription. With a filter in place, nodes your provider adds later join the group by themselves and you never maintain a list.
Groups inside groups
The structure that ages well is two levels. Underneath, three url-test groups each use a filter to collect Hong Kong, Japan and Singapore nodes and test them separately. On top, one select group treats those three groups as its three options. Day to day you only switch region in the top group; which specific node gets used is decided below.
The second benefit is that your rules only ever name one group. Streaming points at Japan-Auto, ad blocking points at REJECT, the catch-all points at the manual group on top. The subscription can change however it likes and the rules stay untouched.
What automatic switching costs
An automatic group only affects new connections. Anything already established stays where it is — the file you are downloading, the video call you are on, an SSH session, all still pinned to the old node. Conversely, when the group switches under you, nothing in flight drops immediately, but the next request leaves through a different exit, and some sites will log you out over exactly that.
So for a meeting, a long download, or anything that needs a stable exit address, temporarily switching to a select group and pinning one node is less trouble. Go back to the automatic group afterwards.