Configuration Featured Clash Beginner Guide Clash vs VPN Proxy Basics

How To Configure Rule Providers In Clash Verge Rev (2026)

August 20, 2026 Updated August 20, 2026 Approx. 12 min read

Why Rule Providers Matter

Clash Verge Rev becomes much more flexible when its rules are separated from the main profile. Instead of placing hundreds or thousands of domain entries directly inside the rules section, you can store a maintained list in a remote file and let the Mihomo core download it as a rule provider. This makes large configurations easier to read, update, troubleshoot, and share across devices.

A rule provider is not the same thing as a proxy subscription. A subscription normally supplies proxy nodes, proxy groups, and a complete profile. A rule provider supplies matching rules such as DOMAIN-SUFFIX,example.com or IP-CIDR,192.0.2.0/24. The provider only describes which traffic should match; your rules section still decides whether that traffic goes to a proxy group, uses DIRECT, or is blocked with REJECT.

This distinction is important in 2026 because many users maintain separate lists for streaming services, work domains, local websites, advertisements, artificial intelligence platforms, or private networks. Once the provider is connected correctly, you can refresh the remote list without manually editing every domain in your profile.

Configuration Goal

Add a valid remote rule provider, reference it from the active profile, refresh the provider, and confirm that matching traffic reaches the intended policy group.

1Prepare the Profile and Provider URL

Before changing anything in Clash Verge Rev, identify the profile that is currently active. Open the client and enter the Profiles page. The active profile is usually marked with a colored indicator, a check icon, or an “Active” label. Rule providers are loaded by a profile, so adding a provider to an inactive YAML file will not change the traffic currently passing through Clash.

You also need a direct URL to the provider file. The URL should return the rule content itself rather than a web page, login form, or shortened-link landing page. A provider may use the classical line-based format or a YAML structure. The format must match the format value in your configuration.

Provider format Typical content Configuration value
Classical One Clash rule per line format: text
YAML A YAML document containing a payload list format: yaml

Check the provider documentation if you are unsure. A classical provider might look like this:

DOMAIN-SUFFIX,example.com DOMAIN-KEYWORD,video IP-CIDR,203.0.113.0/24,no-resolve

A YAML provider generally wraps the rules in a payload list:

payload: - DOMAIN-SUFFIX,example.com - DOMAIN-KEYWORD,video - IP-CIDR,203.0.113.0/24,no-resolve

Use a Trusted Source

A remote provider can influence how your traffic is routed. Use a source you trust, review its contents, and avoid URLs that require personal credentials or change their format without notice.

2Add the Rule Provider to Your Profile

Clash Verge Rev offers different editing workflows depending on the installed version and the profile type. Some builds expose a profile editor, while others make it easier to open the YAML file externally. If the graphical editor does not show a rule-provider panel, edit the YAML directly and preserve the existing indentation.

Place the provider definition at the top level of the profile, aligned with sections such as proxies, proxy-groups, rules, and dns. Do not place rule-providers under rules; they are separate configuration sections.

Create the Provider Definition

The following example defines a provider named my-domains. Replace the URL with your own direct provider address and select the correct format.

rule-providers: my-domains: type: http behavior: domain format: yaml url: https://rules.example.net/my-domains.yaml path: ./ruleset/my-domains.yaml interval: 86400

Each property has a specific role:

  • type: http tells Mihomo to download the provider from a remote HTTP or HTTPS URL.
  • behavior: describes the type of rules. Use domain for domain lists, ipcidr for IP networks, and classical for mixed traditional rules.
  • format: must match the file returned by the URL. Common values are yaml and text.
  • url: is the remote address that Mihomo fetches.
  • path: is the local cache path. The client stores a downloaded copy here so the provider can remain available between refreshes.
  • interval: is the automatic refresh interval in seconds. 86400 means once every 24 hours.

Choose the Correct Behavior

The behavior value should reflect the rules in the provider. A domain provider usually contains entries such as DOMAIN, DOMAIN-SUFFIX, or DOMAIN-KEYWORD. An IP provider contains CIDR ranges. A classical provider can contain several rule types and may include options such as no-resolve.

List purpose Behavior Example rule reference
Domain names only domain RULE-SET,my-domains,PROXY
IP ranges ipcidr RULE-SET,private-networks,DIRECT
Mixed classical rules classical RULE-SET,custom-rules,Proxy

3Connect the Provider to the Rules Section

Defining a provider does not route any traffic by itself. The active profile must reference it inside the rules list. Add a RULE-SET entry and specify the policy that should handle matching requests.

rules: - RULE-SET,my-domains,PROXY - MATCH,DIRECT

In this example, every request matching my-domains is sent to the policy group named PROXY. The final MATCH,DIRECT line is a fallback for traffic that did not match an earlier rule. If your configuration uses a group named Proxy, Global, or Auto instead, use that exact name. Policy names are case-sensitive in practice and must correspond to an existing proxy group.

Place Specific Rules First

Clash evaluates rules from top to bottom and normally stops at the first match. This means rule order can completely change the result. A broad provider placed before a more specific exception may capture traffic that you intended to send directly.

rules: - DOMAIN-SUFFIX,intranet.example.com,DIRECT - RULE-SET,my-domains,PROXY - GEOIP,LAN,DIRECT - MATCH,DIRECT

