Open-source Clash client · Powered by mihomo

Download FlClash

A cross-platform Clash client: use one compatible subscription on desktop and mobile. FlClash includes subscription management, rule-based routing, and TUN mode.

Open-source code Cross-platform interface Setup guides
Client downloads

Choose a Clash client for your platform

Start by identifying your operating system, then check your processor architecture. FlClash offers desktop and Android clients; iOS requires a separate compatible client. Whether you can reuse a subscription depends on its format, protocol support, and your provider’s device limits. A similar interface does not mean every setting can be transferred as-is.

Windows

A good fit for everyday desktop use. Choose from clients such as FlClash, Clash Plus, and Clash Verge Rev. Check your processor type in system settings before downloading. On first launch, import a profile and enable the system proxy to test your browser connection. If you need to route traffic from more apps, follow the TUN setup guide and grant the required permissions.

Download →

macOS

Choose the package for your Apple Silicon or Intel Mac; check your chip in About This Mac. After installation, grant any network permissions requested by macOS. Before switching clients, quit your existing proxy app so the system proxy does not point to a closed process.

Download →

Android

Choose a client such as FlClash or Clash Meta for Android, and make sure the package architecture matches your device. On first connection, approve the system VPN request. For a persistent background connection, check battery optimization and background activity permissions. Per-app proxy settings affect only selected apps; they do not replace domain rules in your profile.

Download →

iOS

On iPhone or iPad, use the download page to open the Clash Plus App Store listing. Its official website is clashplus.io. Before importing, make sure your subscription supports the client, then allow it to add a VPN configuration on first launch. Desktop file paths and system proxy options cannot be transferred directly to mobile.

Download →

Linux

On desktop Linux, choose Clash Verge Rev or FlClash and select a package that matches your distribution. Whether the system proxy works depends on your desktop environment and the app. Servers and routers are usually better suited to running the mihomo core directly. TUN requires network permissions; review your routing and DNS settings before enabling it.

Download →

The downloads page lists available clients, package architectures, and system requirements. Keep your existing profile before switching clients. Updating a subscription and updating an app are separate tasks.

View all clients →
Key features

Subscriptions, rules, and traffic routing

Follow a request from profile setup to its outbound route, and see what the client handles versus the core.

Import subscriptions and schedule updates

FlClash manages subscription links and local profiles together on the Profiles page. Add a link, download its contents, then select the profile you want to use. The auto-update interval controls when the client fetches the subscription again; it is separate from app updates. You can save multiple profiles, but check that your proxy group selections still work when switching between them. A subscription refresh may overwrite rules in a remote profile, so save long-term customizations using a method supported by the client. Unlike a static file imported just once, subscription management makes it easier to receive ongoing node and rule changes from your provider. The subscription source remains responsible for keeping the link valid.

See how to import a subscription →
Quick start

From subscription import to a verified connection

For your first setup, get one verifiable connection working before adding custom rules or expanding traffic capture. These three steps are for users who already have a compatible subscription. The client loads the profile; the subscription provider is responsible for node and service availability.

  1. Install a client and import a subscription

    Install a client that matches your operating system and processor architecture. Open the Profiles page, add your subscription link, and save it. Once the download completes, select the profile and check that proxy groups appear on the Proxies page. If you received a single-node link, first confirm the client supports importing it directly. Pasting an ordinary webpage URL into the subscription field usually will not produce a usable profile.

    Give profiles names that make their purpose clear, and store subscription links somewhere secure. Access tokens in a link may be tied to your account, so redact them before sharing logs or screenshots. If import fails, check that the address is complete and the subscription has not expired, then confirm the format with your provider. Reinstalling the client repeatedly is unlikely to help.

  2. Select rule mode and an outbound policy

    Select rule mode on the dashboard, then choose an available outbound option for the required proxy group on the Proxies page. Rule mode preserves the profile’s existing split between direct and proxied traffic. Global mode can help with a brief comparison or troubleshooting, but it does not rewrite the profile’s rules. After changing modes, make a new request to test the result; existing connections may not switch routes immediately.

    On desktop, start by enabling the system proxy. On mobile, allow the VPN configuration when prompted by the system. Enable TUN separately only if needed, and check its permissions. Avoid changing the mode, DNS, and traffic capture method all at once; otherwise, it is hard to tell which setting affected the connection.

  3. Start the connection and check the matched route

    After connecting, visit a specific destination and check the connection log or records for its domain, matched rule, and outbound policy. Opening a page in the browser is only a first check; also confirm that the apps you want to proxy are being captured. If only one or two apps have problems, check their own proxy settings and whether they still point to an old port.

    For timeouts, troubleshoot in this order: local network, subscription validity, traffic capture status, DNS, and node. Change one setting at a time and retest, noting which combination restores the connection. Once everything works, enable automatic subscription updates. If a later update fails, you will still have a known-good profile to compare against.

Open-source project and configuration basics

FlClash, mihomo, and the Clash ecosystem

The client interface, proxy core, and subscription each have different roles. Understanding how these three layers fit together helps you choose what to download, know what to update, and find the right place to start troubleshooting. This site provides downloads and guides; refer to the corresponding open-source repositories for code and release history.

Project background and public records

FlClash is an open-source client built with Flutter and mihomo. Flutter provides the foundation for its cross-platform interface, while mihomo handles proxy protocols, DNS, and rules. FlClash is part of the Clash configuration ecosystem; it is not a single app that combines every legacy Clash client. Different clients may use similar configuration syntax while differing in system integration and maintenance schedules.

To check a project’s status, review its repository release notes, commit history, and issue discussions. Release notes are the best place to see whether an update affects a feature you use; issue discussions can add reproduction details for specific system environments. Public records let you trace changes—they are more informative than using a star count to predict stability on every device.

Client interface and core capabilities

FlClash organizes profile management, proxy selection, and log viewing into an interface you can use. How requests match rules and which protocol establishes a connection depend on the core and active profile. A switch in the interface does not guarantee that your service’s nodes support the corresponding feature. Likewise, core support for a protocol is not enough without complete, correct node parameters.

mihomo continues the technical direction of Clash Meta and keeps expanding its protocol and rule capabilities. Original Clash, Meta, and mihomo often appear together in subscription documentation; treat them as compatibility details to verify when choosing a client. For more on protocol trade-offs, resource usage, and mobile use cases, see the protocol guide.

App updates and subscription updates

An app update replaces the client program and may include interface fixes, system compatibility changes, or a different bundled core. A subscription update fetches profile content again, mainly affecting nodes, proxy groups, and rules. They are not interchangeable: if a subscription URL has expired, updating the app usually cannot restore access. If a profile uses newer fields, refreshing the subscription will not make an old core recognize them.

Before updating, keep a working profile and any important local settings, and read the release notes relevant to your system. After updating, verify your existing connection before enabling new features. If a profile fails to load, use field or rule errors in the logs to find the cause. Do not delete the entire settings directory straight away; you could lose records needed to roll back.

Subscription sources and privacy

Installing a client is only part of the setup; you still need a working profile. Subscriptions usually come from an existing service account or a self-hosted service. FlClash does not determine which nodes a subscription contains. When choosing a source, check the protocol format, device limits, update URL, and service documentation. Shared profiles from unknown sources may include DNS, routing, or remote rule settings that are unsuitable for your setup. Understand what they do before importing.

When reporting an issue, include your operating system, steps to reproduce, and redacted error logs. Never post subscription URLs, node passwords, access tokens, or account details in a public discussion. If you do not have a subscription yet, read the subscription source guide. To make sense of unfamiliar fields, use the quick glossary to distinguish nodes, policy groups, rule sets, and DNS.

View the FlClash source code

If Git is installed, copy the command to clone the repository locally. Cloning the code is for reading or development, not installing the client. For everyday use, choose an installer from the downloads page.

Open the FlClash repository ↗
git clone https://github.com/chen08209/FlClash.git

Guides and tips

Rule setup and connection troubleshooting

Start with the specific symptom and narrow down the cause step by step. Before reading, note your active profile, outbound mode, and traffic capture method so you can compare them with the checks in the guide. After changing a setting, make a new connection request rather than judging a new rule by an existing connection.

Download the latest Clash version