LAB RECORD 01

Understand the Four Stages of Initial Setup

After installing a Clash client, no single switch determines whether network traffic works as expected. Successful setup depends on four stages: configuration, policy selection, traffic capture, and system permissions. The configuration supplies proxies, policy groups, rules, and DNS settings. Policy selection determines the active proxy or outbound route. Traffic capture controls which application connections enter Clash. System permissions determine whether the client can change proxy settings, create a virtual network interface, or continue running in the background.

For a first-time setup, follow a fixed order: verify that the client matches the operating system, launch it and handle permission prompts, import a subscription or local configuration, choose a proxy mode and policy group, and only then enable the system proxy or TUN. This sequence gives each step a clear checkpoint. If no policy groups appear after import, inspect the configuration. If policy groups appear but the browser bypasses the proxy, check the system proxy. If the browser works but a game or command-line tool does not, determine whether that program ignores the system proxy and whether TUN is needed.

Setup Stage Purpose Expected Result
Import configuration Load proxies, policy groups, rules, and DNS settings A new entry appears in the configuration list, and policy groups appear on the Proxies page
Select a policy Choose the proxy or nested policy currently used by a policy group The policy group shows a clearly selected option
Choose a mode Process connections using rules, global proxying, or direct access Logs show the matching rule or destination policy
Capture traffic Receive connections through the system proxy, VPN interface, or TUN Requests from the target application appear on the Connections or Logs page
LAB RECORD 02

Check the OS Version, Installer, and Existing Proxy State Before Launch

Match the client download to both the operating system and processor architecture. Windows devices commonly use x64 or ARM64. Most recent Intel and AMD PCs use x64, while devices with Qualcomm or other ARM processors may require ARM64. On macOS, distinguish between Apple silicon and Intel; some clients offer a universal installer, while others publish separate builds. Android packages may also be divided into arm64-v8a, armeabi-v7a, and x86_64 variants. Choosing the wrong architecture typically prevents the installer from opening, triggers an incompatibility warning, or leaves the core unable to run after installation.

Before the first launch, check for other proxies, VPNs, network filters, or stale system proxy settings. Desktop operating systems generally allow only one application to manage the same system proxy settings reliably, while mobile operating systems usually permit only one VPN-type connection at a time. If an older tool still occupies a virtual adapter, VPN slot, or local listening port, Clash may report a port conflict, fail to create a network interface, or turn a switch off automatically.

After closing the old client, do not rely on the window disappearing. Confirm that its background process has exited and that the system proxy has been reset. A common leftover state is a system proxy still pointing to an old port on 127.0.0.1 after the corresponding program has stopped; the browser will then report that it cannot connect to the proxy server. If a proxy address was entered manually, clear it temporarily and let the new Clash client manage the setting.

Common Permission Prompts on First Launch

  • Windows: The firewall may ask whether to allow network access. Installing service mode or enabling TUN may require administrator privileges.
  • macOS: Administrator approval is required when changing system network settings, installing a helper service, or creating a network extension.
  • Android: Enabling traffic capture triggers a VPN connection request. Some devices also display prompts for background operation or battery management.
  • iOS and iPadOS: A compatible client requires approval to add a VPN configuration the first time it creates a local VPN.

Each permission enables a different capability. Allowing firewall access does not enable the system proxy, and granting administrator privileges does not automatically route every connection through TUN. Respond to prompts as needed for the current step; there is no reason to enable every advanced option before importing a configuration.

LAB RECORD 03

Import a Subscription or Local Configuration and Verify Its Contents

A usable Clash configuration usually comes from a subscription URL, a local YAML file, or a configuration provider supported by the client. A subscription URL is not an ordinary web link; it often contains identifiers used to retrieve a personal configuration and should be protected like account credentials. Never paste the full URL into public screenshots, forum posts, or shared documents. When requesting help, conceal the token, parameters, and path after the domain, and share only the error message and client status.

