Clash Meta (Mihomo) client for Android — phone & Android TV
Redesigned Home · cleaner subscriptions & nodes · routing tools · safe defaults
⬇️ Download · 📖 Wiki · Telegram · Releases · Issues · Roadmap · License
ClashFest is an Android client in the Clash Meta / Mihomo family — a redesigned Home experience, cleaner subscription/node flows, routing-focused tools, and practical safety defaults for everyday use.
💬 Questions, bugs, feature requests → Telegram (EN / RU) or GitHub issues.
F-Droid builds ClashFest from source and, because the build is reproducible, ships the very same APK with the same signature as the downloads below. You can move between the F-Droid and GitHub versions without reinstalling or losing your subscriptions. The F-Droid version is updated by F-Droid and has no built-in update check.
Latest release — direct downloads (always point to the newest version; also on the download page):
| Device | Download |
|---|---|
| Phone / tablet (64-bit ARM — every phone of the last decade) | clashfest-alpha-arm64-v8a.apk |
| 32-bit ARM (very old phones, some TV boxes) | clashfest-alpha-armeabi-v7a.apk |
| Universal (all ABIs in one, largest) | clashfest-alpha-universal.apk |
| x86_64 (emulators, Chromebooks, x86 TV boxes) | clashfest-alpha-x86_64.apk |
| x86 (32-bit Intel) | clashfest-alpha-x86.apk |
Dev builds from the dev branch: dev-latest pre-release (debug-signed — installs alongside the release, not over it). All releases & changelog: Releases. The app checks for updates itself under Settings → About & updates.
| Area | What you get |
|---|---|
| Home | Active node card, compact subscription actions, circular tab swipe, import from URL / QR / clipboard |
| Widget | Home-screen speed widget — live ↑/↓ rate, tap to connect/disconnect (responsive: 1 cell = on/off, wider = live speed) |
| Modes | Rule / Global quick switch from Home |
| Profiles | Dedicated Profiles tab manager with collapsible proxy groups + per-profile read-only config viewer (YAML highlighting, copy / share) |
| Proxy chain | Chain two proxies per profile (first hop → exit) with explicit save vs use-now and optional YAML preview |
| Rules & routing | Dedicated Routing hub, rule snippets, effective rules, app routing (per‑app VPN policy) |
| DNS & network | Per-profile DNS / hosts editor, Block IPv6 (AAAA) toggle, VPN options, security-oriented toggles |
| Features | Safe “every‑day” toggles (unified delay, geodata mode, TCP concurrent) + entry to Geo Data Source |
| Geo Data Source | Presets for geox-url mirrors (same upstream data, different CDN paths), custom URLs, on-device geo DB import |
| Subscriptions | HTTP(S) / content: profiles; mierus:// shares parsed via the same pipeline as other URL imports |
| Updates | In-app manual update check, merged About & updates, Home indicator when an update is available |
| Quick start | Quick Settings tile flow with VPN permission handling and one-tap startup |
| Android TV | D-pad-friendly layout with focus navigation and a leanback banner — the same app on the big screen |
| Companion / remote | Pair a device over LAN via QR and drive ClashFest remotely — the external controller doubles as a TV remote |
| Connections | Live connections view with resilient snapshot decoding and lower polling load |
| App | Dark mode, pure-black (OLED), optional UI language (system / EN / RU / ZH), notification & recents options |
| Look | Lumen design language — obsidian surfaces, single-accent glow, Manrope + Space Grotesk type; sleeping-sloth branding |
What we're building next, what's planned, and what's out of scope lives in ROADMAP.md — including community feature requests and why some are or aren't a fit. Have an idea? Open an issue.
Current focus
- Stability and regression-free releases on top of the redesigned Home
- Routing and profile management polish without breaking upstream compatibility
- Performance and battery optimizations in high-refresh screens
- Localization quality (EN / RU / ZH first, others incremental)
- Post-release cleanup of medium-risk technical debt
| Module | Role |
|---|---|
app/ |
Activities, navigation, packaging |
common/ |
Shared helpers (imports, naming, ping helpers, …) |
core/ |
JNI bridge, native Mihomo integration |
design/ |
UI, themes, layouts, preference screens |
service/ |
VPN service, profiles, rule merge / Geo presets |
Requirements
- Android Studio (or compatible IDE)
- Android SDK + NDK as required by the project
- JDK 21 (required — the native
:hideapistep fails silently on older JDKs) - Gradle wrapper (included)
Debug (default alpha flavor)
# Linux / macOS
./gradlew assembleAlphaDebug# Windows
.\gradlew.bat assembleAlphaDebug- App icon & README logo: the sleeping-sloth mark — part of the same brand family as
SlothClash. Source art:
design/ClashFest.png(with wordmark) ·design/ClashFest_notxt.png(mark only). - Screenshots & notes live in
docs/.
Licensed under the GNU General Public License v3.0. See LICENSE and NOTICE.
Disclaimer — ClashFest is provided as-is, without warranty. Use it responsibly and in compliance with local law, provider terms, and upstream licenses.
ClashFest builds on the open Clash / Meta stack. If you use or ship derivatives, keep copyright and license notices intact. If ClashFest is useful for you, consider giving the project a star ⭐
| Project | What it is | Link |
|---|---|---|
| Clash Meta for Android | Upstream Android client this tree forked from | MetaCubeX/ClashMetaForAndroid |
| mihomo | Clash.Meta core (Go) used under the hood | MetaCubeX/mihomo |
| Meta rules dat | Community geo / ruleset data releases (our Geo Data Source presets mirror these) | MetaCubeX/meta-rules-dat |
| Mieru | UDP port hopping VPN protocol; mierus:// subscription links are supported as imports | enfein/mieru |
| SlothClash (Desktop) | Companion desktop client in the same ecosystem (Wails · Go · React) | Nemu-x/SlothClash |
| Documentation | Mihomo / Meta docs (rules, parsers, …) | wiki.metacubex.one |









