字
字节笔记本
2026年2月22日
clash-for-flutter:基于 Flutter 的 Clash 多平台客户端
本文介绍 clash-for-flutter,一个基于 Flutter 开发的 Clash 多平台桌面客户端,支持 Windows、Linux、macOS 和 Android 平台。
项目简介
clash-for-flutter 是 Clash 的一个多平台客户端实现,由 mapleafgo(慕枫Go)开发维护。该项目使用 Flutter 框架开发,提供了美观的图形界面,让用户可以方便地管理和使用 Clash 代理服务。截至目前,该项目在 GitHub 上已获得 945+ stars 和 143 forks。
核心特性
- 多平台支持:同时支持 Windows、Linux、macOS 和 Android 平台
- 现代化界面:基于 Flutter 的精美 UI 设计,提供直观的操作体验
- 系统托盘集成:支持最小化到系统托盘,方便后台运行
- 完整代理功能:支持订阅管理、代理切换、连接监控等核心功能
- TUN 模式支持:内核基于 Clash v1.18.0 二次开发,增加了 TUN 模式支持(参照 Meta 实现)
- 窗口管理:支持窗口最小化、最大化、置顶等操作
界面预览
项目提供了完整的图形界面,主要包含以下页面:
- 主页:显示当前连接状态和流量统计
- 代理页:管理代理节点和规则
- 日志页:查看实时连接日志
- 连接页:监控当前活跃连接
- 订阅页:管理配置文件订阅
- 设置页:配置应用各项参数
技术栈
- Flutter v3.16+:跨平台 UI 框架
- Go:Clash 核心内核开发语言
- Clash:开源代理工具核心
- tray_manager:系统托盘管理
- window_manager:窗口管理
- proxy_manager:代理配置管理
- flutter_modular:模块化架构
- dio:网络请求库
- flutter_distributor:应用分发打包
开发环境要求
基础环境
- Flutter v3.16 或更高版本
- 对应平台的开发环境(如 Android 需要 Android SDK)
Linux 特殊依赖
Linux 环境下需要安装 libayatana-appindicator3-dev 以支持系统托盘功能:
bash
# Ubuntu/Debian
sudo apt-get install libayatana-appindicator3-dev安装指南
下载预编译版本
访问项目的 GitHub Releases 页面下载对应平台的安装包。
从源码编译
1. 下载内核
从 cff-core releases 下载对应平台的内核文件:
| 平台 | 目标路径 |
|---|---|
| Windows | windows/core/libclash.dll |
| Linux | linux/core/libclash.so |
| Android | android/app/libs/libclash.aar |
| macOS | macos/Frameworks/libclash.dylib |
注意:解压后仅保留所需后缀的文件,并将其改名为路径指定的文件名。
2. 编译运行
bash
# 1. 获取项目依赖
flutter pub get
# 2. 生成 .g.dart 文件
dart run build_runner build --delete-conflicting-outputs
# 3. 运行项目(根据目标平台选择)
flutter run -d linux # Linux
flutter run -d windows # Windows
flutter run -d android # Android
flutter run -d macos # macOS3. 打包发布
项目使用 flutter_distributor 进行打包,具体步骤参考官方文档。
使用说明
详细的使用文档请访问:https://mapleafgo.github.io/clash-for-flutter
项目历史
自 1.0.0 版本开始,本软件全面从之前的 Go-Flutter 迁移到了官方 Flutter 版本。迁移过程中部分参考了 Fclash 项目,在此表示感谢!
相关项目
开源协议
本项目基于 MIT 协议开源。
项目链接
分享: