Clash Verge Rev makes it easy to use a subscription profile, but subscription files are usually not the right place for personal changes. They may be overwritten during an update, replaced when you switch providers, or locked by the subscription service. A Mixin override solves this problem by letting you add local YAML settings on top of an existing profile without editing the original file. This Windows guide explains how to create a Mixin in Clash Verge Rev, add practical overrides, apply the profile, and verify that the changes are active.

What a Mixin Override Does

A Mixin is a small YAML fragment that Clash Verge Rev merges into the selected profile at runtime. Think of it as a local customization layer. The subscription profile continues to provide proxy nodes, proxy groups, rule providers, and other remote content, while the Mixin changes only the fields you specify.

This separation is useful because different types of configuration have different ownership. Your provider manages servers and subscription rules. You manage local preferences such as the mixed port, DNS mode, controller access, TUN mode, log level, or a small set of routing rules. Keeping these responsibilities separate makes updates safer and troubleshooting easier.

A Mixin does not automatically replace every value in the profile. It is merged according to the structure of the YAML document. A scalar value such as mixed-port can be replaced directly. A mapping such as dns can be extended or overridden by individual keys. Lists require more attention because the final result depends on the merge behavior supported by the current Clash Verge Rev and Mihomo version.

Use a Mixin for personal preferences, not subscription maintenance: keep provider-owned nodes and large rule lists in the subscription profile. Put only the settings you need to control locally into the override.

Common reasons to use a Mixin on Windows include changing the local proxy port, enabling TUN mode, selecting fake-IP DNS, adding a local network bypass, exposing the external controller to a trusted LAN, or adjusting logging while diagnosing a connection problem. The exact fields available depend on the Mihomo core bundled with your application, so always compare advanced options with the version shown in Clash Verge Rev.

Prepare Clash Verge Rev on Windows

Before writing YAML, confirm that Clash Verge Rev is installed and that at least one profile has been imported. Open the application from the Windows Start menu or its desktop shortcut, then check the Profiles or 订阅 section. The names vary slightly between releases and language settings, but the workflow is the same: import a subscription URL or local profile, select the profile, and make sure it can load successfully before adding overrides.

Start with a working baseline. The selected profile should show its proxy groups and nodes, and the main dashboard should be able to start the core without a configuration error. If the subscription itself is invalid, a Mixin will not fix it. Testing the original profile first gives you a clear comparison point when verifying the override.

  1. Open Clash Verge Rev and go to the profile management page.
  2. Select the subscription profile you want to customize.
  3. Confirm that the profile parses successfully and that its proxy groups are visible.
  4. Open the profile menu and look for Mixin, Mixin Settings, or an equivalent override option.
  5. Create a new Mixin or open the default local Mixin editor.

On Windows, the application may store its data under your user profile rather than the installation directory. You normally do not need to find or edit that file manually. Using the built-in Mixin editor is safer because Clash Verge Rev can associate the override with the selected profile and apply it when the configuration is generated.

Do not paste a complete subscription file into the Mixin editor. A Mixin should contain only the fields you want to override. Copying the entire profile can create duplicate proxy definitions, conflicting rule sections, and difficult-to-diagnose merge results.

Create a Basic Mixin

Begin with a small configuration that changes only local ports and logging. YAML depends on indentation, so use spaces instead of tabs. The following example is intentionally conservative. It does not change your provider nodes or proxy groups.

Basic Windows Mixin
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

mixed-port provides a single local port that accepts both HTTP and SOCKS5 traffic. It is often the simplest port to enter in Windows applications. If another program already uses port 7890, choose a free port such as 7891 or 10808. allow-lan controls whether other devices can use the Windows computer as a proxy. Keeping it false is the safer default when you only need proxy access on the local machine.

mode: rule tells Clash to evaluate traffic against the profile's rules rather than sending everything through a single global choice. The provider may already define this value, but declaring it in your Mixin makes your preference explicit. log-level: info gives useful operational details without producing as much output as debug mode.

Paste the fragment into the Mixin editor, save it, and return to the profile page. Some versions provide a syntax check or preview button. Use it before applying the profile. If an error is reported, inspect indentation, colons, quotation marks, and the spelling of each key.

Add DNS Overrides Carefully

DNS is one of the most useful areas for a local override, but it is also easy to create an incomplete configuration. A typical Mihomo DNS section might enable fake-IP mode, define upstream resolvers, and exclude domains that need real IP responses. The following example shows a practical starting point:

DNS Mixin Example
dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://dns.google/dns-query
    - https://cloudflare-dns.com/dns-query
  fallback:
    - https://1.1.1.1/dns-query
    - https://8.8.8.8/dns-query
  fake-ip-filter:
    - "*.lan"
    - "*.local"
    - localhost.ptlogin2.qq.com

Fake-IP mode returns an address from a reserved range immediately and keeps an internal mapping between that address and the original domain. This allows domain-based rules to work before the real destination IP is known. It is often a good match for TUN mode and rule-based routing, especially when DNS interception is enabled.

Some software does not behave correctly when it receives a fake address. Local discovery, certain games, banking tools, enterprise applications, and devices that depend on LAN name resolution may require real responses. Add those domains to fake-ip-filter rather than disabling fake-IP globally at the first sign of trouble.

