Gately v0.6.1.1 发布
2026 年 10 月 30 日
Web 路径探测封禁
入侵防护的规则来源新增「Web 路径探测」,直接统计 Web 服务处理的请求,不读取日志:
- 可限定一个或多个监听,留空表示全部;路径规则支持通配(
*也匹配/,不区分大小写)与~开头的正则,//.env、/a/../.env这类写法按规范化后的路径同样命中; - 默认只统计 404 与 444,访问正常页面的请求不计数;可改为统计任意状态码(需搭配路径规则),或只统计未知域名;
- 内置三个模板:Web 诱饵路径(
/.env、/.git、wp-login.php、phpinfo.php、phpMyAdmin 等,命中 1 次即封禁)、未知域名扫描(1 分钟 5 次)、Web 404 探测(1 分钟 10 次); - 次数、时间窗口、封禁时长、白名单、递增封禁与 nftables 同步与其他规则共用,任一监听触发的封禁对全部服务生效。
Web 服务监听卡片上的「路径探测封禁」会预选该监听并套用诱饵路径模板;编辑规则时可粘贴请求路径测试。详见 入侵防护 · Web 路径探测。
认证用户页面
侧边栏「Web」分组新增「认证用户」页面,集中管理共享用户、单点登录域、自助修改密码与 OIDC 身份提供方,并按监听列出站点,可筛选、全选后批量设置哪些站点使用共享用户:未开启认证的站点勾选后同时开启网页认证;只靠共享用户认证的站点不能在这里取消,避免误变为公开;使用转发认证的站点不能勾选。全部修改点「保存」后一起生效,任一项校验失败都不保存。接口为 GET/PUT /api/webservice/users。
共享用户自助修改密码
「认证用户」页打开「自助修改密码」后,共享用户(含通过内置 OIDC 登录应用的用户)可在 /__gately_auth/password(签发者域名为 /__gately_oidc/password)输入当前密码与动态验证码后修改密码,各站点会话随即失效。文件服务共享用户在「文件共享用户」页另有开关,在同一页面修改,明文或 bcrypt 的保存方式保持不变,WebDAV、FTP、SMB 立即使用新密码。错误次数与登录共用限流和自动封禁;同一账号 1 分钟内只能修改一次。详见 Web 服务 · 自助修改密码。
拒绝时断开连接
站点「安全」页新增「拒绝方式」:选择「断开连接」后,被封禁、IP 访问控制(含路径规则)或国家过滤拒绝的请求不返回任何内容,访问日志记为 444,可配合白名单实现“自家 IP 正常访问、其余一律断开”。限流与 WAF 拦截不变。文档同时写明断开连接的边界:TCP 与 TLS 握手已完成,HTTP/2、HTTP/3 只重置该请求,想对扫描器隐藏端口需要入侵防护封禁。
Cloudflare 隧道路由规则
令牌隧道填写可选的 Cloudflare API 令牌后,卡片上的「路由规则」可直接读写隧道的远程配置:主机名、路径正则、服务,以及「不校验回源证书」和回源 Host 头,运行中的 cloudflared 无需重启即生效;保存时核对配置版本,避免覆盖别处的修改;可为主机名创建开启代理的 CNAME 记录,已有记录保持原样并列出。详见 Cloudflare 隧道 · 路由规则。
日志「不包含」筛选
日志查看器新增「不包含」输入框,包含其中任意一个词的日志不显示,与关键词同时生效;日志接口对应新增 exclude 参数。
修复与改进
- 诱饵端口与扫描检测选择永久封禁时保存失败(#41);
- 路由规则:服务地址末尾单独的
/自动去掉(cloudflared 会拒绝带路径的服务);本地配置文件管理的隧道保存前需确认;指向隧道但未开启代理的 CNAME 按冲突报告;只在隧道所属账号下查找域名; - Web 服务全局设置对话框不再提交共享用户与 OIDC 设置,不会覆盖「认证用户」页刚保存的修改;
- 路径探测按访客请求的原始路径匹配(重写规则不再影响统计),访问日志同样记录原始路径;超长路径只取首尾参与匹配,封禁原因转义换行等控制字符;
- 自助改密保存失败时页面只显示统一提示,详细原因写入日志;
- 接口文档中部分多段说明出现中外文混排的问题。
升级提示
- Docker 拉取新镜像后重建容器;OpenWrt 覆盖安装新的
.apk/.ipk;飞牛在应用中心手动安装新版.fpk;其他部署方式可在「系统设置」中在线升级。 - 已保存的「任意状态码、无路径规则、不限未知域名」的路径探测规则会在下次编辑保存时被拒绝,请补充路径规则。