Clash Remote Work Setup: Smooth Zoom, Slack & Meet Calls

A focused Clash workflow for remote teams using Zoom, Slack, and Google Meet. Set up targeted routing, select responsive nodes, and keep domestic traffic direct for smoother calls and less unnecessary proxy usage.

What a Good Remote-Work Clash Setup Should Do

Video calls and chat applications do not need every connection on a computer to use the proxy. A better remote-work setup sends collaboration traffic through a responsive proxy group, keeps mainland China traffic direct, and leaves local services, printers, file shares, and office resources on the local network. This reduces unnecessary proxy bandwidth and gives real-time traffic a more predictable path.

The target is not simply “turn on the proxy.” A call can still freeze while a web page loads normally because meetings depend on several connection types at once. Sign-in pages and team messages usually use HTTPS over TCP, while audio, video, and screen sharing may prefer UDP. Some clients also use auxiliary domains for authentication, telemetry, file uploads, notifications, and link previews. If only one hostname is routed, part of the application may still be taking a different path.

Clash makes the decision through ordered rules. Every connection is checked from top to bottom, and the first matching rule selects an outbound. DIRECT sends traffic through the local network, while a proxy group such as WORK sends it through the selected node. A final MATCH rule catches anything not covered earlier, so its outbound should be chosen deliberately rather than left as an accidental default.

  • Work applications: route the verified collaboration domains and, where necessary, their media traffic through a dedicated proxy group.
  • Mainland traffic: keep domestic domains and addresses on DIRECT to avoid adding latency to ordinary browsing and local services.
  • Private networks: keep loopback, private LAN ranges, and office subnets direct so printers, NAS devices, and internal dashboards remain reachable.
  • Everything else: use a general policy that fits your normal browsing pattern, then verify that it does not unexpectedly override the work rules.

Routing improves the path, but it cannot repair a poor node

A node with high latency, packet loss, unstable UDP support, or limited bandwidth will produce bad calls even when the rules are correct. Treat rule design and node selection as two separate tasks: first make sure the right traffic reaches Clash, then select a node that responds well under real call conditions.

Identify the Traffic That Meetings Actually Need

Before editing YAML, separate the traffic into functional groups. This prevents a common mistake: adding one broad keyword rule that catches unrelated websites, update services, or file downloads and forces all of them through the same proxy.

Traffic category Typical transport Recommended policy What to verify
Account login and meeting control HTTPS over TCP WORK Login completes and the meeting room opens without repeated redirects
Audio, camera, and screen sharing UDP preferred, TCP fallback WORK when the node and client support it Call quality, packet loss, and whether the client falls back to a relay
Chat, presence, and notifications HTTPS or long-lived connections WORK for reliable delivery Messages arrive promptly after the client has been idle
Domestic browsing and local services TCP, UDP, or local LAN DIRECT Domestic sites remain fast and office devices remain reachable
Large recordings and file transfers HTTPS or object-storage connections Choose based on location and bandwidth Whether the transfer consumes the same node capacity as the call

Use the client log as the source of truth instead of copying a random domain list from an old configuration. Start the chat or meeting client, sign in, join a test room, toggle the camera, share a screen, send a message, and upload a small test file. Filter the Clash log by the destination host and note which connections are rejected, timing out, or selecting the wrong policy.

Do not rely on DOMAIN-KEYWORD unless there is no narrower option. A keyword such as meeting may match an unrelated service, while a suffix rule targets a domain and its subdomains. If a vendor uses several independent domains, create a small rule-provider or a controlled list rather than guessing from the visible app name.

Also remember that domain rules may not be available when an application connects directly to an IP address. Domain sniffing can recover a hostname from TLS SNI or an HTTP Host header, but it cannot reconstruct every encrypted or unusual flow. If the client uses a fixed media address, a rule-set supplied by the service or a process-based rule on desktop may be more appropriate. Process matching is not equally available in every GUI, kernel, or mobile environment, so confirm support before depending on it.

Build a Dedicated Work Policy Group

A dedicated policy group is easier to troubleshoot than sending collaboration traffic directly to a general-purpose group. It also lets you switch nodes without editing every rule. The group can be a manual selector for deliberate testing, or a url-test group that measures a health URL and chooses the lowest measured delay. The measured delay is only a reachability indicator; it is not a guarantee of good video quality, because it does not fully represent jitter, congestion, or UDP performance.

For a manual workflow, create a group with a clear name such as WORK. Include several candidate proxies and a DIRECT option only if you intentionally want to test direct access. Avoid using DIRECT as an automatic fallback for a meeting policy unless the service works reliably on the local network; otherwise a failed proxy can silently turn into a poor direct path.

A simplified structure looks like this. The names are deliberately illustrative: replace the proxy names and example domains with entries from your own configuration and the domains confirmed in the Clash log.

proxy-groups:
  - name: WORK
    type: select
    proxies:
      - Work-Node-A
      - Work-Node-B
      - Work-Node-C
      - PROXY

rules:
  - DOMAIN-SUFFIX,video-work.example,WORK
  - DOMAIN-SUFFIX,team-chat.example,WORK
  - DOMAIN-SUFFIX,meeting-auth.example,WORK
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

The example demonstrates ordering, not a universal service list. Put specific collaboration rules before broad domestic rules only when the collaboration service has a domain that would otherwise be classified incorrectly. Put private-network rules near the top if your profile does not already include them. A typical local section might include IP-CIDR,127.0.0.0/8,DIRECT,no-resolve, IP-CIDR,10.0.0.0/8,DIRECT,no-resolve, IP-CIDR,172.16.0.0/12,DIRECT,no-resolve, and IP-CIDR,192.168.0.0/16,DIRECT,no-resolve. Do not add these ranges blindly if your organization uses a different private address plan; check the actual office network.

GEOSITE,cn and GEOIP,CN require suitable rule data and a compatible mihomo kernel. The domain category is usually preferable for domain-based connections, while the IP category is a fallback for connections that arrive as addresses. Keep GEOIP,CN after domain rules and include no-resolve only where you understand the DNS implications. If your provider already supplies a complete rule section, duplicate rules can make the profile difficult to reason about.

Do not put a broad MATCH rule above work rules

MATCH,PROXY matches everything that reaches it. If it appears before the collaboration entries, the later entries are unreachable. The same problem occurs when a broad DOMAIN-KEYWORD rule is placed above a more precise DOMAIN-SUFFIX rule. Review the list from top to bottom, not as an unordered collection.

Hands-On Workflow: Configure, Test, and Adjust

Make one controlled change at a time. This is especially important when using Clash Verge, Clash Verge Rev, Clash for Windows, ClashX, Clash for Android, or another mihomo-based client, because the menu names differ even though the kernel behavior is similar.

  1. Back up the active profile. Export or duplicate the configuration before changing proxy groups, rules, DNS, or TUN settings. If the profile is subscription-managed, edit a local override or use the client's supported script and rule-provider mechanism instead of modifying a generated file that will be overwritten at the next update.
  2. Confirm the kernel. Check that the selected core supports the syntax you intend to use, such as GEOSITE, rule providers, TUN, or process matching. A GUI name does not prove that the active core has those features enabled.
  3. Create or locate the work group. Add two or three responsive nodes to WORK. Keep the group small enough that manual testing is clear, and avoid selecting a node solely because its displayed latency is the lowest.
  4. Add narrow domain rules. Begin with the login, control, chat, and meeting domains observed in the log. Use DOMAIN-SUFFIX where appropriate, and avoid broad keywords. Save the configuration and reload the profile.
  5. Test the web workflow. Open the collaboration service, sign in, enter a test meeting, send a message, and open a shared link. In the Clash connection view, confirm that the expected hosts select WORK rather than DIRECT or the general proxy group.
  6. Test media separately. Turn on the microphone and camera, share a window, and run a call for at least five minutes. Observe whether the connection uses UDP, falls back to TCP, or opens a relay connection. If media is failing while login works, the missing traffic is probably not covered by the first domain list.
  7. Test domestic and LAN traffic. Open a known domestic service, access a local router or office resource, and connect to a printer or file share. These should remain direct unless your organization's network policy requires another path.
  8. Record the result. Note the selected node, approximate latency, whether the call was stable, and any connection errors. Change only the node or only the rule set in the next test so the cause of an improvement is identifiable.

During testing, use Clash's connection panel and logs together. A rule hit confirms the selected policy, but it does not prove that the application received a good route. Conversely, a smooth browser login does not prove that the media path is stable. A useful test covers the entire session lifecycle, including authentication, call negotiation, active media, screen sharing, chat, and disconnect.

Select Nodes for Calls, Not Just for Browsing

Interactive calls are sensitive to variation. A node with a slightly higher average latency can feel better than a faster-looking node if it has lower jitter and fewer retransmissions. Test from the same network and at the same time of day when comparing candidates, because residential and shared server routes may change significantly during busy hours.

