Juwan-Hwang/Zephyr

GitHub: Juwan-Hwang/Zephyr

Stars: 567 | Forks: 37

Zephyr - Modern Mihomo GUI Client Logo # Zephyr **安全至上 · 极简美学 · 轻量高效** [English](README_en.md) | [简体中文](README.md) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-blue)](#安装) [![Tauri](https://img.shields.io/badge/Tauri-v2-24c8db)](https://tauri.app) [![Rust](https://img.shields.io/badge/Rust-1.92+-orange)](https://www.rust-lang.org/) [![Release](https://img.shields.io/github/v/release/Juwan-Hwang/Zephyr)](https://github.com/Juwan-Hwang/Zephyr/releases) [![Downloads](https://img.shields.io/github/downloads/Juwan-Hwang/Zephyr/total.svg)](https://github.com/Juwan-Hwang/Zephyr/releases) [![Security](https://img.shields.io/badge/Security-CodeQL%20%7C%20Semgrep%20%7C%20cargo--deny%20%7C%20Clippy-green)](#安全设计) [![Rust Tests](https://img.shields.io/badge/dynamic/json?url=https://gist.githubusercontent.com/Juwan-Hwang/6f7cfd1b6927a9a224ffe8cb21f5e9d4/raw/rust-tests.json&query=$.message&label=Rust%20Tests&color=green)](https://github.com/Juwan-Hwang/Zephyr/actions) [![JS Tests](https://img.shields.io/badge/dynamic/json?url=https://gist.githubusercontent.com/Juwan-Hwang/6f7cfd1b6927a9a224ffe8cb21f5e9d4/raw/js-tests.json&query=$.message&label=JS%20Tests&color=brightgreen)](https://github.com/Juwan-Hwang/Zephyr/actions)
## 项目状态 Zephyr 的开发起因很简单:目前我还没有找到符合自己审美的 Mihomo/Clash GUI,所以就自己 vibe coding 了一个。 本项目所有内容由 AI 生成(包括此段文字),安全性、稳定性和性能都不应被默认视为已经充分验证。使用前请自行评估风险;发现安全问题或 Bug,可以提交 Issue。PR 不保证合并,如果你有自己的需求,通常 Fork 后直接改会更快。 ## 截图 ![Zephyr 主页 - macOS 浅色模式 Mihomo 代理客户端界面](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7038d69cf7200102.png)
更多截图 | 深色模式 | 设置页面 | |:---:|:---:| | ![Zephyr 深色模式 - 代理节点管理界面](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/09a5e7f734200104.png) | ![Zephyr 设置页面 - 系统代理与 TUN 配置](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2cd141537a200107.png) |
## 为什么选择 Zephyr? - **视觉体验**:毛玻璃卡片、渐变图标、深色模式、动画细节和克制排版,让代理客户端不再像临时工具。 - **安全边界**:对订阅、配置、脚本、文件、更新和深链入口做明确限制,减少代理客户端常见攻击面。 - **规则能力**:内置 Prism Engine,用声明式规则补丁、规则库、智能节点选择和脚本沙箱扩展 Mihomo 配置能力。 详细功能清单见 [FEATURES.md](FEATURES.md)。 ## 社区成长 ## 功能特性 ### 核心能力 - **Mihomo 核心管理**:启动、停止、重启代理核心 - **多配置管理**:创建、编辑、切换 YAML 配置 - **订阅管理**:支持 URL、文件、二维码、拖拽导入和 Base64 自动解码 - **代理模式切换**:规则、全局、直连三种模式 - **系统代理**:Windows / macOS / Linux 原生系统代理管理 - **TUN 模式**:系统级透明代理能力 - **连接与流量**:实时连接列表、连接关闭、上下行速度和历史趋势 ### Prism Engine Zephyr 内置基于 `clash-prism-*` crate 的规则引擎,用来增强 Mihomo 配置管理: - **声明式规则补丁**:`.prism.yaml` 支持 `$prepend`、`$append`、`$filter`、`$override` 和 `__when__` 条件 - **规则库管理**:规则文件 CRUD、分组、导入、自动应用和文件监听 - **智能节点选择**:基于延迟、成功率、稳定性的 EMA 评分与自适应调度 - **Failover**:节点失败时自动切换,支持阈值、冷却和回退策略 - **脚本沙箱**:QuickJS 执行环境,带时间、内存、字符串长度、循环和递归等资源限制 - **插件系统**:插件发现、加载、生命周期钩子和细粒度权限控制 - **KV 存储**:提供持久化键值存储能力 ### 安全特性 ### 系统集成 - 系统托盘状态图标和快捷菜单 - 全局快捷键:窗口显示、系统代理、TUN、代理模式切换 - `clash://` 深链订阅导入 - Windows UWP 环回免除 - Mihomo 核心、GeoIP / GeoSite 数据和 Zephyr 客户端更新 - 开机自启、系统通知、配置目录打开 ### UI / UX - 透明无边框窗口与自定义标题栏 - **UI 缩放**:0.5x - 2.0x 界面缩放,适配不同分辨率 - 虚拟滚动日志、分级过滤和正则搜索 - CodeMirror 6 编辑器,支持 Prism DSL 高亮与补全 - 代理节点卡片 3D 交互效果 - 主题系统:预设主题和自定义颜色 - i18n:英文基准、中文完整翻译,日文/韩文仍是骨架翻译并会回退到英文 - 前端事件总线、集中式状态和缓存层 ## 技术栈 | 层级 | 技术 | 说明 | |:---:|:---:|:---| | 桌面框架 | Tauri v2 | 轻量桌面应用框架 | | 后端 | Rust 1.92+ | IPC、系统集成、核心管理和安全边界 | | 前端 | 原生 JavaScript | 无前端框架依赖 | | 样式 | Tailwind CSS v4 | 现代原子化样式系统 | | 编辑器 | CodeMirror 6 | Prism DSL 编辑体验 | | 规则引擎 | clash-prism-* | 规则补丁、插件、脚本沙箱、智能选择 | | 包管理 | pnpm workspace | `apps/*` + `packages/*` monorepo | | 代理核心 | Mihomo | Clash Meta 内核 | ## 安装 从 [GitHub Releases](https://github.com/Juwan-Hwang/Zephyr/releases) 下载对应平台的安装包。 Zephyr 的发布包分为三类: | 类型 | 说明 | 适用场景 | |:---:|------|---------| | **Full** | 包含 Mihomo 核心和 GeoIP / GeoSite 数据 | 首次安装、离线使用 | | **Lite** | 体积更小,不包含核心资源 | 已有本地核心资源 | | **Portable** | 解压即用,数据存储在程序目录 | U 盘携带、多设备使用 | ### 便携版使用 1. 下载 `Zephyr-windows-portable.zip` 或 `Zephyr-linux-portable.tar.gz` 2. 解压到任意目录 3. 确保目录中存在 `.portable` 标记文件 4. 运行可执行文件 平台支持以实际 Release 产物为准。 ## 从源码运行 ### 前置要求 - Rust 1.92 或更高版本 - Node.js 18 或更高版本 - pnpm 10 或更高版本 - 对应平台的 Tauri 系统依赖 ### 开发模式 pnpm install pnpm run dev ### 构建 pnpm run build ### 常用验证命令 pnpm run typecheck pnpm run test pnpm run lint pnpm run check:i18n 桌面包也可以单独执行: pnpm --filter @zephyr/desktop typecheck pnpm --filter @zephyr/desktop test pnpm --filter @zephyr/desktop lint pnpm --filter @zephyr/desktop build:css Rust 侧验证: cd apps/desktop/src-tauri cargo check cargo test cargo clippy --all-targets --all-features ## 项目结构 . ├── apps/ │ └── desktop/ # Tauri 桌面应用 │ ├── src/ # 原生 JS 前端、样式、UI 模块 │ └── src-tauri/ # Rust 后端、IPC、系统集成、Prism 能力 ├── packages/ │ ├── shared/ # 前端共享代码 │ └── scripts/ # 项目脚本,例如 i18n 检查 ├── FEATURES.md # 当前功能清单 ├── package.json # workspace 根脚本 └── pnpm-workspace.yaml # pnpm workspace 配置 ## 贡献 这个项目首先服务于个人使用场景,因此不会保证合并所有 PR。如果你有不同需求,更直接的方式通常是 Fork 后按自己的使用方式修改。 欢迎提交: - 可复现的 Bug 报告 - 安全问题反馈 - 明确、边界清楚的小修复 - 不改变项目方向的质量改进 ## License 本项目使用 [MIT License](LICENSE)。 ## Acknowledgments - [Mihomo](https://github.com/MetaCubeX/mihomo) - [Tauri](https://tauri.app) - [Tailwind CSS](https://tailwindcss.com) - [CodeMirror](https://codemirror.net) - [clash-prism-*](https://github.com/Juwan-Hwang/Clash-Prism-Engine) — Declarative rule engine for Clash
**Conjured by Juwan** [Back to Top](#zephyr)
标签:自定义脚本