OPEN SOURCE / 04
How the Flutter interface and mihomo kernel work together
FlClash is a graphical client in the open-source Clash ecosystem. The project uses Flutter to organize a consistent cross-platform interface for configurations, proxy groups, logs, system proxy controls, and tools. mihomo handles actual rule matching, protocol processing, DNS, TUN, and traffic forwarding. This distinction matters: interface issues are usually related to permissions, saved configurations, or platform integration, while connection issues require a closer look at kernel logs, rule matches, and network paths.
mihomo carries forward and extends the capabilities of Clash Meta, with YAML remaining the primary configuration format. Subscription services typically provide nodes, proxy groups, and rules; the client loads and switches them, while the kernel executes them. Because these three layers may follow different release schedules, first identify whether a problem lies in the subscription content, the client interface, or the kernel runtime. Blaming every issue on a node can hide more common causes such as DNS, rule order, port conflicts, and system permissions.
The open-source repository provides source code, commit history, issues, and release information, making it useful for checking project maintenance and feature changes. This site organizes available clients by operating system on its download page, while its guides and configuration references turn common tasks into step-by-step instructions. Updates focus on reproducible installation paths, real configuration fields, and clearly defined troubleshooting boundaries rather than unverifiable download counts, ratings, or performance figures.
Client updates and subscription updates are two different things. A client update may change platform support, the interface, or kernel integration; a subscription update refreshes the nodes, proxy groups, and rules supplied by the service. Preserve the currently working configuration before updating, then reload it and check key policies afterward. If you have many custom settings, use overrides or merging to preserve local differences instead of editing a subscription file that will be replaced on every update.