Observation Likely cause Adjustment
Login is fast, but voices break up UDP loss, unstable route, or overloaded node Try another node and check UDP support; do not judge by TCP page speed alone
Video freezes when screen sharing starts Upload capacity or relay path is insufficient Use a node with more stable upstream bandwidth and reduce competing uploads
Chat messages arrive late after idle time Long-lived connection was interrupted or routed inconsistently Check all chat and notification hosts, then test a more stable node
Only one application fails Missing domain, unsupported protocol, or application-specific proxy behavior Inspect logs and compare system proxy, TUN, and application proxy settings
Every call is poor while all nodes behave similarly Local Wi-Fi congestion, ISP packet loss, or insufficient upload speed Test Ethernet or another network before adding more Clash rules

Keep one reliable node as a known-good baseline. Automatic groups are useful for convenience, but they can switch nodes during a workday and make a call drop at the worst moment. For scheduled meetings, select a tested node manually or use a group whose health checks are conservative. If the profile supports url-test, use a stable test target and a reasonable tolerance so small latency differences do not cause frequent switching.

TUN, System Proxy, and DNS: Avoid Split Paths

System proxy mode handles applications that respect the operating system's HTTP or SOCKS settings. It does not automatically capture every desktop process, UDP flow, DNS request, or application with its own network stack. This is why a browser may work while a meeting client cannot connect, or why sign-in succeeds but microphone and screen-sharing negotiation fails.

For broader coverage, enable TUN in a mihomo-based client when your operating system and permissions allow it. TUN creates a virtual network interface and lets the kernel capture traffic that would bypass an ordinary system proxy. Enable only the features you need, such as auto-route and interface detection, and approve the required administrator or VPN permissions. On mobile, the VPN permission prompt is part of the normal setup; on desktop, firewall and privileged-helper prompts may also appear.

TUN is not automatically better in every environment. It can affect local routes, corporate VPN clients, virtual machines, games, and enterprise security software. If an office resource becomes unreachable, inspect the route and add a precise direct rule or bypass rather than turning on multiple VPN and proxy products at the same time.

DNS must follow the same design. If Clash routes an application connection through WORK but the hostname is resolved locally, the returned address may be wrong or may lead the application to choose a different endpoint. A mihomo DNS configuration with an appropriate enhanced mode, nameserver policy, and DNS hijack behavior can keep resolution consistent with routing. Avoid changing several DNS settings at once; first confirm whether the active client is actually handling DNS, then verify the result in the Clash log.

A stable call needs one coherent path

The practical sequence is: application request enters the selected capture mode, DNS resolves through the intended Clash path, rules choose the work group, and the node carries both control and media traffic consistently. When one of these layers bypasses the others, troubleshooting becomes much harder.

Common Failure Patterns and Safe Fixes

Login Works, but Audio or Video Fails

This usually means the visible web domains are covered but media negotiation is not. Check the connection log while starting a call, enabling the camera, and sharing a screen. Look for newly appearing hosts, UDP attempts, failed connections, and fallback behavior. Add only verified service domains to the work policy. If the application connects directly to IP addresses, domain rules alone may not be enough; TUN capture, supported process rules, or the provider's maintained rule set may be required.

The Call Drops When the Node Changes

A proxy group can change its active member when a health check reports a different result. That is acceptable for ordinary browsing but disruptive for a long-lived meeting. Select a stable node manually for important calls, or increase the group's tolerance and avoid aggressive switching. Do not interpret a temporary health-check failure as proof that every active connection should be migrated immediately.

Domestic Traffic Became Slow

Look for the position of the domestic rules and the final catch-all. A broad proxy rule above GEOSITE,cn,DIRECT will capture domestic domains first. Also check whether TUN is routing local subnets into the proxy and whether the DNS policy is returning an endpoint that does not match the intended region. Restore the local-network rules near the top, then retest one domestic service and one LAN resource.

Several VPN or Proxy Tools Are Running

Running Clash together with another VPN, a browser proxy extension, or a corporate tunnel can create competing routes and DNS handlers. Disable the extra tool during diagnosis, then reintroduce it only if the required split-tunnel design is understood. A clean test environment gives more useful logs than repeatedly changing rules while three different programs intercept traffic.

Remote work is most reliable when the configuration stays narrow and observable. Keep a backup profile, document which domains were added and why, update rule providers carefully, and retest after a client, kernel, operating-system, or subscription change. If you need a platform-specific installation walkthrough, view the tutorial; for a maintained client build, go to downloads.

Download the Clash Client

Rule-based routing needs a client to take over traffic first. Head to the download hub, pick a client for your platform, then come back to this guide to finish setting up system proxy or TUN takeover.

Download Clash