139 lines
5.7 KiB
Markdown
139 lines
5.7 KiB
Markdown
<div align="center">
|
|
|
|
<img src="assets/images/icon.png" alt="FlClash" width="88">
|
|
|
|
# FlClash
|
|
|
|
A multi-platform proxy client based on ClashMeta. Simple to use, open source and ad-free.
|
|
|
|
**English** · [简体中文](README_zh_CN.md)
|
|
|
|
[](https://github.com/chen08209/FlClash/releases/latest)
|
|
[](https://github.com/chen08209/FlClash/releases)
|
|
[](LICENSE)
|
|
[](https://t.me/FlClash)
|
|
|
|
[Website](https://chen08209.github.io/FlClash) · [Download](#download) · [Changelog](CHANGELOG.md) · [Build from source](#build-from-source)
|
|
|
|
</div>
|
|
|
|
<p align="center">
|
|
<picture>
|
|
<source media="(prefers-color-scheme: dark)" srcset="snapshots/preview-dark.png">
|
|
<img alt="FlClash dashboard on a MacBook and a phone" src="snapshots/preview.png" width="92%">
|
|
</picture>
|
|
</p>
|
|
|
|
## Features
|
|
|
|
- **One app for Android, Windows, macOS and Linux**, with x64 and ARM64 builds on the desktop.
|
|
- **mihomo (Clash.Meta) core** with rule routing, proxy groups, latency tests, system proxy and TUN mode.
|
|
- **Profiles** from a subscription link or a file, with a built-in editor, override scripts, and custom rules,
|
|
proxies and proxy groups.
|
|
- **Live views** of connections, requests, DNS queries and logs.
|
|
- **Material You design with Apple-style interaction**: dynamic color, light and dark themes, continuous corners,
|
|
sheets that snap between heights, and layouts that adapt from phones to desktops.
|
|
- **Backup and restore** through WebDAV or a local file.
|
|
- **Platform touches**: a Quick Settings tile, per-app proxy and Android TV support on Android; a tray menu and
|
|
global hotkeys on the desktop.
|
|
- **Open source and ad-free**, licensed under GPL-3.0.
|
|
|
|
## Download
|
|
|
|
Get the latest build from [GitHub Releases](https://github.com/chen08209/FlClash/releases/latest), or open the
|
|
[website](https://chen08209.github.io/FlClash#download), which picks the right file for your device.
|
|
|
|
| Platform | Packages | Notes |
|
|
| --- | --- | --- |
|
|
| Android | APK for `arm64-v8a`, `armeabi-v7a` and `x86_64` | Most phones use `arm64-v8a`. Also on the F-Droid repository below. |
|
|
| Windows 10 and later | Installer (`.exe`) or portable `.zip`, for x64 and ARM64 | Pick ARM64 on Snapdragon and other ARM laptops. |
|
|
| macOS 12 and later | DMG for Apple Silicon and Intel | Also on Homebrew. |
|
|
| Linux | `.deb`, `.rpm` and AppImage, for x64 and ARM64 | See the tray note below. |
|
|
|
|
<p>
|
|
<a href="https://chen08209.github.io/FlClash-fdroid-repo/repo?fingerprint=789D6D32668712EF7672F9E58DEEB15FBD6DCEEC5AE7A4371EA72F2AAE8A12FD"><img alt="Get it on F-Droid" src="snapshots/get-it-on-fdroid.svg" height="56"></a>
|
|
<a href="https://github.com/chen08209/FlClash/releases/latest"><img alt="Get it on GitHub" src="snapshots/get-it-on-github.svg" height="56"></a>
|
|
</p>
|
|
|
|
**Homebrew**
|
|
|
|
```bash
|
|
brew tap chen08209/tap
|
|
brew install --cask flclash
|
|
```
|
|
|
|
**Linux tray icon**
|
|
|
|
The `.deb` package installs its own dependencies. With the AppImage or the `.rpm`, install the AyatanaAppIndicator
|
|
library so the tray icon can show:
|
|
|
|
```bash
|
|
sudo apt-get install libayatana-appindicator3-1 # Debian and Ubuntu
|
|
sudo dnf install libayatana-appindicator-gtk3 # Fedora
|
|
```
|
|
|
|
## Usage
|
|
|
|
**Import a profile from a link.** Opening a link in this form imports the subscription into FlClash. The `clashmeta://`
|
|
and `flclash://` schemes work the same way.
|
|
|
|
```text
|
|
clash://install-config?url=<URL-encoded subscription link>
|
|
```
|
|
|
|
**Automate on Android.** Tasker, MacroDroid and similar apps can start, stop or toggle the proxy by starting an
|
|
activity with one of these actions:
|
|
|
|
```text
|
|
com.follow.clash.action.START
|
|
com.follow.clash.action.STOP
|
|
com.follow.clash.action.TOGGLE
|
|
```
|
|
|
|
From a computer, the same works over adb:
|
|
|
|
```bash
|
|
adb shell am start -a com.follow.clash.action.TOGGLE
|
|
```
|
|
|
|
## Build from source
|
|
|
|
You need [Flutter](https://docs.flutter.dev/get-started/install) 3.47 (release builds use 3.47.6),
|
|
[Go](https://go.dev/dl/) 1.27 and [Rust](https://rustup.rs/) installed through rustup. Each platform builds on its own
|
|
host, except Android, which builds anywhere.
|
|
|
|
```bash
|
|
git clone --recursive https://github.com/chen08209/FlClash.git
|
|
cd FlClash
|
|
flutter pub get
|
|
dart setup.dart android # or windows, macos, linux
|
|
```
|
|
|
|
Packages land in `dist/`. The Go core and the Rust libraries are compiled as part of the Flutter build.
|
|
|
|
| Platform | Also needed |
|
|
| --- | --- |
|
|
| Android | Android SDK with the NDK. Add `--arch arm64` to build a single ABI. |
|
|
| Windows | GCC (MinGW-w64) for the core and [Inno Setup](https://jrsoftware.org/isinfo.php) 6 for the installer. |
|
|
| macOS | Xcode and Node.js. The script installs `appdmg` through npm. |
|
|
| Linux | Debian or Ubuntu. The script installs the build packages with apt and downloads `appimagetool`. |
|
|
|
|
Run `dart setup.dart --help` for the remaining options, such as `--targets` to build only some package formats.
|
|
|
|
## Support
|
|
|
|
Starring the repository is the easiest way to support the project. Questions and announcements go to the
|
|
[Telegram channel](https://t.me/FlClash); bugs and feature requests go to
|
|
[GitHub Issues](https://github.com/chen08209/FlClash/issues).
|
|
|
|
<a href="https://star-history.com/#chen08209/FlClash&Date">
|
|
<picture>
|
|
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=chen08209/FlClash&type=Date&theme=dark">
|
|
<img alt="Star history" src="https://api.star-history.com/svg?repos=chen08209/FlClash&type=Date" width="640">
|
|
</picture>
|
|
</a>
|
|
|
|
## License
|
|
|
|
FlClash is released under the [GPL-3.0 license](LICENSE).
|