To import by URL, copy the complete subscription URL, open the client's configuration or subscription page, and choose “Import from URL,” “New Subscription,” or an equivalent option. Menu labels vary by client, but a successful import usually displays a configuration name, update time, and refresh button. Next, set it as the active configuration. Some clients do not activate an imported configuration automatically, so the Proxies page may remain empty if the default configuration is still active.

When importing a file, preserve its YAML text structure and indentation. YAML is indentation-sensitive, and full-width colons, tabs, or incorrect nesting can cause parsing errors. If the configuration comes from a trusted source, import the original file directly instead of opening and saving it in a word processor that may alter the formatting. If the client reports a parsing error, record the exact line number and field name; repeatedly clicking Import will not correct invalid syntax.

Three Checks After Importing

  1. Is the configuration active? The selection indicator in the configuration list should be on the newly imported entry, not a sample or older configuration.
  2. Are policy groups visible? The Proxies page should show groups for functions such as proxy selection, automatic selection, failover, or direct access. The configuration author defines the actual names, so they may not use standard English labels.
  3. Have the rules and DNS settings loaded? The client logs should not repeatedly report rule-provider download failures, DNS listener failures, or unsupported configuration fields.

Clash Meta, also known as Mihomo, supports a broader range of configuration features than the original Clash core, including additional rule types, proxy protocols, DNS behavior, and TUN options. If a configuration uses fields the active core does not recognize, the client may reject it or ignore parts of it. Therefore, “the subscription downloads successfully” and “the core can parse it” are separate checks. When an incompatibility warning appears, first identify the core type and version used by the client, then verify that the configuration targets that format.

LAB RECORD 04

Choosing Rule, Global, or Direct Mode

After importing the configuration, use Rule mode for the initial test. Rule mode evaluates connections against the configured rule list from top to bottom, and the first match determines how traffic is handled. Common outcomes include direct access, proxying, rejection, or delegation to a policy group for further selection. This allows local services, LAN addresses, and sites suited to direct access to stay on their normal path while destinations that require a proxy use the specified policy.

Global mode usually sends most captured connections to the global policy group and is useful for brief comparison tests. For example, if a site fails in Rule mode but works in Global mode, the cause may be rule matching, DNS routing, or policy-group selection rather than the proxy itself. Global mode is not definitive proof that every other component works, because LAN connections, system services, and the client's own traffic may still be affected by bypass rules or implementation details.

Direct mode sends connections captured by Clash straight to their destinations and is useful for determining whether the proxy path causes a problem. Direct mode does not mean the client has been fully disabled: the system proxy or TUN may remain active, and connections may still pass through the core before the final policy selects direct access. After testing, disable traffic capture if it is no longer needed to avoid confusing Direct mode with a disabled proxy.

Mode How It Works Best Initial Test
Rule mode Matches policies by domain, IP address, process, or rule set Normal setup and verification that traffic is routed correctly
Global mode Sends most connections to the global policy group Compares rule-related issues with proxy connectivity
Direct mode Sends captured connections directly to their destinations Determines whether the proxy path introduces the problem

Order for Selecting Proxies and Policy Groups

Open the outermost manual selection group first and confirm that it contains a selected, working proxy or automatic policy group. If the configuration includes automatic groups such as url-test or fallback, wait for one health-check cycle to finish before reviewing proxy status. A latency value reflects only the test URL and the moment of measurement; it does not directly predict web browsing, video streaming, or persistent-connection performance. The goal of initial setup is to find a stable policy that supports basic access, not simply the option with the lowest number.

LAB RECORD 05

When to Enable the System Proxy and TUN Mode

On desktop systems, the system proxy is the easiest traffic entry point to understand. When enabled, the client points the operating system's HTTP or HTTPS proxy settings to a local listening address, such as a mixed port on the loopback interface. Browsers and applications that honor the system proxy then send requests to Clash. Its clear on/off behavior and limited troubleshooting scope make it the best first test on Windows and macOS.

