27bc5d0353faed073c57e146414be7ee303f0412
Havline Native fnOS 应用
本目录保存 Havline 的飞牛 Native 应用工程,不依赖 Docker。
本仓库完全独立,包含:
app-src/:Havline 主程序源码副本havline/:飞牛 Native 应用打包工程fnpack.exe:飞牛打包工具build.ps1:从app-src构建双架构二进制并打包
构建过程不再引用 F:\Fonu-main\havline。
阶段四范围:
- Go 主程序原生运行
- 统一网关
/app/havline - Unix Socket
app.sock cmd/main启动、停止和状态检查- amd64 与 arm64 双架构二进制
- Nginx amd64 与 arm64 双架构二进制
- Nginx 依赖库与
mime.types - HTTP 18080 与 HTTPS 9443
- frpc 与 cloudflared 按需下载,不打包进 FPK
- Native 版本 1.9.1
- Docker 版数据目录兼容
- 旧
data/布局自动迁移 - 升级前数据库备份
按需下载位置:
${TRIM_PKGVAR}/frp/bin/<version>/frpc
${TRIM_PKGVAR}/cloudflared/bin/cloudflared
首次使用 FRP 或 Cloudflare Tunnel 时需要联网。主程序支持 GitHub 镜像源,可在应用界面切换。
构建前置条件
构建脚本需要本地存在用于提取 Nginx 的 Havline 镜像:
jayhub.top/mrlee/havline:1.9.0 amd64
havline:1.9.0 arm64
如果本地没有对应架构镜像,先加载 amd64 与 arm64 镜像归档。
Nginx 提取镜像版本默认固定为 1.9.0,与应用版本解耦。需要时可传入:
.\build.ps1 -NginxImageVersion 1.9.0
升级与迁移
详细步骤见:
docs/upgrade-and-migration.md
推荐路径:
卸载 Docker 版时保留数据
安装 Native 1.9.1
启动后自动迁移数据库和旧数据布局
构建
cd F:\Fonu-main\fnos-native
.\build.ps1
输出:
dist/havline-native-1.9.1.fpk
构建脚本会:
- 使用
VITE_BASE_PATH=/app/havline/构建前端; - 从本地镜像提取 amd64 与 arm64 Nginx 及依赖库;
- 交叉编译 amd64 与 arm64 Go 二进制;
- 调用
fnpack build打包。
frpc 与 cloudflared 不进入构建产物,由运行中的应用按需下载。
真机注意
当前 Nginx 来自 Debian 12,依赖目标系统 glibc。飞牛设备建议满足:
glibc >= 2.36
如果目标设备 glibc 版本较低,需要改为静态编译 Nginx 或打包完整 loader 与 libc。
Languages
Go
55%
Vue
36.2%
TypeScript
4.3%
HTML
2.5%
Shell
1%
Other
0.9%