开源项目 FlClash 由 chen08209 发布
原标题:chen08209/FlClash
Dart★ 40,295 stars+190 今日
速览
FlClash 是一款基于 ClashMeta 内核开发的跨平台代理客户端,支持多平台运行。其核心亮点在于界面简洁、易于使用,并承诺开源免费且无广告,适合需要稳定网络代理服务的用户。
AI 深度解读
这是什么
FlClash 是一个基于 ClashMeta 内核构建的多平台代理客户端,由开发者 chen08209 在 GitHub 上开源。该项目主要使用 Dart 语言开发,依托 Flutter 框架实现了跨平台能力,同时底层依赖 Go 语言编写的核心逻辑。
作为一个开源且无广告的项目,FlClash 旨在提供简洁、易用的网络代理体验。它在桌面端(Linux, Windows, macOS)和移动端(Android)均表现良好,目前已在 GitHub 获得约 40,000+ 星标,属于热门开源项目之一。其设计哲学强调现代化 UI 体验与功能实用性的平衡。
解决的问题
- 原生 Clash 客户端体验割裂:传统的 Clash 客户端(如 Clash Verge, Clash for Windows)往往界面较为陈旧或配置复杂。
FlClash解决了用户对于现代化、美观且直观的用户界面的需求。 - 多平台一致性缺失:许多代理工具在桌面和移动端体验差异巨大。
FlClash通过 Flutter 实现了“一次编写,多端运行”,确保用户在手机和电脑上获得一致的交互逻辑和视觉风格。 - 配置同步痛点:用户通常需要在多个设备间维护相同的订阅链接和配置。
FlClash通过集成 WebDAV 支持,解决了多设备间配置数据同步的难题,避免了手动复制粘贴的繁琐。 - 广告与臃肿问题:市面上部分免费代理工具捆绑广告或功能冗余。
FlClash坚持开源、无广告、轻量化的原则,回归工具本质。
核心功能
- 多平台支持:全面覆盖 Android、Windows、Linux 和 macOS 四大主流平台。
- 现代化 UI 设计:
- 基于 Material You Design 设计语言,提供类似 Surfboard 的清爽界面。
- 自适应多种屏幕尺寸,支持深色模式(Dark Mode)及多种颜色主题。
- 订阅管理:
- 支持导入订阅链接(Subscription Link)。
- 支持通过 WebDAV 进行数据同步,实现多设备配置无缝衔接。
- 系统级集成:
- Linux:支持系统托盘图标,通过
libayatana-appindicator3-dev和libkeybinder-3.0-dev实现桌面环境集成。 - Android:支持通过 Intent Action 控制代理状态:
com.follow.clash.action.START:启动代理com.follow.clash.action.STOP:停止代理com.follow.clash.action.TOGGLE:切换代理状态
- Linux:支持系统托盘图标,通过
- 底层内核:基于 ClashMeta,继承了其强大的规则解析能力和性能优势。
亮点 / 与同类相比
-
UI/UX 领先:
- 相比传统 Clash 客户端(如 Clash Premium 原版或早期 Verge 版本),
FlClash的 Material You 设计更加符合现代操作系统的设计规范,视觉体验更流畅、年轻。 - 自适应布局使得其在平板或大屏设备上也能良好展示。
- 相比传统 Clash 客户端(如 Clash Premium 原版或早期 Verge 版本),
-
技术栈优势:
- Dart + Flutter + Go:混合架构结合了 Flutter 的跨平台 UI 能力和 Go 的高性能网络处理。相比纯前端或纯原生方案,开发效率和运行效率取得了较好平衡。
- 构建脚本自动化:提供
dart setup.dart脚本,自动处理各平台的依赖安装(如 Linux 的 apt 包、Android 的 NDK 设置等),降低了编译门槛。
-
轻量与纯净:
- 无广告、无捆绑软件。
- 代码开源透明,社区活跃,便于审计和安全验证。
-
WebDAV 同步:
- 这是相比许多同类竞品的一大亮点。用户可以将配置存储在私有云盘(如 Nextcloud、Seafile 等)或公共 WebDAV 服务中,实现真正的“一处修改,处处同步”。
适合谁用 / 上手
适合人群:
- 技术爱好者:喜欢折腾开源工具,关注 UI 设计和用户体验的用户。
- 多设备用户:同时使用 Android 手机和 Windows/Linux/macOS 电脑,需要配置同步的用户。
- Clash 用户:熟悉 Clash 规则体系,但希望获得更现代化客户端体验的用户。
- 开发者:对 Flutter 或 Go 技术栈感兴趣,希望参考其架构实现的开发者。
上手指南:
-
环境准备:
- 安装 Flutter SDK 和 Go 语言环境。
- 根据目标平台安装相应依赖:
- Android:安装 Android SDK 和 NDK,设置
ANDROID_NDK环境变量。 - Windows:安装 GCC 和 Inno Setup。
- Linux:安装
libayatana-appindicator3-dev和libkeybinder-3.0-dev(也可通过 setup 脚本自动安装)。 - macOS:无需额外复杂依赖,需 macOS 客户端环境。
- Android:安装 Android SDK 和 NDK,设置
-
获取代码:
git clone <repository-url> cd FlClash git submodule update --init --recursive -
构建应用: 使用提供的 setup 脚本进行平台特定构建:
- Android:
dart setup.dart android - Windows:
dart setup.dart windows - Linux:
dart setup.dart linux - macOS:
dart setup.dart macos
- Android:
-
使用:
- 导入订阅链接。
- 配置 WebDAV 地址、用户名和密码以实现同步。
- 选择主题和颜色模式。
- 启动代理即可使用。
提示:对于非开发者用户,建议直接前往 GitHub Releases 页面下载预编译的二进制文件,无需自行编译。
查看原文 →github.com
