这是一个 Clash 的桌面客户端,支持 windows、linux、macos。
-
基础环境
GCC
、Go v1.20+
、Flutter v3.10+
Linux
环境下 tray_manager 需要libayatana-appindicator3-dev
orlibappindicator3-dev
-
编译项目
# 1. 获取项目依赖 $ flutter pub get # 2. 生成 .g.dart 文件 $ dart run build_runner build --delete-conflicting-outputs # 3. 编译 Clash 内核 $ cd core # windows $ go build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash.dll # Linux $ go build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash.so # macos $ go build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash.dylib # 回到项目根目录 $ cd ../ # macos 系统需要移动下编译的内核路径 $ cp -f ./core/dist/libclash.dylib ./macos/Frameworks/libclash.dylib # 4. 运行项目 (linux) $ flutter run -d linux # 4. 运行项目 (windows) $ flutter run -d windows # 4. 运行项目 (macos) $ flutter run -d macos
-
打包项目
该项目用 flutter_distributor 打包,打包步骤看
flutter_distributor
的官方文档吧
自 1.0.0 版本开始,本软件全面从之前的 Go-Flutter 迁移到了官方 Flutter 版本。迁移中部分参考了 Fclash 非常感谢!