mrlee
|
e4edbdcef0
|
tcp新增端口校验逻辑
CI / verify (push) Canceled after 0s
|
2026-10-19 15:53:59 +08:00 |
|
mrlee
|
2c1cf1260b
|
修正frpc重启按钮的工作流程
CI / verify (push) Canceled after 0s
|
2026-10-19 13:50:05 +08:00 |
|
mrlee
|
211d8e66e0
|
添加自定义404页面
CI / verify (push) Canceled after 0s
|
2026-10-17 20:22:27 +08:00 |
|
mrlee
|
6b8ff0e5a3
|
WebSocket 把 proxy_http_version 1.1 + Upgrade/Connection 移进 location / 内部
CI / verify (push) Canceled after 0s
|
2026-10-17 11:58:43 +08:00 |
|
mrlee
|
302248a907
|
chore(release): 发布 v2.0.0
CI / verify (push) Canceled after 0s
- 内置 SSH 终端(/terminal):复用已保存的 SSH 密码/私钥与独立 known_hosts 校验
- 终端二次认证、会话审计(/terminal/audits)、录像审计与常用命令
- DDNS 服务商名称与自定义 IP,新增迁移 037/038/039
- CHANGELOG 与 VERSION 更新至 2.0.0
|
2026-10-16 20:18:04 +08:00 |
|
mrlee
|
0f68101503
|
feat(frp): frps vhost 回源端口支持 80/443,公网反代在该配置下不再适用
- 服务端表单不再硬性拒绝 vhostHTTPPort=80 / vhostHTTPSPort=443,改为保存时弹窗二次确认;
确认后请求携带 allow_privileged_vhost_ports 提交并由后端校验放行,未携带标记的请求(含直接调 API)仍被拒绝
- frps.toml 生成改为写入风险注释、不再报错;各规则的公网反代回源地址随 80/443 自动跟随
- 「公网反代」页检测到 80/443 后显示说明卡片并隐藏统计/Nginx/规则台账/漂移区块,
同时跳过 agent 的路由、漂移与健康请求
- 后端 DeployAgentRoute 与 RedeployAllRoutes(含漂移一键修复)拒绝下发,自动下发路径 syncAgentRoute 跳过
- 新增 internal/frp/vhost_port_test.go:校验、二次确认、frps.toml 生成、反代回源跟随与守卫对照
|
2026-10-11 15:18:32 +08:00 |
|
mrlee
|
2a0740a60f
|
chore(release): 发布 v1.9.2
CI / verify (push) Canceled after 0s
Docker Release / build-and-push (amd64, linux/amd64) (push) Canceled after 0s
Docker Release / build-and-push (arm64, linux/arm64) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
Docker Release / create-manifest (push) Canceled after 0s
- 「公网服务端」新增 Nginx 启停控制(Agent 0.15.2,停止带二次确认)
- frps 启动失败不再误报成功,并增强启动诊断
- frps vhost 端口禁止 80/443,避免与 VPS 上 Nginx 冲突
- 旧服务端配置的 tcp_mux / login_fail_exit 默认值补齐
- 新增安全审查、页面布局方案与场景操作文档
|
2026-10-07 19:26:02 +08:00 |
|
mrlee
|
9aaefa3b77
|
fix: surface frps startup failures and avoid nginx port conflicts
|
2026-10-05 13:07:56 +08:00 |
|
mrlee
|
8fa5d922ac
|
feat: rename project from Fonu to Havline
CI / verify (push) Canceled after 0s
|
2026-10-01 16:54:35 +08:00 |
|
mrlee
|
21efc10536
|
test: 补路由鉴权、配置回滚与 Agent 版本兼容测试并发布 v1.5.3
|
2026-09-28 15:53:36 +08:00 |
|
mrlee
|
0feb6132d6
|
fix(agent): 升级 Agent 保持 HTTPS 直连并清理残留反代并发布 v1.5.2
|
2026-09-28 15:42:16 +08:00 |
|
mrlee
|
1ada58af02
|
refactor(nginx): 抽取共享 Nginx 模板包并发布 v1.5.1
|
2026-09-28 15:37:14 +08:00 |
|
mrlee
|
faf43293e5
|
feat(agent): 完成 HTTPS 自动端口、证书轮换与防火墙辅助并发布 v1.5.0
|
2026-09-28 15:19:51 +08:00 |
|
mrlee
|
dfce843b50
|
fix(agent): HTTPS 自检证书指纹并定位端口占用并发布 v1.4.6
|
2026-09-28 14:57:11 +08:00 |
|
mrlee
|
87c072f5d4
|
fix(agent): 探测阶段自愈 nginx 版本目录并发布 v1.4.5
|
2026-09-28 14:43:59 +08:00 |
|
mrlee
|
c92d06642f
|
fix(agent): 修复 nginx 版本目录被误加载并发布 v1.4.4
|
2026-09-28 14:37:15 +08:00 |
|
mrlee
|
8c07e64e87
|
fix(agent): 自愈 HTTPS 直连地址并发布 v1.4.3
|
2026-09-28 14:30:35 +08:00 |
|
mrlee
|
4a29bcb249
|
fix(agent): 同步更新 transport URL 并发布 v1.4.2
|
2026-09-28 14:24:37 +08:00 |
|
mrlee
|
fac9234e4d
|
feat(agent): 增加 HTTPS pin 模式并修复隧道端口竞态
|
2026-09-28 14:13:57 +08:00 |
|
mrlee
|
1bec91cc5e
|
feat(agent): 默认回环监听并自动建立 SSH 隧道并发布 v1.4.0
|
2026-09-28 13:42:21 +08:00 |
|
mrlee
|
63538ec5b7
|
fix(agent): 限流状态损坏时拒绝覆盖并发布 v1.3.9
|
2026-09-28 11:53:58 +08:00 |
|
mrlee
|
32dfe3b6de
|
fix(agent): Bearer Token 改为常量时间比较并发布 v1.2.21
|
2026-09-27 18:27:23 +08:00 |
|
mrlee
|
fc16fb2dc2
|
fix(agent,acme,cert,web): 修 frps 安装 404 与 nginx 探测两处,证书颁发机构用 LiteSSL 替换 Buypass(v1.2.14)
- frps 安装/升级一直 404:frp 官方校验文件名始终是 frp_sha256_checksums.txt(不带版本号),代码却拼 frp_<版本>_sha256sums.txt;现按候选名依次尝试并在失败时列出尝试项。同一条 bug 也存在于本机下载 frpc 的路径,一并修复(SHA-256 校验逻辑未改)
- nginx 探测(agent):nginxPath() 不再回落到配置里的裸名字 nginx(否则「未安装」被误报为配置校验失败,且一键安装入口永不出现);vhost 目录探测不再要求被加载文件带 .conf 后缀(Debian 的 sites-enabled/default 不带,导致只剩主配置目录可试,报「均无法放置完整 server 配置」),失败信息补上具体原因
- 证书 CA:LiteSSL(亚数 TrustAsia,90 天,支持单域名/通配符/多域名)替换 Buypass。LiteSSL 目录 meta.externalAccountRequired=true,强制 EAB——在 FreeSSL 创建后填 Kid/HMAC 即可,HMAC 只回掩码;Buypass 保留常量与展示元数据但不再可选
- 前端申请证书弹窗的颁发机构卡片改为前端可控清单(原先后端 /api/certs/options 的结果不参与渲染,后端改了弹窗不变)
- 测试:internal/frp 校验文件候选名与 sha256sum 解析;internal/acme LiteSSL 目录/别名/通配符/Buypass 停用提示。gofmt / go build / go vet / go test / vue-tsc / vite build 全绿
- AgentVersion 0.12.4 → 0.12.7,双架构二进制已重编:VPS 上需点「升级 Agent」
|
2026-09-27 13:44:03 +08:00 |
|
mrlee
|
2236259a52
|
fix(web,agent,frp): frps 配置预览脱敏、日志界面倒序与来源中文化,agent 0.12.4 重写日志日期格式(v1.2.12)
- frps.toml 同源配置预览泄露明文密钥:FRPSServerConfig(对外预览入口)改为走 maskFRPSSecrets,auth.token / auth.oidc.clientSecret 的值换成 ********(键名与结构保留、注释行不动);下发路径 PushFRPSConfigToAgent 与安装流程仍用未脱敏内容。弹窗补说明,「复制」改「复制(已脱敏)」
- agent 0.12.4:frps 日志 6 行 → 最近 20 行、最新在最上面;日期由 short-iso 的 2026-09-22T18:43:34+08:00 RainYun-XXX 重写为 2026-09-22 18:43:34 进程: 消息(去掉 T 分隔、时区偏移与每行重复的主机名),frps/action 失败日志一并统一
- 日志界面:FRP 日志「来源」列由 Go 源码文件名(client/control.go:174)改为中文模块名;规则详情「日志」页签倒序;「公网服务端」弹窗改为显示 VPS 上的 frps 服务日志
- 测试:maskFRPSSecrets 脱敏(明文不出现、非敏感行不误伤)与注释行不改写;gofmt / go build / go vet / go test / vue-tsc / vite build 全绿
- AgentVersion 0.12.2 → 0.12.4,双架构内嵌二进制已重编:需在 VPS 上点一次「升级 Agent」才生效
|
2026-09-25 13:56:07 +08:00 |
|
mrlee
|
74d731d0ac
|
feat: 自动备份与保留策略、健康持续化与状态页、指标历史与趋势图,并修隧道判定误报与仪表盘布局(v1.2.11)
- 自动备份:每日一份(按最新备份是否在 24h 内判定,重启不重复)、保留份数可配、列表/下载/恢复/删除,恢复前先校验归档;顺手修 writeArchive 逐个检查 tar/gzip/文件 Close()(审查报告 §二)
- 健康持续化:只存状态变更(up/down/unknown)并推导可用率与不可用区间;公开状态页默认关闭、访问码存 SHA-256、按 IP 限流、只暴露域名与可用率
- 隧道判定修复:RouteHealthCandidate 新增 tunnel_known,frps 管理接口不可用时不再把「判不出来」当成「不通」(此前会误报「隧道连续不通」);汇总与徽标同样区分「无法判定」
- 指标历史:metrics_samples 纵向点表(本机 CPU/内存/磁盘 + 每规则上下行,30 天保留、查询按桶平均、不做降采样表);仪表盘趋势卡支持 1h/24h/7d
- 仪表盘布局:运行状态并入顶部统计区(运行时长补进「服务」卡);性能并入系统资源那一行,整行 4 列
- 测试:backup/metrics/frp/api/app 新增用例;gofmt、go build/vet/test、vue-tsc、vite build 全绿
- agent 无改动,AgentVersion 保持 0.12.2
|
2026-09-25 13:05:58 +08:00 |
|
mrlee
|
862442e77f
|
feat: 配置版本历史/对比/回滚、国内 IM 通知渠道、阈值告警与 API Token(v1.2.9)
- 配置版本:fsutil 版本化备份(内容相同自动去重),主 nginx.conf 与 VPS vhost 的版本列表/逐行差异/一键回滚,回滚先校验语法与 nginx -t 再写回
- agent 0.12.2:写 vhost 前留版本;nginx -t 校验失败改为恢复上一个可用版本(此前直接删文件),新增域名 vhost 版本端点,双架构二进制已重编
- 通知:补企业微信 / 钉钉 / 飞书机器人,切换预设时服务地址跟随该预设默认值
- 阈值告警:新增 internal/monitor 巡检(CPU/内存/磁盘持续超阈值、隧道连续 N 次未注册),默认关闭,带静默期与恢复通知
- API Token:api_tokens 表 + Authorization Bearer 认证,只读/读写两种范围;令牌管理与改密/退出仅限登录会话
|
2026-09-24 20:50:17 +08:00 |
|
mrlee
|
8f75e99339
|
fix(web,agent): P1 正确性与鉴权加固,P2 抽 fsutil 并补测试(v1.2.8)
|
2026-09-24 19:03:05 +08:00 |
|
mrlee
|
6abedbbe42
|
fix(security): P0 修复——备份恢复路径与权限、frps 安装白名单与 SHA-256、SSH 主机密钥 TOFU、三处凭据掩码,另修状态徽标与仪表盘文案(v1.2.7)
|
2026-09-24 17:06:34 +08:00 |
|
mrlee
|
828be2ea66
|
feat(agent): agent 0.11.0 新增证书清单与 Nginx 重载,公网 Agent 页并排展示 VPS 资源与证书(v1.2.5)
agent 0.11.0:新增 GET /api/v1/certs(遍历证书目录、crypto/x509 解析 fullchain.pem 到期时间、按剩余天数排序、解析失败记 warnings)与 POST /api/v1/nginx/reload(回传 nginx -t 与 reload 的失败原因,成功后失效可用性探测缓存)
应用侧:AgentClient.Certs / NginxReload + service / handler / router;agent 版本要求提到 ≥ 0.11.0(旧版本仍按 404/405 降级为升级提示)
前端:公网 Agent 页新增「VPS 证书」卡(域名/剩余天数/Fonu 证书库/到期时间,与 Fonu 证书库交叉核对);Nginx 卡新增「重载 Nginx」并显示失败原因;VPS 资源与 VPS 证书改为并排各占半行(dep-grid 6 列 + span 分配,窄屏复位)
二进制:内嵌 fonu-agent-linux-amd64 / arm64 重编;VERSION → 1.2.5
|
2026-09-24 10:49:28 +08:00 |
|
mrlee
|
2f59f5adc4
|
feat(agent): agent 0.10.0 新增资源/日志/配置回读端点,前端接入 VPS 资源与公网 Nginx 日志(v1.2.4)
agent 0.10.0:新增 GET /api/v1/metrics(资源采集,复用 internal/sysinfo;CPU 两次采样差值 + 1 秒内复用上次结果)、GET /api/v1/logs/nginx(日志尾部,路径白名单来自 nginx -T / 环境变量 / 默认目录,32KB 块倒读、单行 4KB 截断、上限 2000 行)、GET /api/v1/frps/config(frps.toml 回读,256KB 上限)
internal/sysinfo:补 LoadAvg 与 UptimeSeconds(Linux /proc/loadavg 与 /proc/uptime、Windows GetTickCount64、其它平台空值)
应用侧:AgentClient 三个只读方法;request 错误改为带状态码的 statusError,新增 ErrAgentEndpointMissing,把 404/405 统一转成「agent 版本过低需 ≥ 0.10.0」提示;补 service/handler/router
前端:公网 Agent 页「VPS 资源」横排带(占满环境与依赖整行);日志中心「公网 Nginx」页签;frps 同源配置弹窗「比对 VPS 实际文件」
二进制:内嵌 fonu-agent-linux-amd64 / arm64 用新代码重编;VERSION → 1.2.4
|
2026-09-24 10:15:11 +08:00 |
|
mrlee
|
f75e672a45
|
feat: 公网反代部署漂移与全量重部署,仪表盘补公网穿透/系统资源/中国 IP 段/通知通道(v1.2.3)
仪表盘:新增「公网穿透」卡与运行状态「公网反代」行(新增 GET /api/frpmulti/routes/summary 逐台聚合);「性能」面板(今日异常/平均响应)与「流量 Top 5」;新增一行三卡「系统资源 / 中国 IP 段 / 通知通道」,系统资源来自新增跨平台采集 internal/sysinfo
仪表盘:「服务」卡不再写死「正常」,按 Fonu/Nginx/DDNS/证书四项实际状态聚合;/api/status 每 15 秒刷新并按页面可见性暂停轮询;删除死样式
公网反代:部署漂移清单(未部署/孤儿配置/未生效/内容不一致)+ 重新部署全部(逐条下发、单条失败不中断)
公网 Agent:端口矩阵补端口含义;frps 启动一致性核对;证书徽标补证书来源
FRP:frpc 版本探测失败时回落按二进制目录名推导,并逐台服务端探测
文档:新增 docs/agent-capability-plan.md(agent 能力扩展方案);VERSION 提升到 1.2.3
|
2026-09-24 09:20:07 +08:00 |
|
mrlee
|
8f6fac802f
|
feat(web): 仪表盘补系统资源/中国 IP 段/通知通道与公网穿透卡,修复 frpc 版本读取
仪表盘:修「服务」卡写死的「正常」——改为按 Fonu/Nginx/DDNS/证书四项实际状态聚合,异常时点名并降级徽标
仪表盘:新增「性能」面板(今日异常/平均响应,/api/status 早已返回但从未展示)与「流量 Top 5」(复用已有逐规则流量轮询);/api/status 每 15 秒刷新并在页面隐藏时暂停(连同流量轮询)
仪表盘:新增「公网穿透」统计卡;运行状态面板增加公网反代行,数据来自新增的 GET /api/frpmulti/routes/summary(逐台服务端聚合,单台失败不中断)
仪表盘:新增一行三卡「系统资源 / 中国 IP 段 / 通知通道」;系统资源为新增跨平台采集 internal/sysinfo(Linux /proc、Windows kernel32,无新依赖)
FRP:修复 frpc 版本读不出来——RuntimeStatus.Version 带 omitempty,--version 探测失败时字段被省略,前端只能显示未检测;现回落按 <FrpDir>/bin/<版本>/ 目录名推导(与「FRP 应用配置」弹窗的 active_version 同源),并逐台服务端探测版本
清理:删除 DashboardView 死样式(.dashboard/.stat-highlight/.proxy-metric*)
|
2026-09-23 19:10:43 +08:00 |
|
mrlee
|
356dae2312
|
chore: 整理 .dockerignore 并刷新内嵌 agent 二进制
- .dockerignore: scripts 目录说明补正、去掉 docs 行的前导空格、补充 *.log/*.rar/*.zip/*.tar.gz/.breezell 排除
- agentbin: 重编后仅内嵌 git 版本戳变化,功能等价
|
2026-09-23 15:22:43 +08:00 |
|
mrlee
|
166449871f
|
feat(agent): Basic Auth 改为纯 Go apr1 并去掉 VPS openssl 依赖
- 新增 internal/agent/apr1.go(Apache apr_md5_encode 移植)+ 参考向量单元测试(与 openssl 输出逐字节一致)
- ensureBasicAuthSecret / writeBasicAuthSecret 不再调用 openssl passwd -apr1
- 安装脚本 token 改用 /dev/urandom(内嵌副本与 scripts/agent-install.sh 同步)
- AgentVersion 0.9.2;重编 amd64/arm64 内嵌二进制
- CHANGELOG v1.2.0 补记该改动
|
2026-09-23 11:22:11 +08:00 |
|
mrlee
|
278f8267b7
|
chore: 初始提交 Fonu 1.0.2
- 公网反代:Nginx 状态卡片(版本 / 运行状态 / 配置校验 / 端口监听)
- 部署设置第一、二梯队(HTTPS 开关、安全头、限流、连接数、仅中国大陆 IP)
- 隧道检测兼容 frps v0.68 / v0.71(V2 与旧版端点)
- 恢复被清空的 internal/frp/store.go、internal/api/ddns_handler.go、web/src/views/DdnsView.vue
|
2026-09-23 09:40:59 +08:00 |
|