Why migrate away from Clash Premium?

For years, Clash Premium was one of the most popular Clash cores. It layered TUN mode, Fake-IP DNS, rule providers, and other advanced features on top of the open-source base, making complex setups much easier to manage. In late 2023, however, original author Dreamacro announced end-of-life maintenance; the upstream repository was archived and no longer accepts pull requests or issues.

Staying on an unmaintained core has real consequences: security flaws may never be patched; OS and protocol changes steadily increase breakage; newer transports such as VLESS, TUIC, and Hysteria2 simply will not run on Clash Premium. In practice, many subscription providers are also phasing out legacy formats—Premium users increasingly see import or parse failures when adding modern feeds.

Important

If you still run stock Clash for Windows (CFW) with a Premium core, note that the original CFW repository was also removed or archived around the same period. Continuing without migration carries avoidable risk—this guide is written to help you move to a supported stack.

What mihomo (Clash Meta) brings to the table

mihomo is the actively maintained, community-driven Clash-compatible core formerly known as Clash.Meta (Clash Meta). It has been renamed to mihomo and ships frequent releases on GitHub. Compared with frozen Clash Premium builds, you gain:

  • Broad protocol coverage—Native support for VLESS, TUIC v5, Hysteria2, Reality, ShadowTLS, and other widely used stacks your subscriptions may rely on.
  • Stronger DNS—DoH, DoT, DoQ, and policy-based DNS routing help reduce leaks and odd resolver behavior.
  • YAML compatibility—Standard Clash YAML largely works as-is, so most configs copy over with minimal edits.
  • Improved TUN—More stable virtual interfaces and clearer integration with system-wide routing—no extra vendor driver in typical setups.
  • Richer rule tooling—Inline rule-set support and flexible combinations of IPCIDR, domain, and process rules.
  • Ongoing fixes—Regular security and feature updates from an active maintainer community.

Before you start

A few minutes of preparation prevents lost configs or unexpected downtime during the switch. Note which CFW profile was active and any per-app overrides, so you can compare behavior before and after the import.

Back up your existing profiles

Locate Clash for Windows’s profile folder (commonly %APPDATA%\Clash for Windows\profiles on Windows or ~/.config/clash on macOS) and copy every .yaml and .yml file to a safe backup directory. Even when migration goes smoothly, keeping snapshots is good hygiene.

Save subscription URLs and manual nodes

From CFW’s subscription screen, copy each subscription URL you rely on. If you added servers manually, record host, port, credentials or UUID, and any transport options so you can recreate them if needed.

Capture your proxy group layout

Take screenshots or notes of custom proxy groups—especially rules that send specific sites or apps through dedicated chains. After migration, verify the same logic still behaves as intended in the new YAML.

Tip

If your provider gives you a managed subscription URL, you usually only need to paste that URL into the new client—the remote side handles format updates, and you avoid hand-editing YAML for day-to-day changes.

Step 1: Install Clash Verge Rev

Clash Verge Rev is one of the most actively maintained desktop GUIs: it bundles the mihomo core, targets Windows, macOS, and Linux, and offers a modern panel for profiles, proxies, and logs—an excellent landing spot for former Premium users.

Grab the installer for your OS from our download page. Platform notes below cover the usual friction points.

Windows

Run the downloaded .exe and follow the wizard. If Windows SmartScreen appears, choose “More info” then “Run anyway.” After install you should see the tray icon; right-click it to switch modes or open the dashboard.

On first launch, install Service mode when prompted—it elevates privileges in a controlled way, stabilizes TUN, and reduces repeated UAC prompts compared with ad-hoc admin runs.

macOS

Open the .dmg, drag the app into Applications. If Gatekeeper warns about an unidentified developer, open System Settings > Privacy & Security and approve the app. Grant Full Disk Access if TUN or certain apps fail to route; that matches how modern macOS sandboxes network tools.

Verify the bundled core

In Settings, locate Kernel version and confirm it references mihomo with a sane version string. Use the in-app update action if you need to refresh the binary— the client downloads and swaps the core for you.

Step 2: Import subscriptions and move configs

Subscription handling in Clash Verge Rev is straightforward: open the Profiles (Subscriptions) view, tap +, paste the URL, and import. The client fetches and parses the feed automatically.

Sanity-check after import

Activate the profile, switch to the Proxies tab, and confirm node counts match expectations. Matching counts usually mean the feed is already compatible; odd gaps point to format or parsing issues.

Moving hand-written YAML

