从源码构建HypoMux:Go+Wails v3+React全栈开发环境搭建完整指南
【免费下载链接】HypoMuxCN Windows 多网卡聚合与网络加速工具。一键融合有线、Wi-Fi、热点等连接,实现多路径传输与智能流量调度。 EN Windows multi-NIC network accelerator. Combine Ethernet, Wi-Fi, hotspots and more for multi-path transmission and smart traffic routing.项目地址: https://gitcode.com/gh_mirrors/hy/HypoMux
HypoMux 是一款面向 Windows 的开源多网卡聚合与网络加速工具,可将有线、Wi-Fi、手机热点等多条链路合并传输,实现智能流量调度。本文将带你从源码构建 HypoMux,一步步完成 Go + Wails v3 + React 全栈开发环境的搭建,新手也能照着跑通。
📦 先认识项目:三个模块的三层架构
在写任何命令之前,先弄清楚仓库结构,这是避免"照着文档抄命令却不知道为什么"的关键。
HypoMux 的源码分为三块,各管一件事:
| 目录 | 角色 | 技术栈 |
|---|---|---|
desktop/ | 桌面客户端(你看到的界面) | Go + Wails v3 + React + Fluent UI |
engine/ | 网络引擎(多网卡调度核心) | 纯 Go 模块 |
protocol/ | 前后端通信契约 | JSON 消息协议 |
其中desktop/是典型的 Wails v3 工程:Go 负责原生能力(窗口、托盘、高权限服务),React + Vite 负责界面渲染,两者通过自动生成的 TypeScript 绑定(bindings)通信。engine/则是独立的 Go module,负责聚合调度、TUN 虚拟网卡、路由与 DNS,构建时会被编译成hypomux-engine.exe与桌面端配套。
两个 Go 模块的依赖清单分别在 desktop/go.mod 和 engine/go.mod,可以点进文件确认具体版本。
🛠️ 一键安装开发环境:5 个必备工具
根据 README.md 中的"开发与构建"章节,推荐环境如下:
- Windows 10/11(桌面端仅支持 Windows 平台)
- Go 1.26(engine 模块的 toolchain 要求见 engine/go.mod)
- Node.js 22
- pnpm 10(前端包管理器,锁定版本用)
- Wails v3 CLI,版本需为
v3.0.0-alpha2.119(与前端@wailsio/runtime版本严格对应,见 desktop/frontend/package.json)
CLI 一行命令装好:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha2.119💡 如果你要构建 NSIS 安装包,还需要安装NSIS(makensis)。
准备官方运行时文件
这一步最容易踩坑:构建任务会前置检查仓库根目录bin/下必须存在三个官方运行时文件,缺一不可(检查逻辑见 desktop/build/windows/Taskfile.yml):
bin/sing-box.exebin/wintun.dllbin/libcronet.dll
请从官方发布渠道下载对应版本,放入仓库根目录的bin/文件夹。
📥 克隆仓库
git clone https://gitcode.com/gh_mirrors/hy/HypoMux cd HypoMux🧩 安装前端依赖并生成 bindings
前端代码位于desktop/frontend/,使用 pnpm 安装依赖(带锁文件,保证版本可复现):
pnpm --dir desktop/frontend install --frozen-lockfile然后生成 TypeScript 绑定——这是 Wails 开发流程中不可跳过的一步:Go 端暴露的方法会被"翻译"成前端可调用的 TS 接口,缺了它界面就调不到原生能力:
Push-Location desktop wails3 generate bindings -clean=true -ts -i Pop-Location绑定会输出到frontend/bindings/目录。之后每次修改 Go 端的对外方法,记得重新执行这条命令。
🚀 开发模式运行项目
一切就绪后,进入desktop/目录启动开发模式:
Set-Location desktop wails3 devwails3 dev会同时做三件事:编译 Go 端、以 9245 端口启动 Vite 前端热更新、运行应用窗口(配置见 desktop/build/config.yml)。修改 React 组件或 CSS 后浏览器层自动热更新,修改 Go 代码则自动重编译,非常适合日常调试。
任务编排入口是 desktop/Taskfile.yml,其中dev任务本质上执行的就是wails3 dev -config ./build/config.yml -port 9245。
启动成功后,你会看到 HypoMux 的 Fluent UI 风格首页,可以刷新并勾选活动网卡、运行网络体检、切换系统代理与虚拟网卡两种加速模式:
界面还支持自定义主题与壁纸,开发者可以随意切换明暗模式验证样式:
✅ 跑测试再构建:生产构建与打包安装包
构建前建议先保证质量门禁全绿——项目前后端都有完善的测试套件:
go -C engine test ./... go -C desktop test ./... pnpm --dir desktop/frontend build生产构建与打包由 Windows 平台任务完成,最终产出 NSIS 安装程序(任务定义见 desktop/build/windows/Taskfile.yml):
Set-Location desktop wails3 task windows:packagewindows:package会先交叉编译hypomux.exe与hypomux-engine.exe、拷贝sing-box.exe等运行时文件、生成.syso图标资源,最后调用 makensis 生成安装包。
🎯 构建成功后,验证多网卡聚合效果
装好自己构建的版本后,接上至少两条网络(如宽带 + 手机热点),启动聚合引擎,再开一个多连接下载器即可体验连接级调度。例如 IDM 多线程下载场景下,多张网卡会同时跑满:
更多玩法与完整构建流程(含 CI 发布细节)可以继续阅读 README.md 的"开发与构建"章节,以及 desktop/ 目录下的任务文件。
❓ 常见问题速查
pnpm报版本错误?项目用 pnpm 10 与pnpm-lock.yaml锁定依赖,版本不对会直接拒绝构建,建议用corepack或npm i -g pnpm@10对齐。- 绑定报"方法不存在"?前端改动的 Go 方法没重新生成 bindings,回到第四步重跑一次。
- 打包时提示缺少运行时文件?检查
bin/下三个文件是否齐全,这是最常见的构建失败原因。 - Vite 端口被占用?开发端口固定为 9245(见 desktop/Taskfile.yml),释放占用或结束残留进程即可。
照着以上步骤走一遍,你就拥有了 HypoMux 的完整源码级开发能力:改界面、加规则、调调度策略,都从这份 Go + Wails v3 + React 工程出发。
【免费下载链接】HypoMuxCN Windows 多网卡聚合与网络加速工具。一键融合有线、Wi-Fi、热点等连接,实现多路径传输与智能流量调度。 EN Windows multi-NIC network accelerator. Combine Ethernet, Wi-Fi, hotspots and more for multi-path transmission and smart traffic routing.项目地址: https://gitcode.com/gh_mirrors/hy/HypoMux
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考