Skip to content

ClashFest

GitHub nemu-x/clashfest

Install ClashFest

Download Zapstore

Download
QR code for zapstore.dev/download
  • Scan the code with your phone’s camera
  • Tap Download anyway if the browser warns about the file
  • Allow your browser to install unknown apps if Android asks
  • Open Zapstore and finish the onboarding

Open ClashFest in Zapstore

Open
QR code to open ClashFest in Zapstore
  • Scan the code to open ClashFest in Zapstore, or search for it there
  • Tap Install, and Download if Zapstore asks you to confirm the developer
  • Confirm in Android’s install dialog. Allow Zapstore to install unknown apps if Android asks

Unclaimed app

The catalog lists ClashFest from GitHub nemu-x/clashfest and signs its releases. The developer has not claimed it. The file is still checked before you install it.

Are you the developer? Cryptographically prove you hold the key that signs it.

How trust works

Rule-based proxy client on the mihomo core. Import subscriptions, connect, and manage routing with per-app rules, custom DNS, and live connection logs.

ClashFest is a rule-based proxy / VPN client for Android built on the mihomo (Clash.Meta) core.

Made for the common case: paste or scan a subscription link, tap Connect, done. The subscription stays untouched; everything you change in the app lives in a separate layer on top of it.

Features

  • VLESS (REALITY, XHTTP, Vision), VMess, Trojan, Shadowsocks, Hysteria2, TUIC, WireGuard, SSH, mieru and more, via the mihomo core

  • Subscriptions in Clash YAML format with headers from your operator (quota, expiry, announcements, branding)

  • Per-app routing (allow-list / block-list), rule sets, custom rules, DNS and hosts editor, tunnels

  • Proxy groups inline on the home screen: pick a node, test latency of one node or a whole group

  • Live connections and logs

  • Hardened by default: local SOCKS/HTTP listeners are closed, geo downloads only from trusted mirrors

  • QR scanner without Google services

  • Remote control of a TV box on the same network

Privacy: no analytics, no tracking, no developer server. Your traffic goes to the servers of the operator you chose.

Summary generated by Zapstore from source.

Original description, as the developer published it.

Zap ClashFest

Zapping anonymously. Sign in to zap with your identity.

No developer has verified this app yet, so sats go to npub1gnwq4…thdn3y, the catalog that brought it to you.

Amount in sats

Latest release

Oct 23, 2026

Unclaimed app No Google servicesSource available · GPL-3.0-only

The catalog lists this app from GitHub nemu-x/clashfest and signs its releases. The developer has not claimed it. Are you the developer? Claim your app

The app can install packages and sees all installed apps. It uses the camera to scan QR codes.

Permissions

CameraNotificationsInstalled appsInstall apps What they allow
  • Camera CAMERA Take photos and record video To scan QR codes.
  • Notifications POST_NOTIFICATIONS Send you notifications
  • Installed apps QUERY_ALL_PACKAGES See every app installed on this phone To list installed apps for per-app routing.
  • Install apps REQUEST_INSTALL_PACKAGES Install other apps To install downloaded updates.

Release notes

A remote for your TV, a real Android TV interface, core 1.19.33 and Citrus compatibility.

📺 New — Control your TV from your phone

Pair your phone with ClashFest on an Android TV and drive it from the couch, without a VPN on the phone.

  • Pair in seconds. On the TV, Settings → Remote control shows a big QR code and a PIN; scan it from the phone, then Control a TV.
  • A remote that looks like Home. Power, live speed, Rule / Global, active profile and node — plus the same node picker with latency tests.
  • More when you need it. Profiles, connections, providers, safe settings (IPv6, TUN stack) and actions like Health check and Reconnect.
  • Always in sync. The remote presses the TV app's own buttons, and anything changed on the TV shows up on the phone instantly.
  • Clean exit. Forget TV unpairs it even when the TV is offline.

🛋️ New — A real Android TV interface

  • Built for the remote. Left rail instead of the bottom bar, two-column Home, node picker as a side panel, clear D-pad focus everywhere, overscan-safe margins.
  • Simpler by default. Things that can't work on a TV (camera scan, clipboard, copy buttons) are gone; power tools — rules editor, proxy chain, config editors, Browse files — wait behind Settings → Advanced tools on TV.

