// the find
chen08209/FlClash
A multi-platform proxy client based on ClashMeta,simple and easy to use, open-source and ad-free.
FlClash is a Flutter-based GUI client for Clash.Meta, a rule-based proxy/VPN tool popular in regions with restricted internet access. It targets Android, Windows, macOS, and Linux users who want a polished front-end for Clash configs without building or configuring the core themselves.
The Flutter-on-all-platforms approach actually works here — one codebase shipping to Android, Windows, Linux, and macOS with adaptive layouts is genuinely useful for a tool this kind. The architecture is clean: Go core compiled as a shared library, Flutter UI talking to it via FFI/JNI bridges (see core/lib.go and android/core/src/main/cpp/core.cpp), which keeps the proxy logic battle-tested and separate from UI churn. WebDAV sync for config backup is a practical feature that most competing clients skip. F-Droid availability means no Google dependency for Android users, which matters for the target audience.
The build story is brutal: you need Flutter, Go, Android NDK, GCC, and Inno Setup depending on platform, with no Docker image or devcontainer provided — most contributors will give up before getting a working build. The codebase leans heavily on code generation (freezed, riverpod generators) which means the generated files are checked in and diffs are noisy; any model change produces hundreds of lines of churn in .g.dart and .freezed.dart files. iOS is conspicuously absent with no explanation — this is a real gap for half the mobile market, and there's no roadmap entry for it. Localization covers only English, Japanese, Russian, and Simplified Chinese, so the arb files are thin and contributions are hard since there's no translation tooling or contributor guide.