Here, the internal domain is explicitly routed through DIRECT before the remote provider is checked. If the provider also contains that domain, the exception still wins because it appears first. Keep local network rules, private addresses, and deliberate exceptions above broad remote lists whenever necessary.

Pro Tip: Avoid Duplicate Logic

If the same domain appears in several providers, document which provider should take priority. Otherwise, the first matching provider may make the final behavior difficult to predict.

4Refresh the Profile and Verify the Provider

After saving the YAML, do not assume the new provider is already active. Complete the following practical sequence in Clash Verge Rev.

Hands-on Verification Steps
  1. Return to Profiles and confirm that the edited profile is selected as the active profile.
  2. Use the profile reload, update, or refresh control. If the client asks whether to switch to the updated configuration, confirm the switch.
  3. Open the provider management area, if available, and locate my-domains. Check its status, last update time, and downloaded rule count.
  4. Trigger a manual provider update. A successful result should show a recent timestamp rather than an old cached date or an error message.
  5. Open the Connections or Logs page and visit a domain included in the provider.
  6. Confirm that the connection is assigned to the expected policy group. Then test a domain that is not in the provider to verify the fallback rule.

For a stronger test, choose two domains with clearly different expected outcomes. For example, place one work domain in a provider routed through DIRECT and one external service in a provider routed through PROXY. Watching both connections helps distinguish a provider problem from a general proxy problem.

Remember that browser connections can remain open for some time. A previously established HTTP/2 or WebSocket connection may not create a fresh decision immediately. Close the relevant browser tab, open a private window, or restart the application before drawing conclusions from the connection log.

Understand What the Log Shows

A useful log entry normally includes the requested host, the selected rule or rule provider, and the final policy group. If the log only shows MATCH, an earlier provider rule did not match, the provider was not loaded, or the request was generated for a different hostname than expected.

For domain-based rules, inspect the actual host carefully. An application may contact an API subdomain, a content delivery network, or a third-party authentication host rather than the domain visible in the address bar. In such cases, add the required domains to your provider or choose a maintained list that covers the service's supporting endpoints.

5Troubleshoot Common Provider Failures

Most rule-provider issues come from one of four areas: invalid YAML, an incorrect provider format, an unreachable URL, or a rule that is never reached because of ordering. Check these items systematically instead of changing several settings at once.

YAML and Indentation Errors

YAML uses indentation to express structure. Use spaces rather than tabs and keep child properties consistently indented. A missing colon, an accidental tab, or a provider placed beneath the wrong parent key can prevent the entire profile from loading.

rule-providers: my-domains: type: http behavior: domain format: yaml url: https://rules.example.net/my-domains.yaml path: ./ruleset/my-domains.yaml interval: 86400

If the profile fails after saving, temporarily remove the new provider block, reload the previous working profile, and then add the configuration again line by line. Clash Verge Rev or the Mihomo log will usually identify the approximate line where parsing failed.

Download and Format Failures

If the provider update fails, open its URL in a browser or use a command-line request to inspect the response. A successful response should return the expected rule file, not an HTML error page. HTTP status codes such as 403, 404, or 429 indicate access, URL, or rate-limit problems.

Also compare the returned content with your declaration. A text file declared as yaml may be rejected, while a mixed list declared as domain may parse incorrectly. Change the behavior and format only after confirming what the provider actually contains.

Provider Loads but Does Not Match

A provider can show as successfully downloaded while still failing to match traffic. First, confirm that the RULE-SET name exactly matches the key under rule-providers. Next, verify that the policy group in the rule exists. Finally, check whether another rule appears above it and captures the request first.

Important Distinction

A provider update error and a rule matching error are different problems. First confirm that the file downloads, then confirm that the rule is referenced, and only afterward investigate DNS or proxy connectivity.

6Maintain a Reliable Rule-Provider Setup

Remote lists reduce manual work, but they also introduce an external dependency. Keep your setup predictable by using descriptive provider names, documenting the purpose of each list, and selecting refresh intervals that match how often the source changes. A daily update is reasonable for an actively maintained service list; a rarely changing private-network list may only need a weekly refresh.

Do not add a provider merely because it is large. Very broad lists can increase memory use, slow troubleshooting, and accidentally route unrelated traffic through a proxy. Prefer a focused provider for each task, such as work-domains, streaming-domains, or ads-block. Keep the provider's policy action visible in the rules section so another person can understand the configuration quickly.

Maintenance task Recommended practice
Provider naming Use short names that describe content and purpose.
Refresh interval Balance freshness against server load and unnecessary requests.
Fallback planning Keep a local cached copy and a known working fallback rule.
Security review Inspect changes before trusting a new or unfamiliar source.

Keep a backup of the working profile before making structural changes. When a provider source changes format or disappears, you can restore the backup, remove the affected reference, and keep the rest of your proxy groups and DNS settings intact. Advanced users may also maintain a small local provider for personal exceptions while using remote providers for frequently updated lists.

With the provider defined, referenced in the correct order, and verified through the connection log, Clash Verge Rev can manage large domain collections without turning the main profile into an unmaintainable block of rules. The same method works with other Mihomo-compatible clients, although menu names and provider-management screens may differ.

Download Clash for Free – Get Started Now →