Rule-based Routing
Rule-based routing
Rule-based routing directs connections to a direct, reject, or specified proxy group action based on domains, IPs, ports, or other conditions. In rule mode, rules are usually checked from top to bottom, and the first match determines the action. More specific rules generally belong above broader ones. If a website uses an unexpected route, check the connection log to see which rule matched before changing the order. Simply switching nodes may not change the routing result.
How to manage rules →
Proxy Group / proxy-groups
Proxy groups
A proxy group organizes nodes or other groups under a name that rules can reference. The group type determines how options are selected: select lets you choose manually, url-test selects based on configured tests, and fallback uses available options in order. The group name in a rule must match the configuration. Test results apply only to the configured target and network conditions at the time of testing.
DOMAIN-SUFFIX
Domain suffix rules
DOMAIN-SUFFIX matches a specified domain and its subdomains. For example, DOMAIN-SUFFIX,github.com,PROXY can match github.com and its subdomains, provided the configuration includes a PROXY group. This is not a general substring match: an unrelated domain containing the same text will not match just for that reason. To match one exact domain, use DOMAIN.
GeoIP / GEOIP
GeoIP
GeoIP matches connections by the geographic category associated with an IP address in a database. For example, GEOIP,CN,DIRECT sends matching destinations direct. Results depend on the actual destination IP and the local database, not company registration, or visitor location. Websites using a CDN may resolve to different addresses; if routing looks wrong, check both the DNS result and database updates.
MATCH
MATCH catch-all rule
MATCH has no additional domain or IP condition and catches connections that did not match earlier rules. It is usually placed on the last line of rules. MATCH,PROXY sends remaining traffic to the group named PROXY; it does not automatically pick a particular node. If placed earlier, it will usually prevent later rules from handling those connections.