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.
SponsoredWhere does the subscription link come from?Our partner provider gives you 1 GB of high-speed Hong Kong data at signup — import it in one click.Get high-speed nodes

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.

A latency figure tells you how quickly the round trip to one test URL completes. It says nothing about bandwidth. An 80 ms node might cap out at 2 MB/s while a 200 ms one saturates your line. Use automatic groups to sort reachable from unreachable and fast from slow in relative terms, not to find the node that downloads fastest.