- Rust 32%
- Dart 30.4%
- Python 21.7%
- C++ 7.2%
- Inno Setup 4.4%
- 其它 4.3%
| 文件名 | 最新提交消息 | 最新提交日期 |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| app | ||
| assets/brand | ||
| backend | ||
| backups | ||
| ci | ||
| configs | ||
| core | ||
| data | ||
| docs | ||
| installer | ||
| licenses | ||
| logs | ||
| settings | ||
| tool | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| README.md | ||
Orbit
Orbit 是 Windows 上的 Mihomo 桌面管理器。Flutter 提供配置、状态与日志界面,Rust 后台负责内核进程、系统托盘、登录启动和更新;关闭窗口后,代理仍可由后台继续运行。
当前版本 0.2.36,面向 Windows 10 / 11 x64,自带官方 Mihomo 1.19.33。项目支持安装版和便携版,两者使用相同的界面、后台及官方内核。
YAML 编辑器使用原生 Flutter re_editor + re_highlight,支持查找替换、两空格缩进、跳转行、自动换行、撤销重做及草稿校验。保存失败保留内容,离开编辑器或关闭窗口前提示未保存更改。详见 编辑器说明。
选择一种使用方式
| 分发方式 | 开始使用 | 数据位置 |
|---|---|---|
| Setup 安装版 | 运行对应版本的 Orbit-v<version>-windows-x64-setup.exe;默认按当前用户安装到 %LOCALAPPDATA%\Programs\Orbit |
安装目录内 |
| Portable 便携版 | 完整解压 Orbit-v0.2.36-windows-x64-portable.zip 到可写目录,运行 app\Orbit.exe |
解压目录内 |
首次打开后,导入本地 YAML 或添加 HTTP(S) 配置链接,选择配置并启动内核。端口、TUN、DNS 与分流规则直接来自用户 YAML;Orbit 不生成一套替代配置,也不自动设置 Windows 系统代理。Windows 安装版在安装时确认一次 UAC,注册受保护的管理员内核服务,后续普通权限运行即可创建 TUN;Portable 需要自行以满足配置权限要求的方式运行。
安装版升级使用原安装位置,卸载默认保留个人数据;安装版不支持直接移动文件夹。具体选项见安装与卸载。便携版的迁移和数据目录说明见便携使用说明。
日常管理
- 配置工作区:本地文件与 URL 导入、配置切换、原始 YAML 编辑和内容搜索。
- 配置应用:切换配置优先热重载;保存或更新运行中的配置后可选择立即应用或稍后。概览“重载”也可应用更改;控制接口、密钥、TLS 或面板设置变化以及重载不可用时受控重启,明确反馈原因。手动“重启”仍重启进程。
- 运行概览:显示内核状态、运行时间、当前配置及从 YAML 读取的端口信息。
- 独立托盘:Rust 后台可直接启停内核和重新打开界面,无需一直保留 Flutter 窗口。
- 日志查看:界面支持查看与筛选日志,后台日志保存在软件目录。
- 两类更新:应用更新指向本 Forgejo 仓库的 Setup / Portable;内核更新独立检查 Mihomo 官方稳定版,并保留失败回滚流程。下载阶段可继续查询和停止内核;替换与回滚保留实际运行的 YAML 快照及未应用编辑。
普通关闭只退出界面;完整结束请使用托盘或设置中的“退出 Orbit”。再次打开界面会连接当前目录、同一用户及权限级别的后台,不另起一份内核。登录启动运行的是 Rust 后台,是否恢复内核取决于保存的恢复设置和上次运行状态。
Windows 关机或注销请求期间暂停内核恢复和新进程启动,取消后恢复正常运行;确认结束时退出后台并停止自有内核,保留下次打开时的恢复设置。Mihomo 版本信息按二进制缓存,常规状态更新不会再次启动版本查询进程。
所有个人数据都在软件根目录的 configs/、settings/、data/、logs/ 和 backups/。移动便携目录或切换常用版本后,需要在目标版本重新设置登录启动路径。
热重载直接提交原始 YAML 内容,通过实际运行配置中的 HTTP(S) 控制地址鉴权,不改写 YAML 或补建接口;成功保留 PID 和本次运行时间。只有 Unix / Pipe 接口或没有控制接口时走受控重启。应用前由官方内核检查配置,无效更改保留旧进程;停止时保存、更新或切换均不自动启动。TUN、DNS 和监听端口能否重新建立仍由 Mihomo 与系统权限决定,重载并不保证所有网络连接都无中断。
开发与打包
构建环境为 Windows x64,需 Flutter(Dart >=3.11.0 <4.0.0)、支持 Rust 2024 edition 的 Rust/MSVC 工具链、VS 2022 C++ Build Tools 与 Windows SDK。制作 Setup 还需 Inno Setup 6.7.3。
在仓库根目录执行检查:
Push-Location app
flutter pub get
flutter analyze
flutter test
Pop-Location
Push-Location backend
cargo fmt --check
cargo test
Pop-Location
打包脚本会构建前后台、附带内核及运行库,并校验版本一致性:
.\tool\build-portable.ps1
.\tool\build-setup.ps1
产物位于 releases/v<version>/。推荐先构建 Portable,让 Setup 复用已校验的载荷;已有发行文件不会被覆盖。当前分发包未配置 Authenticode 签名。
| 目录 | 内容 |
|---|---|
app/ |
Flutter 页面、窗口管理和后台通信 |
backend/ |
Rust 生命周期、Named Pipe、托盘及安装维护 |
core/mihomo.exe |
随包官方内核 |
installer/ |
Inno Setup 安装器与原生界面组件 |
tool/ / ci/ |
本地打包、验证与 Forgejo 发布脚本 |
CI 说明记录发行保护与更新入口;验证记录包含原子保存、内核更新隔离验证与未覆盖环境。Mihomo 许可证随仓库保存在 licenses/。