Karing
- title
- Karing
- type
- toolbox
- summary
- Flutter GUI client for sing-box, cross-platform with multi-subscription routing and sync
- tags
- dart, flutter, proxy, vpn, sing-box, client
- language
- Dart
- license
- Other
- created
- 2026-04-21
- updated
- 2026-04-21
Karing is a cross-platform proxy client built on top of a modified sing-box core, with a Flutter UI that runs on iOS, Android, macOS (Intel + Apple Silicon), Windows, Linux, and tvOS. It ingests subscription formats from the whole circumvention ecosystem โ Clash, V2ray/V2fly, sing-box, Shadowsocks, generic Sub URLs, GitHub-hosted subscriptions โ then runs one unified routing rule set across all of them.
What makes it different
Most GUI clients in this space are tied to one config format: v2rayN speaks v2ray, Clash Verge speaks Clash, Happ speaks VLESS subscriptions only (see happ-proxy). Karing aggregates across formats. You can have a Clash subscription from one provider, a sing-box subscription from another, and a Shadowsocks URL pasted in โ Karing merges them and applies the same routing decision logic to all nodes.
The client also ships the core it uses: a Karing-team fork of sing-box at KaringX/sing-box. This is the same "own-the-core" pattern as mihomo (which forked from Clash to maintain control over the routing engine) and is how the team ships features faster than upstream.
Sync
Unusual for this category: Karing treats config portability as a product feature, not a user problem.
- iCloud on Apple platforms.
- LAN sync over the local network.
- WebDAV for self-hosted storage.
- ZIP import/export for manual transfer.
The practical effect: pair a Mac and an iPhone via iCloud, or a Linux desktop and an Android phone via WebDAV, and subscriptions + custom routing rules stay in sync. Most clients require re-entering subscription URLs on each device.
Routing rules
Ships with default rule groups intended for users who don't know what a rule group is. The defaults draw from the team's own karing-ruleset repo, built-in GeoIP and GeoSite databases, and ACL files. Users who want control can build their own rule groups and node groups โ same mental model as mihomo's rule engine.
The beginner mode is where Karing differs from mihomo most visibly: mihomo is YAML-config-first with optional dashboards; Karing is GUI-first with the rule engine abstracted behind groups and toggles.
Platform coverage
One of the widest distribution footprints in the space:
- iOS / tvOS App Store (search "karing vpn")
- Android (GitHub, APKPure, Amazon AppStore)
- macOS / Windows / Linux (GitHub releases,
brew install karing) - iOS/tvOS TestFlight for betas
The tvOS support is rare โ most proxy clients don't ship Apple TV builds. Linux builds target glibc โฅ 2.38, so older distros need to build from source.
System requirements: Windows 10+ (64-bit), Android 8+, iOS 15+, macOS 12+, tvOS 17+.
Tradeoffs
- License is "Other" (the GitHub classifier). Not a standard OSI license โ read the repo's license text before redistribution.
- One more layer on top of sing-box. If you already run sing-box directly from a config file, Karing adds GUI overhead without giving you anything the core doesn't already do. Value is for users who want cross-platform UX and sync without hand-maintaining configs.
- App Store version lags behind GitHub. iOS deployments typically trail because Apple review cycles are slower than the project's release cadence.
Repo
https://github.com/KaringX/karing โ 11,187 stars, Dart/Flutter, created 2023-11. Homepage: karing.app. Sibling project Clash Mi is the same team's Clash-focused client.
Related
- sing-box โ the proxy core Karing wraps
- mihomo โ same "own-the-core" pattern, Go-based, more CLI/YAML-oriented
- 3x-ui โ server-side counterpart (Karing is the client; 3x-ui runs the server)
- xkeen โ transparent proxy on Keenetic routers; Karing is the per-device end of the same spectrum
- happ-proxy โ closer audience overlap (mobile proxy client), narrower protocol support
- xray-tutorial, vless-subscription-format โ the VLESS side of what Karing consumes