字节笔记本

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 下载对应平台的内核文件:

平台目标路径
Windowswindows/core/libclash.dll
Linuxlinux/core/libclash.so
Androidandroid/app/libs/libclash.aar
macOSmacos/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      # macOS

3. 打包发布

项目使用 flutter_distributor 进行打包,具体步骤参考官方文档。

使用说明

详细的使用文档请访问:https://mapleafgo.github.io/clash-for-flutter

项目历史

自 1.0.0 版本开始,本软件全面从之前的 Go-Flutter 迁移到了官方 Flutter 版本。迁移过程中部分参考了 Fclash 项目,在此表示感谢!

相关项目

  • Clash - 原版 Clash 代理工具
  • Fclash - 另一个 Flutter 版 Clash 客户端
  • cff-core - 本项目使用的 Clash 内核

开源协议

本项目基于 MIT 协议开源。

项目链接

分享: