Open source · Clash Meta core

FlClashSetup guide

Built on the Clash Meta core, with subscription imports, rule-based routing, and TUN mode in one place.

  • Open source
  • GPL-3.0
  • Cross-platform Flutter app

Choose a client by operating system

CONFIGURATION WORKSPACE

FlClash profiles and traffic routing

Understand profile sources, traffic capture, and routing rules before adjusting settings for your needs. The interface toggles enable features, while the active profile and proxy groups determine where traffic goes.

Subscriptions and multiple profiles

Add a subscription URL on the Profiles page, or import an existing local profile file, then select the one you want to use. Multiple profiles are useful for separating subscription providers or test environments; saving several profiles does not combine them. Unlike running the core alone, FlClash lets you import, update, and switch profiles from a graphical interface. Subscription updates may replace content supplied remotely. Before adding persistent custom rules, check how profile overrides work to avoid losing changes when an update overwrites generated files.

Built with Flutter.
Connections handled by Clash Meta.
Source code available under GPL-3.0.

The client manages profiles and system integration; the core handles protocols, DNS, and rule processing; subscription providers supply nodes and related settings. These are separate layers. When something goes wrong, identify which layer is involved before toggling settings at random—this helps preserve useful clues.

PLATFORM ENTRIES

Find downloads for your operating system

Check your device architecture before choosing an installer. The links below take you to client listings for each platform. iOS links offer alternative compatible clients; FlClash does not provide an iOS installer.

Windows

A good fit for users who need a system proxy, subscription management, and desktop TUN. Check your processor architecture in system information before installing. Start by importing a profile and testing a browser connection; grant permission when prompted if you enable a virtual network adapter. If another proxy app is running, turn off its traffic capture first to prevent multiple apps from repeatedly changing system proxy settings.

macOS

Use the chip information in About This Mac to choose the Apple Silicon or Intel installer. After installation, import a subscription and check the proxy status in network settings. TUN requires additional permissions, so set it up after confirming the regular proxy works. If your browser cannot connect after quitting the app, check whether system proxy settings still point to a local port.

Android

Choose an installer for your device's supported architecture, then approve the system VPN connection request after importing your profile. If the connection drops when the screen locks, check battery optimization, background activity, and the manufacturer's autostart restrictions. Phones typically allow only one app to use the VPN slot at a time. Disconnect the previous client before switching, then test with a new request to verify that the rules and nodes are working.

iOS

The download center links to Clash Plus on the App Store and lists its official website, clashplus.io. Before choosing a client, confirm that it supports your subscription format and required routing features. Add the profile and authorize the network connection as prompted by the app. Settings vary between clients; do not copy desktop TUN options directly to a mobile OS. Use the options provided by the app.

Linux

Use a graphical client on desktop. For servers and routers, check the core options. Before installing, confirm your distribution's package format and dependencies. TUN also requires consideration of permissions, routing, and DNS management services. If terminal commands do not use the proxy, check whether the program reads proxy environment variables; browser access alone does not mean every process is routed.

Verify your profile after installation

Downloading a client is only the first step. Confirm that the subscription parses, the active profile is selected, and a proxy group has an outbound selected; then check how traffic is captured. When troubleshooting, change one thing at a time and keep logs from before and after each change. Avoid switching clients, nodes, and DNS settings all at once, or you may lose a useful point of comparison.

View all clients →

SOURCE & MAINTENANCE

Open source and configuration boundaries

Understand the client from three angles: source code, core, and subscription. This site collects download links and guides; it does not provide proxy nodes or handle connection issues on behalf of subscription providers.

Project origins and client development

FlClash is an open-source client built with Flutter and Clash Meta. Its public source repository covers the interface, platform integrations, and build-related content. The Clash ecosystem includes graphical clients and core forks maintained by different developers. Supporting Clash configurations does not mean they share release channels, maintenance schedules, or feature layouts. Before moving from an older client, back up your subscription URL and custom rules, then check what the new client supports instead of overwriting the old directory.

When exploring a project, start with the README's platform notes and usage instructions, then check release notes for changes affecting your operating system. Useful bug reports include reproduction steps, OS details, relevant configuration, and redacted logs. “Connection failed” alone is rarely enough to distinguish a permissions, format, node, or routing problem. Before posting publicly, remove credentials from subscription URLs, node passwords, and personally identifying account details.

Clash Meta and mihomo

The project that followed the Clash Meta core is commonly known as mihomo. You may see both names in documentation, configuration fields, and logs. FlClash provides a graphical interface on top, but protocol compatibility, rule matching, and DNS behavior depend largely on the core actually integrated. Successfully importing a YAML file only shows that it was parsed; to determine whether a connection can be established, also check protocol parameters, proxy group references, and current network conditions.

Troubleshoot in this order: did the request reach the core, did it match the expected rule, and was a working outbound selected? If the request is missing from the logs, check the system proxy, the app's own proxy settings, and TUN traffic capture first. If the request appears with the expected outbound, look at DNS resolution, the handshake, and the remote connection. This layered approach also applies to other clients built on similar cores.

GPL-3.0 and source code

FlClash is licensed under GPL-3.0. Users can consult the source code and release notes to understand how the software works. Before modifying, redistributing, or integrating the project, review the repository's license and dependency licenses, preserve notices, and meet the applicable obligations. An open-source license sets terms for using the code; it does not make the project responsible for subscription services, remote servers, or network conditions.

Get the FlClash source code

View project repository ↗
git clone https://github.com/chen08209/FlClash.git

App updates and subscription updates are separate

App updates change the interface, system integrations, or bundled core. Subscription updates fetch nodes, rules, and proxy groups from the profile source. They solve different problems: a broken node does not necessarily call for reinstalling the client, and an app permission issue may not be fixed by refreshing a subscription. Before upgrading, note the active profile, outbound mode, and traffic capture method. Back up important local changes, then retest the same destination through the same outbound after updating.

Subscription URLs often contain account credentials and should be treated like passwords. Never include a full URL in public screenshots, online YAML validators, or support discussions. To share a configuration structure, keep the field names and replace domains, passwords, and tokens with clearly fictional example values. The snippets on this site illustrate how fields relate; they are not a ready-to-use proxy service.

First-use checklist

First, import and select a profile on the Profiles page. Then open Proxies and confirm that the proxy group has available members. Finally, return to the dashboard and enable the traffic capture method you need. Rule mode is suitable for normal routing; Global mode is useful for a brief comparison, but both affect only connections that reach the core. Test with a new request and check the Connections or Logs page. An enabled toggle alone does not show where traffic actually went.

If the subscription updates but the destination remains unreachable, test a different outbound and a different destination. If every outbound fails, check your local network, system clock, and DNS. If the problem starts after enabling TUN, turn it off and compare results with the regular proxy before checking routing, permissions, and other VPNs. See the subscription import guide; for rule sets and DNS, continue to the advanced configuration manual.

CONFIGURATION NOTES

Profile structure and client comparison

Start with where profiles come from and how to switch between them, then learn how YAML sections reference one another. When choosing a different client, compare platforms, cores, and management workflows—not just how similar the interfaces look.