If you maintain a local file instead of a remote URL, copy the backed-up .yaml into Clash Verge Rev’s profile directory (Windows: %APPDATA%\io.github.clash-verge-rev.clash-verge-rev\profiles; macOS: ~/.config/clash-verge-rev/profiles), then use Import local file from the client.

mihomo remains backward compatible with classic Clash keys—proxies, proxy-groups, and rules usually lift over intact. A few Premium-only knobs (for example certain ebpf or legacy script modes) may need syntax tweaks; consult the current mihomo docs when YAML validation complains.

Subscription converters

Legacy feeds shipped as plain node lists or third-party formats may fail direct import. Use a converter (built into Verge Rev or a trusted community tool) to emit standard Clash YAML. Pick a Clash Meta or mihomo template so generated files expose Meta-specific features where appropriate.

For deeper field-by-field notes, see our documentation hub alongside upstream mihomo references.

Step 3: Rules, providers, and proxy groups

Most routing logic ports cleanly from Premium to mihomo. Pay extra attention if you relied on custom rule providers or experimental scripting.

Rule provider compatibility

The rule-providers block remains supported; existing remote URLs often work unchanged. Double-check each provider’s behavior (domain, ipcidr, classical) matches the file contents—mislabeled behaviors silently drop matches.

Tuning proxy groups

mihomo extends url-test with knobs like tolerance and lazy, and lets you tune health-check intervals on fallback groups. Add them when you want smarter auto-selection after migration.

Advanced users who depended on legacy script-based routing should plan a rewrite: upstream removed several script paths. Prefer RULE-SET, supported script hooks where available, or Sub-Rule features to express the same policy without unmaintained Lua glue.

Curated rule sets

After you switch cores, consider community-maintained mihomo-oriented rule bundles for direct (DIRECT) and block (REJECT) lists—they track faster than hand-rolled snippets and reduce long-term maintenance.

Common issues and fixes

Most migration pain falls into a handful of patterns. When something still looks off, copy the relevant lines from Clash Verge Rev’s log view—timestamped errors make it much easier to confirm whether the issue is DNS, rules, or outbound TLS.

Symptom Likely cause What to do
No proxies after import Feed is not native Clash YAML (for example a bare Base64 node list) Convert to Clash YAML with a Meta/mihomo profile, then re-import
TUN fails to start Missing admin/service installation Run elevated once or enable service mode from settings
DNS looks wrong or leaks Resolver chain fights the OS defaults Pin dns.nameserver entries and enable fake-ip where appropriate
Specific apps bypass the proxy Non-standard ports, UDP-heavy stacks, or split tunneling Use TUN and/or add PROCESS-NAME rules for those binaries
Rule downloads fail Remote URL dead or unreachable from your network Mirror the file, or switch the provider to a file: local path
YAML parse errors Premium-only keys remain in the file Review ebpf, script, and similar blocks against current mihomo syntax

After migration: optional tuning

Once baseline connectivity works, you can adopt mihomo features that improve privacy and ergonomics.

Fake-IP DNS hardening

Fake-IP returns synthetic addresses (often in 198.18.0.0/16) for queried names, keeps the real mapping internally, and hands domain information to outbound proxies—reducing DNS leakage and coarse IP-only blocking surprises.

Example dns stanza:

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - '*.lan'
    - 'localhost.ptlogin2.qq.com'
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  fallback:
    - https://1.1.1.1/dns-query
    - https://8.8.8.8/dns-query
  fallback-filter:
    geoip: true
    geoip-code: CN

System-wide TUN

TUN captures egress without per-app SOCKS hooks. Enable a tun section such as:

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53
Note

TUN still requires the service or administrator privileges described earlier. stack: system is the default sweet spot; if you hit throughput limits on exotic NICs, experiment with gvisor per upstream guidance.

Sub-rules for cleaner configs

Sub-Rule sections let you attach bespoke routing to specific proxy groups—handy for corporate subnets or gaming VLANs—without turning the global rules array into an unreadable wall.

Why move now

Clash Premium has been unmaintained for multiple release cycles while mihomo matured: broader rules, richer clients, and better docs. Staying on frozen bits trades convenience for avoidable risk; upgrading buys you modern protocols and timely fixes.

The process is usually faster than it sounds: subscription users often finish in about five minutes by re-adding URLs; power users editing raw YAML typically land under half an hour once incompatible keys are trimmed.

When you want a guided install with up-to-date mihomo, visual subscription management, and less manual YAML, start from our download page—it is the supported path for fetching builds tuned to this documentation set. → Download Clash for free and experience the difference.