The system proxy does not cover every program. Some command-line tools require separate environment variables, some games and UDP-based applications do not use the system HTTP proxy, and other applications manage their own network stacks. If the browser works but another application does not, first check the Clash Connections page for traffic from that application. If no entries appear, its traffic has not entered the core, and changing proxies will not affect the result.

TUN mode captures a broader range of IP traffic through a virtual network interface. It can cover many programs that ignore the system proxy and handle more UDP scenarios. However, it also introduces additional variables, including routing, DNS interception, interface priority, and administrator privileges. For a first installation, verify basic connectivity with the system proxy before enabling TUN for applications that need it. If the system proxy, TUN, custom DNS, and several network filters are all enabled at once, isolating the failing layer becomes difficult.

Compatible mobile clients typically capture traffic through the operating system's VPN interface. This behaves more like a virtual network interface than a desktop system proxy switch. A VPN indicator in the Android or iOS status bar only confirms that the virtual interface exists; also verify that the current configuration is active, a policy group is selected, and the core is not reporting persistent errors. Connections may briefly restart when switching between Wi-Fi and cellular data, so wait for the network to stabilize before testing.

LAB RECORD 06

Setup Differences on Windows, macOS, Android, and iOS

Windows: Service Mode, Firewall Access, and Stale Proxy Settings

When using only the system proxy, a Windows client generally does not need every operation to run with administrator privileges. Elevation may be required only when enabling TUN, installing a helper service, or changing low-level network interfaces. If the TUN switch will not stay on, verify that the service component installed successfully, the virtual adapter is not blocked by security policy, and no other VPN is running. If every browser loses connectivity, turn off Clash's system proxy first, then open Windows proxy settings and check for a leftover manual proxy.

macOS: Network Extension and Helper Service Approval

macOS may display confirmation dialogs when installing a network extension, system proxy helper, or TUN component. If the feature still does not work after approval, check the component status in the relevant Network, Login Items, or Extensions section of System Settings. Apple silicon devices should use a matching architecture or universal build. If the client is listening normally but browser connections do not appear, check whether another tool has overwritten the proxy settings for the active network service.

Android: VPN Conflicts and Battery Management

Android requires approval of a VPN connection request the first time proxying starts. Only one VPN can generally run in a user profile, so an existing corporate VPN, filter, or other proxy client will conflict with it. Some manufacturer-customized systems restrict background activity after the screen turns off, causing connections that work in the foreground to drop after the device has been locked for a while. During setup, keep the default battery policy for a short test. After confirming basic connectivity, adjust background operation and power-saving restrictions as needed.

iOS and iPadOS: VPN Profiles and On-Demand Connections

Clients compatible with Clash configurations request permission to add a VPN profile, and the system may require the device passcode, biometric authentication, or explicit confirmation. If the connection switch immediately returns to Off, check the client logs and verify that organizational device-management policies do not restrict VPN use. On-demand connections, cellular data permissions, and Low Data Mode can alter background connection behavior. Complete the initial test on stable Wi-Fi, then switch to cellular data for verification.

LAB RECORD 07

Complete the Initial Test with Connection Records

Do not validate the setup solely by checking whether a web page opens. A more reliable method is to observe the target application, connection records, matched rules, and outbound policy together. Close unrelated applications, open a reliable test page, and check whether a new entry appears in the Clash connection list. Records typically show the destination domain or IP address, connection type, matched rule, policy group, and final proxy. Field names vary between clients, but the diagnostic process is the same.

  1. In Rule mode, select a policy known to work, then clear or pause old connection records.
  2. Open the target page and confirm that its domain appears in the connection list, rather than seeing only background update requests.
  3. Review the connection's matched rule and final policy to determine whether it was sent directly, proxied, or rejected.
  4. After changing the policy, establish a new connection. Browser caches and existing persistent connections may continue using the old path; close the page and try again if necessary.
  5. Test both a site expected to connect directly and a destination expected to use the proxy, confirming that both routes work.

