diff --git a/README.md b/README.md index 4145bfa..16c405a 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ cd web && npm run build && rm -rf internal/httpapi/dist && cp -r web/dist intern ### Linux (Debian / Ubuntu) ```bash -sudo dpkg -i webui4frpc-0.1.3-linux-amd64.deb # 或 linux-arm64.deb +sudo dpkg -i webui4frpc-0.1.4-linux-amd64.deb # 或 linux-arm64.deb sudo nano /etc/webui4frpc/webui4frpc.env # 改掉默认密码 sudo systemctl restart webui4frpc ``` @@ -95,7 +95,7 @@ sudo systemctl restart webui4frpc ### Linux (RHEL / Fedora / openEuler / 默认 / 龙蜥) ```bash -sudo rpm -i webui4frpc-0.1.3-linux-x86_64.rpm +sudo rpm -i webui4frpc-0.1.4-linux-x86_64.rpm sudo vi /etc/webui4frpc/webui4frpc.env sudo systemctl enable --now webui4frpc ``` @@ -105,7 +105,7 @@ sudo systemctl enable --now webui4frpc ### Windows -双击 `webui4frpc-0.1.3-windows-amd64-setup.exe`(ARM 设备用 `windows-arm64-setup.exe`)。 +双击 `webui4frpc-0.1.4-windows-amd64-setup.exe`(ARM 设备用 `windows-arm64-setup.exe`)。 安装向导会询问监听地址与管理员凭据,完成后: - 程序装到 `C:\Program Files\webui4frpc` @@ -115,8 +115,8 @@ sudo systemctl enable --now webui4frpc ### macOS ```bash -sudo installer -pkg webui4frpc-0.1.3-darwin-arm64.pkg -target / # Apple Silicon -sudo installer -pkg webui4frpc-0.1.3-darwin-amd64.pkg -target / # Intel +sudo installer -pkg webui4frpc-0.1.4-darwin-arm64.pkg -target / # Apple Silicon +sudo installer -pkg webui4frpc-0.1.4-darwin-amd64.pkg -target / # Intel ``` 或直接双击 `.pkg` 走图形安装器。安装后 launchd 开机自启,配置在 @@ -134,7 +134,7 @@ sudo launchctl kickstart -k system/com.jianfeeeee.webui4frpc 不想装服务只想跑一下,用对应的 `.tar.gz` / `.zip`,解压即用: ```bash -tar xzf webui4frpc-0.1.3-linux-amd64.tar.gz +tar xzf webui4frpc-0.1.4-linux-amd64.tar.gz ./webui4frpc -addr 127.0.0.1:7500 -user admin -password 你的密码 -workdir ./data ``` diff --git a/internal/version/version.go b/internal/version/version.go index 114668a..a43c2c7 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -2,11 +2,11 @@ // // Value is overridable at build time so release artifacts carry the real tag: // -// go build -ldflags="-X webui4frpc/internal/version.Version=0.1.3" ./cmd/webui4frpc +// go build -ldflags="-X webui4frpc/internal/version.Version=0.1.4" ./cmd/webui4frpc // // Kept in its own package because both cmd/ and internal/httpapi report it // (main can't be imported, and httpapi must not depend on cmd). package version // Version is the running build's semantic version, without a leading "v". -var Version = "0.1.3" +var Version = "0.1.4" diff --git a/packaging/rpm/webui4frpc.spec b/packaging/rpm/webui4frpc.spec index d3d9b0c..30e77e0 100644 --- a/packaging/rpm/webui4frpc.spec +++ b/packaging/rpm/webui4frpc.spec @@ -1,5 +1,5 @@ Name: webui4frpc -Version: %{?_w4f_version}%{!?_w4f_version:0.1.3} +Version: %{?_w4f_version}%{!?_w4f_version:0.1.4} Release: 1%{?dist} Summary: Visual frpc controller with token-ring cluster License: MIT @@ -67,6 +67,11 @@ fi %doc %{_docdir}/webui4frpc/README.md %changelog +* Mon Oct 06 2026 JianFeeeee - 0.1.4-1 +- 负载均衡:改为每节点自主释放(持有数超过平摊份额且 >=2 时自撤销一条丢回环,由最闲节点认领),不再由 leader 统一调度 +- 负载均衡:新增自限上界与下限(撤到平摊值即停、低于 2 条不撤),10 分钟冷却,默认不动作(dry-run) +- 集群页:新增负载均衡视图与每节点模式开关(关闭/观察/启用),模式持久化 +- 新增只读接口 GET /cluster/balance 与写接口 POST /cluster/balance/mode * Sun Oct 05 2026 JianFeeeee - 0.1.3-1 - 窄屏布局:补 box-sizing 重置、接管画布 fit(缩放下限 0.65)、弹窗宽度钳制、统一滚动容器(修复手机端整页无法滑动) - 集群:停用/启动改为经令牌环跨节点传播,撤销不再静默失效 diff --git a/packaging/windows/README.md b/packaging/windows/README.md index a641a03..7fad758 100644 --- a/packaging/windows/README.md +++ b/packaging/windows/README.md @@ -79,7 +79,7 @@ cd web && npm run build && rm -rf internal/httpapi/dist && cp -r web/dist intern ### Linux (Debian / Ubuntu) ```bash -sudo dpkg -i webui4frpc-0.1.3-linux-amd64.deb # 或 linux-arm64.deb +sudo dpkg -i webui4frpc-0.1.4-linux-amd64.deb # 或 linux-arm64.deb sudo nano /etc/webui4frpc/webui4frpc.env # 改掉默认密码 sudo systemctl restart webui4frpc ``` @@ -87,7 +87,7 @@ sudo systemctl restart webui4frpc ### Linux (RHEL / Fedora / openEuler / 默认 / 龙蜥) ```bash -sudo rpm -i webui4frpc-0.1.3-linux-x86_64.rpm +sudo rpm -i webui4frpc-0.1.4-linux-x86_64.rpm sudo vi /etc/webui4frpc/webui4frpc.env sudo systemctl enable --now webui4frpc ``` @@ -97,7 +97,7 @@ sudo systemctl enable --now webui4frpc ### Windows -双击 `webui4frpc-0.1.3-windows-amd64-setup.exe`(ARM 设备用 `windows-arm64-setup.exe`)。 +双击 `webui4frpc-0.1.4-windows-amd64-setup.exe`(ARM 设备用 `windows-arm64-setup.exe`)。 安装向导会询问监听地址与管理员凭据,完成后: - 程序装到 `C:\Program Files\webui4frpc` @@ -107,8 +107,8 @@ sudo systemctl enable --now webui4frpc ### macOS ```bash -sudo installer -pkg webui4frpc-0.1.3-darwin-arm64.pkg -target / # Apple Silicon -sudo installer -pkg webui4frpc-0.1.3-darwin-amd64.pkg -target / # Intel +sudo installer -pkg webui4frpc-0.1.4-darwin-arm64.pkg -target / # Apple Silicon +sudo installer -pkg webui4frpc-0.1.4-darwin-amd64.pkg -target / # Intel ``` 或直接双击 `.pkg` 走图形安装器。安装后 launchd 开机自启,配置在 @@ -126,7 +126,7 @@ sudo launchctl kickstart -k system/com.jianfeeeee.webui4frpc 不想装服务只想跑一下,用对应的 `.tar.gz` / `.zip`,解压即用: ```bash -tar xzf webui4frpc-0.1.3-linux-amd64.tar.gz +tar xzf webui4frpc-0.1.4-linux-amd64.tar.gz ./webui4frpc -addr 127.0.0.1:7500 -user admin -password 你的密码 -workdir ./data ``` diff --git a/scripts/build_installers.sh b/scripts/build_installers.sh index 4209898..8e298fd 100755 --- a/scripts/build_installers.sh +++ b/scripts/build_installers.sh @@ -12,7 +12,7 @@ # 在 release.sh 流程内被调用;依赖 dist/artifacts//bin/-/ 下的二进制。 set -euo pipefail -VERSION="${1:-0.1.3}" +VERSION="${1:-0.1.4}" VERSION="${VERSION#v}" ROOT="$(cd "$(dirname "$0")/.." && pwd)" OUT="$ROOT/dist/artifacts/$VERSION" diff --git a/scripts/release.sh b/scripts/release.sh index 192018e..400bfef 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -3,7 +3,7 @@ # webui4frpc 多平台发布脚本 # # 用法: -# ./scripts/release.sh [version] # 默认 version=0.1.3 +# ./scripts/release.sh [version] # 默认 version=0.1.4 # # 行为: # 1. 构建前端 (web/dist) 并同步到 internal/httpapi/dist (go:embed 用) @@ -19,7 +19,7 @@ # NO_BUILD_FRONTEND 设为 1 跳过前端构建 (用现有 dist) set -euo pipefail -VERSION="${1:-0.1.3}" +VERSION="${1:-0.1.4}" VERSION="${VERSION#v}" # 去掉可能的前导 v ROOT="$(cd "$(dirname "$0")/.." && pwd)" OUT="$ROOT/dist/artifacts/$VERSION"