-
-
Notifications
You must be signed in to change notification settings - Fork 40
BuildGuide
Juwan-Hwang edited this page Apr 10, 2026
·
9 revisions
| 工具 | 最低版本 | 说明 |
|---|---|---|
| Rust | 1.70+ | 通过 rustup 安装 |
| Node.js | 18+ | LTS 版本 |
| npm | 随 Node.js 安装 | 包管理器 |
Ubuntu/Debian:
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelfmacOS:
brew install pkg-config glib交叉编译 Apple Silicon 需要额外设置
PKG_CONFIG_ALLOW_CROSS=1和 SDK sysroot。
Windows: 无额外系统依赖。
git clone https://github.com/Juwan-Hwang/Zephyr.git
cd Zephyrnpm installnpm run tauri dev开发模式会自动启用 Tauri DevTools(通过
devtoolsfeature flag)。
npm run dev:cssnpm run tauri build构建产物位于 src-tauri/target/release/bundle/ 目录。
-
Mihomo 内核 — 构建完整版需要将
mihomo(Windows 为mihomo.exe)放入src-tauri/bundled/目录 -
Geo 数据文件 — 将
geoip.dat、geosite.dat、Country.mmdb放入src-tauri/bundled/目录 - 精简版 — 不放入上述文件即可构建精简版
# ESLint 检查
npm run lint
# 单元测试
npm test
# Rust 格式检查
cargo fmt --check
# Rust Clippy 检查
cargo clippyZephyr/
├── src/ # 前端源码
│ ├── main.js # 应用入口,初始化编排
│ ├── ui.js # UI 核心逻辑(~4500 行)
│ ├── api.js # API 调用层
│ ├── i18n.js # 国际化(中/英)
│ ├── websocket.js # 流量监控(HTTP Streaming)
│ ├── rules.js # Shadowrocket 规则转换器
│ ├── modules/
│ │ └── traffic-chart.js # Canvas 流量图表
│ ├── index.html # 单页应用 HTML
│ ├── styles.css # 自定义样式源文件
│ └── tailwind.css # Tailwind 编译产物
├── src-tauri/ # Rust 后端
│ ├── src/
│ │ ├── lib.rs # 应用入口、状态管理、命令注册
│ │ ├── core_manager.rs # 核心进程管理(~3000 行)
│ │ ├── config_manager.rs # 配置读写与热重载
│ │ ├── sys_proxy.rs # 系统代理设置
│ │ ├── tray.rs # 系统托盘
│ │ ├── updater.rs # 内核更新与 Geo 数据
│ │ └── uwp_loopback.rs # Windows UWP 环回免除
│ ├── Cargo.toml # Rust 依赖
│ ├── tauri.conf.json # Tauri 配置
│ └── bundled/ # 内核与 Geo 数据(构建时打包)
├── assets/ # 截图等资源
├── .github/workflows/ # CI/CD 流水线
└── package.json # npm 配置
| 脚本 | 命令 | 说明 |
|---|---|---|
tauri |
tauri |
Tauri CLI 入口 |
build:css |
tailwindcss -i src/styles.css -o src/tailwind.css --minify |
生产构建 CSS |
dev:css |
tailwindcss -i src/styles.css -o src/tailwind.css --watch |
开发监听 CSS |
lint |
eslint . |
ESLint 检查 |
test |
vitest run |
运行测试 |