Skip to content

Gately v0.6.6 发布 ​

2026 年 11 月 12 日

下载 v0.6.6 · GitHub Release

这是一个以安全加固为主的版本,建议所有用户升级。

安全修复 ​

  • 来源请求头伪造:此前只删除访客自带的 X-Real-Ip 等精确同名头,PHP、WSGI、CGI 一类后端会把 X_Forwarded_For、X_Real_IP 与正式头当成同一个变量,访客可借此向后端伪造客户端地址或访问协议。现在访客自带的来源类、源端口类请求头连同下划线写法的变体在转发前一律删除;转发认证的子请求同样处理,并由 Gately 写入 X-Original-URI,认证服务按路径放行时不会再被访客自带的值误导。
  • 文件服务登录限速:WebDAV、FTP、SMB 的密码校验此前没有次数限制。现在同一来源 15 分钟内失败 10 次即拒绝到窗口结束(IPv6 按 /64 计算,成功登录不清零),近期验证通过的凭据不占名额,SMB 的匿名试探不计入。
  • 恢复备份:恢复账号文件时换用新的会话密钥,旧备份不会让此后「退出所有设备」或登出吊销的令牌重新生效;解压总量超过 128 MB 或文件超过 256 个的备份被拒绝。
  • 其他:nginx 配置导入限制块嵌套深度(深度嵌套的配置会耗尽栈导致进程退出);超过 300 字节的 Host 请求头直接返回 400;登录失败时写入审计与日志的用户名截断到 64 个字符。
  • 依赖:Go 1.26.11 标准库安全修复,更新 golang.org/x/net、klauspost/compress、andybalholm/brotli,存储挂载的 SMB 客户端换用维护中的 cloudsoda/go-smb2(GO-2026-5051)。

账号与会话 ​

  • 服务端会话撤销:登出时吊销该令牌;「设置 → 账号与安全 → 登录会话」新增「退出所有设备」(POST /api/account/sessions/revoke),密码、Passkey、第三方登录与飞牛网关登录签发的会话立即全部失效,API 令牌不受影响。
  • 出站请求限制(restrictOutbound,默认关闭):开启后 Webhook、通知、IP 列表订阅、DDNS 回调、更新检查、第三方登录等管理员配置的出站请求拒绝回环、私网、链路本地(含 169.254.169.254)等地址,按解析后的 IP 在每次连接时检查,重定向与 DNS 重绑定同样覆盖;反向代理上游、网络唤醒、存储挂载等面向内网的功能不受影响。
  • 慢速请求防护:管理端口按接口限制请求体的读取,普通接口须在 60 秒内发完;备份恢复、升级包与文件上传等大文件接口不限总时长,但须持续发送并保持每秒 4 KiB 以上的平均速率。

Web 服务 ​

  • 分路径后端去掉前缀(#86):分路径后端新增「转发时去掉路径前缀」,/api/zyqd/abc 发往后端为 /abc,后端地址自带的路径接在前面,对应 nginx 的 proxy_pass http://后端/;;导入 nginx 配置时自动转换。
  • 访客源端口(#83):开启「添加 X-Forwarded-*」后向后端发送 X-Real-Port 与 X-Forwarded-For-Port;Gately 在 CDN / 反向代理之后时,可在全局设置中指定「真实端口请求头」。
  • 双层 Gately(#81):外层只做 WAF、内层负责登录时,两层填写相同的认证标记密钥,外层站点开启「信任后端认证标记」,内层认证过的访客在外层同样跳过 WAF。

详见 Web 服务 与 WAF。

备份与恢复(#85) ​

恢复配置新增「保留当前管理员账号」:备份里的账号、API 令牌与管理界面的第三方登录设置保持当前值,备份可以不含 account.json,适合把另一台实例的配置迁移过来。详见 配置 · 备份与恢复。

问题修复 ​

  • 动态域名(#84):dynv6 记录的主域名填成 dynv6.net、子域名填 xxxx 时,同步与删除服务商记录不再返回 404,会自动匹配到 xxxx.dynv6.net 区域。

性能 ​

  • 封禁名单在大量封禁时增删不再重建网段列表;站点路由在精确域名未命中时只比较通配域名;限流与认证失败记录的过期清理改为每秒最多一次。
  • 站点基本认证与 WebDAV 缓存验证通过的 bcrypt 结果 10 分钟,每个请求的 CPU 开销从约 85 毫秒降到微秒级。
  • 端口转发在不能使用 splice 时复用缓冲区;实时连接列表只构造返回的 500 行;来源类请求头清理不再分配内存。
  • 管理界面的站点统计、Docker 状态与日志、终端会话列表在浏览器标签页隐藏时停止轮询。

升级提示 ​

  • Docker 拉取新镜像后重建容器;OpenWrt 覆盖安装新的 .apk / .ipk;飞牛在应用中心手动安装新版 .fpk;其他部署方式可在「系统设置」中在线升级。
  • 升级后已登录的会话继续有效;需要让所有设备重新登录时使用「退出所有设备」。

以 Apache-2.0 许可证开源发布。