Skip to content

About the Android and Windows app

MeowX for Android and Windows is a separate app from MeowX for iPhone, iPad and Mac. It looks and works the same way (the same four tabs, the same pink-and-cream design, the same account and subscription features), but under the hood it is a different program.

The Android and Windows app is based on Bettbox, an open-source Flutter proxy client, which in turn descends from FlClash. Bettbox runs the mihomo core (also known as Clash Meta).

MeowX adds its own interface and features on top:

  • The MeowX shell: Home, Nodes, Activity and Me tabs, the sidebar on wide screens, themes and colors.
  • Provider account sign-in, account subscriptions and provider badges on nodes.
  • MeowX’s own overrides: DNS mode, Block QUIC, DNS hijack, bypass list, custom rules, proxying of push services.
  • The built-in network speed test and its history.
  • One-click in-app updates on Windows.

Everything else, including the proxy engine, platform plumbing (VPN service on Android, TUN driver, helper service and tray on Windows) and many advanced settings, comes from Bettbox. Bettbox’s full settings are still there, under Me › Advanced.

The mihomo core is shipped with a few MeowX patches, for example support for the Miu protocol, REALITY on AnyTLS nodes, Snell v6, and a more forgiving config loader: a rule that points to a proxy or rule provider that does not exist no longer makes the whole configuration fail.

The app is free software under the GPL-3.0 license, like Bettbox, FlClash and mihomo. Me › About › Open-source license opens its source code.

Platform Requirement Packages
Android Android Android 8.0 or later arm64-v8a APK (most phones from the last several years) or universal APK (also covers 32-bit ARM and x86_64 devices)
Windows Windows Windows 10 or later, 64-bit (x64) Setup installer (.exe) or portable .zip

On Android tablets and in Windows windows wider than about 700 points, the app switches to a sidebar layout with two or three columns. See Installation for how to choose and install a package.

How it differs from the iPhone, iPad and Mac app

Section titled “How it differs from the iPhone, iPad and Mac app”

The two apps share the design and the account features, but they run different cores, so some things differ.

iPhone, iPad, Mac Android, Windows
Proxy core MeowX’s own core, written in Swift mihomo (Clash Meta), with MeowX patches
HTTPS decryption (MITM) Yes No
Home Screen widgets, Control Center Yes (iPhone and iPad) No. Android has a Quick Settings tile
Per-app proxy No Yes Android (Proxied apps)
How traffic is captured VPN (iPhone, iPad); system proxy or TUN (Mac) VPN (Android); system proxy and/or TUN, which can be on together (Windows)
Signing in to a provider account QR code QR code (Android), username and password (both), or a link from the dashboard
Node statistics Yes No
Bypass list, push-service exception, Block QUIC Apply before everything, in every outbound mode Added as rules at the top of the rule list, so they apply in Rule mode only
Proxy push notifications by default Off (push goes direct) On (push follows your rules)
Advanced core settings Not exposed Bettbox’s full settings under Me › Advanced

Protocol support on Android and Windows follows the mihomo core, not the Protocols section of these docs, which describes the Swift core of the iPhone, iPad and Mac app. In practice:

  • Everything the iPhone and Mac app supports also works on Android and Windows, including Miu, AnyTLS with REALITY, Snell and Mieru.
  • mihomo also supports several things the Swift core does not, for example TUIC, Hysteria (v1), ShadowsocksR, SSH, Snell versions 1 to 3, proxy-providers, and load-balance and relay proxy groups.
  • The validation rules, limits and defaults described on each protocol page are those of the Swift core. On Android and Windows, mihomo’s own behavior applies.

The same subscription works on every platform. Both apps read standard mihomo / Clash Meta configuration and identify themselves to your provider in the same way, so a provider that serves MeowX-specific nodes serves them to both.

What is not shared between devices:

  • Settings and overrides (custom rules, bypass list, DNS hijack and so on) are stored on each device. Set them up again on each device you use.
  • The list of imported subscriptions. If you sign in to a provider account, you can import your account’s subscriptions on each device with one tap.

The Configuration section describes how MeowX’s Swift core interprets config.yaml. Most of it matches mihomo, since the Swift core uses mihomo as its reference, but where the two differ, Android and Windows behave like mihomo.

Install

Installation: which package to pick and which permissions the app asks for.