快速开始
本指南将介绍如何设置本地开发环境、构建项目并运行应用程序。
前置环境要求
- Go:版本
1.24.0或更高。 - Node.js & npm:版本
20或更高(用于编译 Web 前端资源)。 - Rust:(可选)如果你需要编译或调试
rustlib目录下的 FFI 组件。
开发环境搭建
-
克隆仓库:
git clone https://github.com/soda92/vpn-share-tool.git cd vpn-share-tool -
生成开发证书: 在编译之前,你需要生成开发用的自签名 TLS 证书:
go run ./dev certs这将在
certs/目录下生成ca.crt、ca.key、server.crt和server.key。 -
安装前端依赖: 分别在两个 Web 前端项目中安装 npm 依赖包:
# 请求调试器前端 (Request Debugger) cd core/debug_web npm install cd ../.. # 注册中心管理台前端 (Discovery Dashboard) cd discovery_web npm install cd ..
编译项目
你可以使用内置的命令行开发工具(dev CLI)完成各项编译操作:
-
构建桌面 GUI 应用程序:
go run ./dev build这会先编译 Vue 前端资源,然后将其打包嵌入最终的 Go 二进制文件中,输出至
cmd/vpn-share-tool/vpn-share-tool。 -
构建注册服务 (Discovery Server):
go run ./dev build server这会编译管理台前端资源并编译服务端的二进制文件,输出至
dist/discovery。 -
构建 Windows 安装包 (在 Linux Docker 环境下交叉编译):
go run ./dev build windows -
构建 Linux FFI 共享库 (供 Flutter FFI 绑定调用):
go run ./dev build linux-so
运行项目
-
启动注册服务器 (Discovery Server):
# 启动服务端 ./dist/discovery默认情况下,它将在 TCP
45679端口监听客户端握手,并在8080端口托管 Web 管理后台。 -
启动桌面客户端:
# 使用开发命令行启动桌面 GUI go run ./dev run客户端将启动跨平台 GUI 窗口,并自动开始在子网内广播扫描注册服务器建立安全配对连接。