Change DNS one variable at a time. If you enable fake-IP, TUN, and new upstream resolvers together, it becomes difficult to identify which change caused a failure. Apply the DNS override first, test normal browsing, and only then add the next feature.

Do not blindly copy the entire DNS block from another core or platform. Mihomo builds can support fields that older Clash cores ignore or reject. If the profile fails after adding DNS settings, temporarily remove the DNS section, confirm the basic Mixin still works, and then reintroduce the options individually.

Enable TUN Mode on Windows

Windows applications do not all respect the system HTTP proxy. Browsers may follow Windows proxy settings, while games, launchers, terminals, and background services may use their own networking stack. TUN mode creates a virtual network interface that allows Clash to capture a broader range of traffic.

TUN Mode Mixin
tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true

In Clash Verge Rev, TUN mode may also require a permission prompt, service installation, or a toggle in the application interface. The YAML setting alone may not be sufficient if the Windows service or virtual adapter has not been installed. Run the application with the required permissions, enable the TUN option in the interface if it is available, and approve the Windows security prompt.

stack: mixed is a flexible choice because it can handle common TCP and UDP traffic patterns. auto-route adds routes automatically, while auto-detect-interface helps the core choose the active network adapter. If your computer frequently switches between Wi-Fi, Ethernet, a VPN, or a virtual machine adapter, verify the selected interface after enabling TUN.

TUN mode can affect local printers, corporate networks, virtualization software, and other private services. Keep a recovery plan: know how to disable TUN from Clash Verge Rev and how to restore the previous network adapter state. If internet access disappears after applying the Mixin, disable TUN first and test the ordinary system proxy path.

Add Local Routing Rules

A Mixin can also add a small number of rules for your own network. This is useful when the subscription does not know about a private hostname, a development server, or a local address range. Private destinations should usually bypass the proxy to avoid unnecessary latency and connectivity problems.

Local Network Rule Override
rules:
  - DOMAIN-SUFFIX,corp.local,DIRECT
  - DOMAIN-SUFFIX,home.arpa,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

Rule order matters. Clash evaluates rules from top to bottom and normally uses the first matching rule. If a provider profile has a broader rule above your local entries, your local rule may never be reached. Depending on the Mixin implementation and the profile structure, list merging may append your rules rather than place them at the top. Always inspect the generated configuration or test the destination in the Connections and Rules panels.

Use no-resolve for private IP ranges when you do not need DNS resolution before matching. This avoids an unnecessary lookup. Do not add public CIDR ranges casually: a broad rule can route important services directly and may expose traffic you intended to proxy.

Apply and Verify the Override

Saving a Mixin does not always mean that the running core has already received the new configuration. After saving, select the intended profile again and use the available Apply, Update, or reload action. If Clash Verge Rev shows a generated configuration preview, inspect it before starting the core.

  1. Save the Mixin in the editor.
  2. Run the configuration validation or preview function.
  3. Apply or reload the selected profile.
  4. Restart the Clash core if the application requests it.
  5. Open the dashboard and check the active port, mode, DNS, TUN, and rule status.
  6. Test one direct destination and one destination that should use the proxy.

Verification should use observable results rather than assumptions. If you changed mixed-port, check that the port is listening and configure a browser or test application to use it. If you enabled TUN, open a program that does not use the Windows proxy setting and inspect its connection in the Clash dashboard. For DNS changes, check whether the expected domain rule is matched and whether the connection is resolved through the intended path.

When diagnosing a failed Mixin, simplify it. Remove every section except the one under test, apply the profile, and confirm that the core starts. Then add the remaining sections back one at a time. A common mistake is placing a key at the wrong indentation level, such as putting enable beside tun instead of beneath it. Another is using a field supported by Mihomo but not by the installed core.

Keep a known-good copy: save your working Mixin as a plain-text backup before experimenting. If a provider update changes its structure, you can compare the generated configuration and quickly restore the last stable version.

Maintain a Safe and Portable Mixin

A good Mixin is short, readable, and limited to settings that you personally control. Add comments explaining why an option exists, especially when a value is not obvious. Avoid storing passwords, subscription URLs, private controller secrets, or other sensitive information in screenshots and shared configuration files.

Review the Mixin after every major Clash Verge Rev or Mihomo update. Core versions can introduce new fields, rename experimental options, or change how lists are merged. If your provider changes its profile format, test the subscription without the Mixin first, then re-enable the override. This separates a provider-side problem from a local configuration problem.

  • Keep the YAML indentation consistent and use spaces, never tabs.
  • Use one Mixin for stable daily settings and a separate temporary copy for experiments when possible.
  • Do not duplicate large provider sections that are already managed remotely.
  • Prefer narrow domain and private-network rules over broad public IP rules.
  • Disable unused features such as LAN access or the external controller.
  • Record the port and mode you expect so that future troubleshooting has a clear baseline.
  • Test after subscription updates instead of assuming that an old override remains compatible.

The main advantage of a Mixin is not simply convenience. It gives your Windows setup a clean boundary between remote profile data and local policy. You can change ports, DNS behavior, TUN capture, and private routing without repeatedly editing or downloading a subscription file. Once the override is small and validated, profile updates become much less disruptive, and your Clash Verge Rev configuration is easier to understand when something goes wrong.

Get Started

Take Full Control of Your Traffic with Clash

Available on Windows, macOS, Linux, Android, and iOS. Flexible rules, simple setup, ready to use.

Download Free View Setup Guide →