Custom rules
Custom rules let you say “this domain goes Direct / Proxy / Reject” without editing your subscription. They are stored on your device, separately from the subscription, so they survive refreshes and apply whichever subscription you switch to.
Where they apply
Section titled “Where they apply”- Only in Rule mode. In Global and Direct mode, the outbound is fixed and rules are not consulted at all. The app reminds you of this when you create a rule while in another mode.
- Before your subscription’s rules. Custom rules are checked first, top to bottom; the first one that matches wins. If none matches, rules from enabled HTTPS decryption modules (if any) and then the subscription’s own rules are used as usual.
- After the bypass list. Entries in the bypass list (Traffic control) go direct before any rule is consulted, in every mode.
- For new connections. Changes are pushed to the running engine immediately, but connections that are already open keep their route. Close them on the Activity tab, or reload the page, to see the effect.
Matching
Section titled “Matching”| Match | Shown as | Matches |
|---|---|---|
| Include subdomains | DOMAIN-SUFFIX,example.com |
example.com and every subdomain, such as www.example.com and api.cdn.example.com |
| This domain only | DOMAIN,example.com |
Exactly example.com |
| IP | IP-CIDR,192.0.2.1/32 (IPv6: IP-CIDR6,.../128) |
Connections whose destination is exactly this IP address. MeowX does not resolve domains to check it (no-resolve) |
Input is cleaned up for you: you can paste a whole URL such as https://www.example.com:8443/path?x=1 and MeowX keeps only www.example.com. Letters are lowercased and a trailing dot is removed.
Not supported: wildcards (*.example.com, +.example.com), IP ranges (10.0.0.0/8) and IPv6 addresses with a zone (fe80::1%en0). For ranges, use the bypass list (direct only) or your own subscription rules.
Actions
Section titled “Actions”| Action | Effect |
|---|---|
| Direct | Connect directly, without a proxy |
| Proxy | Go through your subscription’s main proxy group |
| Reject | Block the connection |
“Proxy” deliberately does not store a group name, so the rule keeps working after you switch subscriptions. The main proxy group is chosen as follows:
- The proxy group that the subscription’s final
MATCHrule points to. - If
MATCHpoints toDIRECT, a single node, or nothing usable: the firstselectgroup. - Otherwise a group named
GLOBAL, otherwise the first group.
The app shows the result, for example Proxy (Node Select). If the current subscription has no proxy groups at all, it shows “Proxy (current subscription has no proxy group)” and such rules are skipped until you use a subscription that has one.
Creating rules
Section titled “Creating rules”From a connection (quickest)
Section titled “From a connection (quickest)”- Open the Activity tab and tap a connection (Mac: open the panel’s Connections tab and hover over a connection to show its details).
- Under Route this domain (or Route this IP), choose Include subdomains or This domain only.
- Tap Direct, Proxy or Reject.
The details also show the current rule for that host, if any, with a Delete button.
From settings
Section titled “From settings”- Go to Me › Traffic control › Custom rules.
- Tap Add rule.
- Enter a domain or IP (“Domain or IP, e.g. example.com”). For a domain, choose the match type; for an IP, the app shows “This is an IP, matching by IP”.
- Choose the action and tap Save.
Tap a rule to edit it (or Delete rule at the bottom of the editor). Swipe left on a rule to delete it.
- Open the panel’s Settings tab and choose Overrides › Custom rules.
- Type a domain or IP into the field (pasting a URL works), pick the match type and action, and click Add.
Click an existing rule to edit it; the form switches to Edit with Save and Cancel. The minus button on a row deletes it.
Order and limits
Section titled “Order and limits”- The list order is the matching order, and new rules are added at the top. Rules you add later tend to be more specific, so they should be checked first.
- There is at most one rule per match type and value. Adding a rule for the same domain and match type again updates the existing rule instead of adding a second one. Done from a connection’s details, it also moves that rule to the top; done from the settings list, it stays where it is.
- There is no drag-to-reorder. To move a rule to the top, set it again from a connection’s details, or delete it and create it again.
- Up to 1,000 custom rules.
Seeing them in action
Section titled “Seeing them in action”- On the Activity tab, a connection matched by your rule shows the rule with a “(user rule)” suffix, for example
DOMAIN-SUFFIX,example.com (user rule). - On the Mac panel’s Rules tab, your custom rules are listed first, labeled User rule, with their hit counts.
