No matching questions found. Try a different keyword?
Installation & Launch
5 questionsClash Verge Rev requires Microsoft's WebView2 runtime (built into Windows 11; Windows 10 needs a manual install).
How to fix:
- On first install, the app will prompt you to download WebView2 — follow the on-screen instructions.
- If the prompt doesn't appear, go to Microsoft's website, search for "WebView2 Runtime", and download the Evergreen Standalone Installer.
- After installation, re-run the Clash Verge Rev installer.
This is macOS Gatekeeper blocking an app that hasn't been notarized by Apple — it's not a virus warning.
How to fix:
- Open System Settings → Privacy & Security.
- At the bottom, find the blocked app message: "Clash Verge was blocked because it is from an unidentified developer".
- Click "Open Anyway" and confirm to proceed.
Or run in Terminal: xattr -rd com.apple.quarantine /Applications/Clash\ Verge.app, then reopen the app.
Proxy tools are commonly flagged by antivirus software because they intercept network traffic (create virtual adapters, modify system proxy settings). This is a widespread industry false positive, not a real threat.
Recommended steps:
- After downloading from this site, verify file integrity using the SHA256 checksum to confirm the source is trustworthy.
- Add the Clash install directory to your antivirus whitelist (typically
C:\Users\YourUsername\AppData\Local\clash-verge-rev). - In Windows Defender, add an exclusion under Virus & threat protection → Exclusions.
Common causes:
- Architecture mismatch: You downloaded the wrong APK build. Most Android phones since 2016 use ARM64-v8a — if unsure, choose the Universal build.
- Incomplete download: Re-download the APK and verify the file size matches what's listed on the download page.
- OS version too old: Clash for Android requires Android 5.0+; ClashMeta for Android requires Android 5.0+.
Try these steps one by one:
- Clear old config: Old config files may be incompatible with the new version. Delete
%APPDATA%\clash-verge-revon Windows or~/Library/Application Support/clash-verge-revon macOS, then restart. - Run as Administrator/Root: Right-click the app icon → Run as administrator (Windows).
- Check port conflicts: Clash uses ports 7890, 7891, etc. by default. If another program is using them, the app may crash. Run
netstat -ano | findstr 7890(Windows) to check. - Reinstall: Uninstall and reinstall the latest version.
Subscriptions & Config
5 questionsAn empty node list is usually a subscription link issue, not a client problem.
- Verify the link works: Paste the subscription URL into your browser and check if it downloads/opens. If the browser can't access it either, the link has expired or your account has an issue — contact your provider for a new link.
- Check subscription format: Clash clients require Clash YAML format. Some providers offer multiple formats — choose the one labeled "Clash" or "Mihomo".
- Network issue: Downloading the subscription requires network access. If it fails, check your connection or try a mobile hotspot.
Common causes of subscription update failures:
- Updating without proxy enabled: Some subscription links are hosted on servers that may be blocked or unreachable on your network — you need a working node first. Try switching to a mobile hotspot for the initial update.
- Special characters in the link: Extra spaces or line breaks may have been copied. Re-copy the full link from your provider's dashboard.
- Provider server outage: Temporary maintenance on the provider's side — wait and retry later.
- DNS pollution: Enable TUN mode and retry, or configure DoH (DNS over HTTPS) in client settings.
Clash uses YAML config files — you can write a config manually to add nodes directly.
Basic config structure:
proxies:
- name: "My Node"
type: ss
server: example.com
port: 8388
cipher: aes-256-gcm
password: "yourpassword"
proxy-groups:
- name: PROXY
type: select
proxies:
- My Node
rules:
- MATCH,PROXYIn the client, go to Profiles → New → Blank Config, paste the content above, and save.
In the client's Profiles tab, click the profile you want to activate it.
About settings retention:
- Proxy rules: Each profile has its own rules — rules change when you switch profiles. This is expected behavior.
- Global client settings (TUN toggle, port settings, theme, etc.): Stored in the client itself and unaffected by profile switching.
- Manually selected nodes: Saved in the profile — you'll need to re-select after switching.
Right-click the profile in the config list (or click the settings icon), find the Auto Update option, and set the interval in minutes.
Recommended intervals:
- Most users: 1440 minutes (24 hours) — pull latest nodes once daily.
- Frequently changing node pools: 360 minutes (6 hours).
- Avoid intervals under 30 minutes — frequent requests put load on provider servers and may trigger rate limiting or URL bans.
Connection & Proxy
6 questionsLatency tests (ping) and actual proxy traffic take different paths — a normal ping doesn't guarantee the proxy works.
- Check system proxy is enabled: The client main screen should show "System Proxy Enabled", not just the core running.
- Browser proxy conflict: Firefox and some browsers use independent proxy settings. Check that the browser proxy points to the correct local port (usually
127.0.0.1:7890). - Confirm proxy mode: Make sure you're in Rule mode — in Direct mode, all traffic bypasses the proxy.
- Port conflict: Check if port 7890 is in use by another program. Change the port in client settings and retry.
System proxy mode only works for apps that support proxy protocols (most browsers, some apps). Programs that don't (game clients, CLI tools, certain UWP apps, etc.) won't route through Clash.
Solution: Enable TUN mode. TUN creates a virtual network adapter that captures all TCP/UDP traffic, including apps that don't support proxy protocols. See the TUN Mode Guide for details.
The most common cause is Global Proxy mode, which routes all traffic (including sites that should connect directly) through remote nodes, adding latency.
Fix: Switch to Rule mode — direct-route traffic stays direct, and only the rest uses the proxy.
Other possible causes:
- Incomplete rules in the subscription config routing some direct-connection IPs through proxy nodes.
- Poor DNS settings causing all DNS queries to go through the proxy server, adding latency.
Clash's system proxy settings weren't cleared properly on exit, so your system is still trying to send traffic through the stopped Clash port.
Quick fix:
- Reopen Clash, manually turn off the System Proxy toggle, then quit.
- Or: Open system proxy settings (Windows: Settings → Network → Proxy; macOS: System Preferences → Network → Advanced → Proxies) and disable "Use a proxy server".
Prevention: Enable "Close system proxy on exit" in Clash settings.
Several possible causes for latency test timeouts:
- Local network issue: First confirm you can access the internet without proxy. If local network is down, all nodes will time out.
- Provider line outage: Contact your provider to check node status, or visit their status page.
- Test target blocked: Clash defaults to http://www.gstatic.com/generate_204 for latency tests — this may be unreachable on some networks. Change the test URL in client settings to e.g.
http://cp.cloudflare.com/generate_204. - Firewall blocking: Corporate or campus networks may block proxy ports — try a mobile hotspot to test.
IP unchanged means that traffic is still going direct, not through the proxy.
- Check proxy mode: Switch to Global Proxy mode and check an IP lookup site. If the IP changes, it's a rule issue — that site is configured for direct connection.
- DNS leak: Even if HTTP traffic goes through the proxy, DNS queries may still go local, causing some sites to detect your region via DNS. Enable DNS over HTTPS (DoH) or encrypted DNS in your config.
- WebRTC leak (browser only): Browser WebRTC can bypass the proxy and leak your real IP — install a WebRTC leak prevention extension.
Speed & Performance
4 questionsSpeed depends on multiple factors — troubleshoot in this order:
- Switch nodes: Run a speed test and pick the lowest-latency node (usually <100ms). Different regions perform differently — for YouTube, try Japan, Hong Kong, or US nodes.
- Protocol differences: Hysteria2 and TUIC use UDP/QUIC and are much faster than TCP protocols on high-packet-loss networks — use them if your provider offers them.
- Local bandwidth: Confirm your local network isn't throttled. Temporarily disable proxy and run a speed test to check actual local speed.
- Provider plan throttling: Some plans slow down after quota is used — check your usage on the provider dashboard.
Under normal use, Clash core CPU should stay below 5% and memory between 50–150 MB. If significantly higher:
- High connection count: Check the Connections page — normal is dozens of active connections. Apps making frequent connections (e.g. P2P downloads) can be set to REJECT or DIRECT in rules to reduce Clash load.
- Too many rules: Some subscription configs include tens of thousands of rules, increasing lookup overhead. Trim rule sets or use Rule-Provider (rule set files) instead of inline rules.
- TUN mode processing all traffic: TUN mode handles all traffic, so higher CPU usage than normal proxy mode is expected.
- Restart the client: Memory can accumulate over long sessions — a restart helps.
Latency (ping) and throughput (download speed) are different metrics. Low latency only means fast round-trip communication — it doesn't mean high bandwidth.
- Node bandwidth cap: Providers limit per-node bandwidth. When many users share the same node, speed drops — try switching to different nodes.
- QoS throttling: Providers may throttle specific traffic types (streaming, large file downloads).
- Relay line quality: Some nodes route through multiple hops, each a potential bottleneck. Prefer direct nodes (CN2, IEPL, IPLC dedicated lines).
Reliable ways to test speed:
- Fast.com: Netflix's speed test — traffic must go through the proxy to access it, so it tests actual proxy speed.
- Speedtest.net: Test in "use proxy" or Global Proxy mode. Pick a speed test server in the node's region for more accurate results.
- Download a large file: Download a 100MB+ file from a GitHub Releases page and observe actual download speed — the most direct test.
Before testing, confirm proxy mode is set to Global — otherwise test traffic may go direct and results will be inaccurate.
TUN mode
4 questionsTUN mode requires admin privileges to install virtual network adapter drivers. Insufficient permissions or driver issues can cause network disconnection.
Recovery steps:
- Restart the Clash client (if it opens), manually turn off TUN, then quit.
- If Clash won't open: On Windows, go to Device Manager → Network adapters, find the virtual adapter named
MihomoorTUN, and disable it. - On macOS: Open Network preferences and remove virtual interfaces named
utun. - Restarting your computer usually fixes it too.
TUN mode captures all traffic by default, routing LAN traffic through the proxy exit instead of reaching local devices.
Fix: Add LAN IP range direct-connection rules to your Clash config:
rules: - IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT # ... other rules
These rules must be placed before other rules so LAN traffic is routed direct first.
TUN mode captures DNS requests along with network traffic. Misconfigured DNS can cause resolution failures.
- Enable Fake-IP mode: In the config's
dnssection, setenhanced-modetofake-ip— the recommended DNS mode for TUN. - Use reliable DNS: Prefer encrypted DNS (DoH/DoT), e.g.
https://1.1.1.1/dns-queryorhttps://dns.google/dns-query. - Fake-IP filter list: Some intranet domains can't use Fake-IP — add them to the
fake-ip-filterwhitelist.
| Feature | System Proxy | TUN Mode |
|---|---|---|
| Coverage | Apps supporting proxy protocol | All apps and programs |
| Permissions | Regular user | Administrator / Root |
| Performance | Low | Medium (handles all traffic) |
| Best for | Daily browser use | Gaming, development, global proxy |
Rules & Routing
4 questionsAdd custom rules at the top of the rules section in your config — rules match top to bottom by priority:
rules: # Custom rules — placed at top for highest priority - DOMAIN-SUFFIX,example.com,PROXY - DOMAIN-KEYWORD,keyword,PROXY - IP-CIDR,1.2.3.4/32,PROXY # ... rest of existing rules
You can also add rules temporarily on the client's Rules page without editing the config file manually.
If it still fails in global proxy mode, the issue isn't Clash routing — it's the node itself or restrictions on the target site.
- Node IP blocked by target site: Some sites (Netflix, Hulu, etc.) block known datacenter IPs. Switch nodes or contact your provider to confirm streaming unlock support.
- Node region mismatch: Some services require specific region IPs (e.g. Disney+ needs the matching region node for certain content) — switch to the correct region.
- DNS resolution issue: Target domain may be DNS-poisoned, returning wrong IPs — proxy traffic still can't connect. Enable
fake-ipDNS mode or add the domain tonameserver-policyfor trusted DNS resolution.
Yes. Clash's REJECT rules block matching domain requests — similar to uBlock Origin but system-wide (including in-app ads).
Recommended approach — use Rule-Provider to import ad-blocking rule sets:
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
# ... other rulesIn TUN mode or some clients, use PROCESS-NAME rules to route specific processes to different exits:
rules: # Route Steam traffic through game-optimized proxy group - PROCESS-NAME,steam.exe,GameProxy # Route work tools directly - PROCESS-NAME,teams.exe,DIRECT - PROCESS-NAME,zoom.exe,DIRECT # Default - MATCH,PROXY
PROCESS-NAME rules require TUN mode or specific permissions to match — they may not work in standard system proxy mode.