diff --git a/CHANGELOG.md b/CHANGELOG.md index df8691e..3355f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file. > 说明:1.1.0 起的相近补丁版本已合并整理并重新编排版本号;0.1.0-1.0.2 保持原样。 +## [v1.9.3] - 2026-10-11 + +### 新增 + +- **frps vhost 回源端口支持 80/443(需二次确认)**:服务端表单不再硬性拒绝 `vhostHTTPPort = 80` / `vhostHTTPSPort = 443`,改为保存时弹窗二次确认,提示「80/443 通常已被 VPS 上的 Nginx 占用,需先停止占用该端口的服务,否则 frps 会因端口冲突启动失败」;确认后请求携带 `allow_privileged_vhost_ports` 提交并由后端校验放行,未携带标记的请求(包括直接调 API)仍被拒绝。生成的 `frps.toml` 会写入一行风险注释,各规则的公网反代回源地址(HTTP → `127.0.0.1:80`、HTTPS → `127.0.0.1:443`)随回源端口自动跟随 + +### 变更 + +- **80/443 回源端口下公网反代不适用,也不再自动部署**:frps 直接占用 80/443 意味着 VPS 上不再有 Nginx 的位置,「公网反代」页检测到该配置后显示说明卡片,隐藏统计、Nginx、规则台账与部署漂移区块,并跳过 agent 的路由 / 漂移 / 健康请求;后端 `DeployAgentRoute` 与 `RedeployAllRoutes`(含漂移一键修复)一律拒绝下发,自动下发路径 `syncAgentRoute` 直接跳过。历史遗留的 Nginx 路由需把回源端口改回 8080/8443 后才能在本页移除 + +### 测试 + +- 新增 `internal/frp/vhost_port_test.go`:80/443 未二次确认被拒、已确认可保存、生成的 `frps.toml` 含风险注释、公网反代回源地址跟随 80/443 +- 新增回源端口特权判定边界用例(默认 8080/8443、显式 0、自定义高位端口)与「默认端口不受 80/443 规则影响」对照测试 +- `go test ./...`、`npm run typecheck` 通过 + ## [v1.9.2] - 2026-10-07 ### 新增 diff --git a/README.md b/README.md index 31d7589..db2cb58 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@

- 发布版本 + 发布版本 飞牛 fnOS 其他环境未测试 Go @@ -229,7 +229,7 @@ Havline 提供两种飞牛应用形态,均支持统一网关入口 `/app/havli ### Docker 应用(离线镜像包) - 独立仓库: -- 安装包:`havline-1.9.2.fpk` +- 安装包:`havline-1.9.3.fpk` - 包内包含 amd64 / arm64 离线镜像,安装时执行 `docker load` - Compose 使用本地镜像并设置 `pull_policy: never`,不依赖外部 Registry - 管理界面通过统一网关 `/app/havline` 访问 diff --git a/VERSION b/VERSION index 8fdcf38..77fee73 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.9.2 +1.9.3 diff --git a/web/package-lock.json b/web/package-lock.json index f0dc29c..39b7bb9 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "havline-web", - "version": "1.9.2", + "version": "1.9.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "havline-web", - "version": "1.9.2", + "version": "1.9.3", "dependencies": { "@codemirror/commands": "^6.11.1", "@codemirror/lang-javascript": "^6.2.5", diff --git a/web/package.json b/web/package.json index c1083f8..b6eeff4 100644 --- a/web/package.json +++ b/web/package.json @@ -1,7 +1,7 @@ { "name": "havline-web", "private": true, - "version": "1.9.2", + "version": "1.9.3", "packageManager": "npm@10.9.4", "type": "module", "scripts": {