DNS problems often appear as domains that fail to open while a direct connection to a known IP behaves differently. Proxy problems may appear as timeouts after the connection enters a proxy policy. Rule problems show the destination being assigned to an unexpected policy in the logs. If the target request never appears in the connection list, return to the traffic-capture stage instead of changing DNS first. This order breaks a generic “cannot connect” problem into four layers: capture, resolution, matching, and outbound connectivity.

LAB RECORD 08

Common First-Installation Errors and Fixes

The Subscription Imports, but No Proxies Appear

First confirm that the new configuration is active, then review the import log for parsing errors. Some subscription URLs return an error page, sign-in page, or incompatible format. The client may create a configuration entry without receiving valid proxies or policy groups. Before retrieving the subscription again, check that the URL is complete and unexpired, and that the active core recognizes its configuration fields.

A Proxy Is Selected, but the Browser Still Uses the Normal Connection

Selecting a proxy changes the policy; it does not automatically route browser traffic into Clash. On desktop, check the system proxy switch and the proxy address in the operating system settings. On mobile, confirm that the VPN interface is connected. Then review the connection list. If no browser requests appear, traffic capture is still incomplete.

No Websites Load After Enabling the System Proxy

First disable the system proxy to restore basic connectivity. Then verify that the core is running, the local listening port has started, and the configuration is valid. If the system proxy points to a different port from the client's actual mixed port, the browser will try to reach a nonexistent local service. A port conflict with another program can also prevent the core from starting.

The Browser Works, but a Game or Command-Line Tool Bypasses the Proxy

These programs may ignore the system proxy. First check whether the application supports an HTTP or SOCKS proxy; command-line tools may also require separate proxy environment settings. To capture a broader range of TCP and UDP traffic, enable TUN after completing the basic test, then verify administrator privileges, routing, and DNS settings.

Changing the Proxy Does Not Change the Result

Confirm that the policy group you changed is the one actually used by the matching rule, not another group with a similar name. Existing TCP, QUIC, or application-level persistent connections may continue using the old outbound route, so disconnect them before testing again. You can also inspect the final proxy in the connection details instead of relying only on the selection shown in the interface.

The Device Loses Internet Access After Closing the Client

A common cause is a system proxy still pointing to a stopped local port or a virtual network interface that did not shut down correctly. Restart the client, disable the system proxy and TUN, and then exit normally. If the client cannot start, open the operating system's network settings, remove the stale manual proxy, and disable the corresponding VPN or virtual interface.

LAB RECORD 09

First-Time Setup Checklist

Completing the following checks establishes a reliable baseline for later troubleshooting. Change only one variable at a time and keep a configuration known to start successfully. This greatly reduces interference between rules, DNS, TUN, and system permissions.

  • The installer matches the operating system and processor architecture, and the client starts reliably.
  • Older proxy or VPN clients have exited, and no system proxy points to an inactive local port.
  • The subscription or local configuration has imported successfully and is explicitly set as active.
  • Policy groups appear on the Proxies page, and the active group has a clearly selected option.
  • Rule mode is used for the initial test, and the purposes of Global and Direct modes are understood.
  • The system proxy has been tested first on desktop, while VPN profile authorization is complete on mobile.
  • TUN is enabled and checked only when an application does not honor the system proxy.
  • Connection records show the test request, matched rule, policy group, and final outbound route.
  • The subscription update behavior is understood, and persistent customizations are handled through an override or merge layer.
  • Traffic capture is disabled before exiting the client to avoid leaving behind a system proxy or virtual interface.

The goal of first-time setup is not to enable every feature at once, but to establish a repeatable validation path: the configuration loads, a policy can be selected, traffic enters the core, a rule matches, and the outbound connection succeeds. Later issues—such as failed subscription updates, a specific application bypassing the proxy, or TUN startup errors—can then be traced to a specific stage.

Choose a Clash Client for Your Platform

Visit the download page for system requirements and installers for Windows, macOS, Android, and other platforms, or review the basic configuration guide first.