🍊 New — Citrus compatibility (experimental)

ClashFest stays on vanilla mihomo, but now understands configs written for the Citrus core.

  • New transports and groups. VLESS over XDrive (client side) and type: chain groups with per-hop health checks.
  • REALITY extras. Per-proxy client-version and mldsa65-verify, Xray fingerprint names, comma-separated pins and names, ECH in the Xray forms.
  • Tuning keys. OpenVPN server identity, disable-mtu-discovery (Hysteria2, MASQUE), tcp-connect-timeout, sniffer.skip-threshold, dns.serve-expired.
  • Panels can tell. The subscription User-Agent lists these features, so providers serve them only to clients that support them.

⚙️ Core — mihomo 1.19.33

  • Security fix in crypto/tls (CVE-2026-97031).
  • Fake-IP pool fix, rewritten dialer-proxy loop check, sub-millisecond latency results, newer WireGuard and mieru.

🎯 Node picker polish

  • Stays open. A short pull no longer closes it; visible handle, fixed height (no jump on first open), sticky group header.
  • Reads at a glance. Collapsed groups show their current node; protocol badges are one capsule (VLESS · WS · TLS) with a new TLS badge; Hysteria2 / TUIC show QUIC; latency is a tinted pill.

🛠️ Fixes

  • Operator headers apply on every update. Network stack, share-links lock and bypass preset no longer lag by hours, and a header the provider removed is cleared. If the stack changes, the app asks you to reconnect.
  • Fresh groups after an update instead of stale members in the picker.
  • Deleting the active profile switches to another one instead of leaving none selected.
  • No more garbled profile names like >��iS�.
  • Scheduled auto-update fires again — it now counts from the last download, not the last connect.
  • App Routing shows preinstalled apps such as Gemini, Chrome, YouTube and Gmail.
  • GeoIP / GeoSite rules work in the Google Play build — the databases are bundled now.
  • Edge-to-edge on Android 15+ uses the current APIs.

🏪 Google Play & F-Droid

ClashFest is live on F-Droid and approved on Google Play. All channels ship the same package and signing key, so you can switch without reinstalling.


🧪 Tested on-device: Moto razr 40 (Android 15) and Android TV emulators, against real and lab subscriptions.

What's Changed

Full Changelog: https://github.com/Nemu-x/ClashFest/compare/v1.2.2...v1.3.0

Comments

Loading comments…

See more

Get ClashFest the private way

Updates checked on your device, and every release verified before it installs.

Get Zapstore for Android

  1. Tap Download APK below.Scan the code with your Android phone’s camera.
  2. If Android asks, allow your browser to install unknown apps.
  3. Open Zapstore and finish the onboarding.
Download APK

v2.0.4 · 71.2 MB · Android 10+

Verify the download

On a computer, run shasum -a 256 <the file you downloaded>. It should print: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

If you have zsp, Zapstore’s publishing tool, zsp utils extract-apk <the file you downloaded> works too. Its hash should be the same SHA-256: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

On the phone, AppVerifier should show this signing certificate: 99e33b0c2d07e75fcd9df7e40e886646ff667e3aa6648e1a1160b036cf2b9320

Source code All releases and notes

Get zsp

  1. Download the file for your computer.
  2. Make it executable and put it on your PATH.
  3. In your project folder, run zsp.

Have Go? This does the same:

go install github.com/zapstore/zsp/v2/cmd/zsp@latest
macOS, Apple silicon Linux, x86-64 Linux, arm64

v2.0.1 · macOS and Linux

Verify the download

On your computer, run shasum -a 256 <the file you downloaded>. It should print the SHA-256 for the one you chose.

macOS, Apple silicon · 18.6 MB 99018fb9744e5ace2b44557550dc333496239912c0e9b1137266d4922c803346

Linux, x86-64 · 23.8 MB 1ef5373f8ecd9ba63d2c3fab98abb0d31b2244a2aac31b3749fb205c7d5f5b38

Linux, arm64 · 22.1 MB e421005ee47cba58293dce4277bb784e4cfe706dbbcb8617d671629d0238be18

Source code All releases and notes