Clash Mi Project
Clash Mi — Mihomo for iOS and Android
Simple is better than complex. Complex is better than complicated.
Clash Mi is a mobile-first client built around the Mihomo (Clash Meta) engine. You get the same rule model and policy groups you expect from the broader Clash ecosystem, packaged for touch screens with an emphasis on predictable updates, readable diagnostics, and configuration you can reason about offline.
- Engine
- Mihomo (Clash Meta)
- Configuration
- YAML-first profiles
- Platforms
- iOS and Android
- License
- GPL-3.0
A Mihomo core that ships inside the app
Instead of bolting on an outdated binary, Clash Mi tracks the upstream Mihomo project so policy routing, sniffing toggles, and newer rule providers stay aligned with what desktop power users already document in the community. Release cadence focuses on stability: each build is expected to boot with your last-known-good profile, surface migration notes when upstream semantics change, and expose enough version metadata that support channels can reproduce issues quickly.
Practically, that means your geosite and GEOIP datasets, rule providers, and script hooks behave the way Mihomo documentation describes them, with fewer surprises when you paste a profile that worked on another Meta-based client. When the core adds a capability, the app layer is updated in tandem so toggles and validation messages stay honest instead of advertising features the embedded engine cannot yet honor.
- Kernel and UI maintained together to avoid version skew.
- Diagnostics emphasize engine build, outbound health, and DNS mode.
- Designed for profiles that mix rules, script shortcuts, and provider URLs.
YAML, subscriptions, and metacubex-friendly patterns
Clash Mi treats YAML as the source of truth. You can start from a curated baseline that mirrors metacubex recommendations, then layer in your provider subscription URLs, proxy groups, and routing rules exactly as you would on a workstation. The editor highlights structural mistakes early—unbalanced maps, duplicate keys, or policy references that do not match any outbound—so you spend less time tailing remote logs on a laptop.
Remote subscriptions
Add HTTPS links for rule sets and nodes, set refresh intervals that respect provider rate limits, and pin fallbacks when a subscription flakes. Clash Mi keeps a transparent history of the last successful fetch so you can tell whether a failure is local DNS, TLS interception, or an empty upstream file.
Profiles you can diff
Profiles remain portable text. Duplicate a working setup before experimenting with a new rule provider, compare behavior side by side, and roll back without vendor lock-in. That portability is the point: your policy should survive even if you later move to another Meta-compatible toolchain.
A calm UI that stays out of the way
The interface follows a restrained layout system: generous spacing, monospace accents for technical values, and no ornamental chrome that competes with the data you came to inspect. Connection tiles focus on latency and selected policy, while deeper panels expose tunables like DNS mode, TUN settings, and per-app routing without hiding them behind modal stacks.
Dark backgrounds and high-contrast body copy keep the experience readable outdoors; controls are sized for thumbs but still dense enough that advanced users can scan a long list of outbounds without endless horizontal scrolling. Animations are minimal so the client feels responsive on mid-range hardware, which matters when you are toggling profiles on a commute.
What stays on your device
Clash Mi does not need a vendor account to function. Profiles, logs, and cached rule data remain under your OS sandbox unless you explicitly export them. When you enable remote subscription fetching, traffic goes to the URLs you configured—typically your provider or public rule mirrors—not through an opaque intermediary controlled by the app publisher.
You should still treat any proxy client as privileged software: it can route sensitive applications and observe hostnames unless you harden rules accordingly. Clash Mi exposes enough telemetry locally—DNS resolution path, active policy, handshake errors—to audit behavior without shipping those logs to a third party by default.
Straight answers
Is Clash Mi the same thing as Mihomo?
Mihomo is the open-source routing engine (a fork lineage of Clash Meta). Clash Mi is an application shell that embeds Mihomo, surfaces controls, and helps you manage YAML profiles on iOS and Android. Think engine versus vehicle.
Do I need desktop Clash experience?
Helpful, but not mandatory. If you already run Meta-based configs on a laptop, you can reuse most of the same YAML with minor path adjustments. If you are new, start from a documented baseline, add a single subscription URL, verify connectivity, then iterate on rules once traffic flows.
Can I mix free rule lists and paid nodes?
Yes, as long as your YAML references valid providers. Clash Mi does not judge upstreams; it enforces syntax and engine compatibility. You are responsible for trusting each URL you add.
Why GPL-3.0?
The project ships under GPLv3 so improvements to the client and bundled components can be audited and shared. Read the full license text on gnu.org before redistributing modified builds.