Gately v0.6.5.3 发布
2026 年 11 月 10 日
安全修复:响应缓存
此前开启了内存响应缓存、且「默认时长」大于 0 的反向代理站点,会缓存带 X-Emby-Token、X-Api-Key、X-Plex-Token 等凭据请求头,或带 api_key、token、access_token 等查询参数的请求的响应,之后其他访客请求同一地址时可能拿到这份响应。另外站点同时开启跨域与缓存时,缓存会连同某个来源的跨域响应头一起保存,其他来源的跨域请求因此失败。这一版:
- 带常见凭据请求头或凭据查询参数的请求在任何模式下都不缓存,与
Authorization、Cookie相同; - 缓存条目不保存 Gately 按访客来源写入的跨域头,命中时按本次请求重新生成;后端
Vary含Accept-Encoding(站点开启跨域时还有Origin)以外的请求头时不缓存; - 路径含
;、\、%2F、%5C的请求不走缓存。
使用响应缓存的站点建议尽快升级。
导航面板(#78)
左侧菜单「Web → 导航面板」管理面板库:把常用服务的链接按分组汇总成一页,再在 Web 服务中添加类型为「导航面板」的站点并选择面板。
- 每个链接有名称、分组、描述、外网地址与可选的内网地址、图标与颜色;内网访客(回环、私有、链路本地地址或面板的额外内网地址)自动使用内网地址,也可以在页面上切换;
- 每个链接最多再填 8 个其他访问方式,例如 IPv6 直连、frp、STUN 穿透、Cloudflare 隧道;
- 内置 110 个图标(Gately 各模块、常用应用、系统与网络设备、通用图标),也可以用 emoji、图片地址或上传图片;
- 地址支持
{host}、{port}、{1}与 STUN 变量,可以「从 Web 服务站点添加」;页面支持搜索与浅色、深色主题; - 页面由服务端生成,只运行带随机 nonce 的内置样式与脚本,站点认证、IP 访问控制、国家过滤与 WAF 照常生效。
内外网按访客的直连地址判断:外网访客经本机 frpc、cloudflared 或 Docker 端口映射进来时,请在监听上开启 PROXY 协议或配置可信代理。详见 Web 服务 · 导航面板。
访客审计
「Web → 访客审计」按访客地址汇总全部站点的访问:首次与最近访问、每天的请求与拦截数、状态码分布、拦截原因,以及访问过的站点、路径、身份与 User-Agent。可按今天、7 天、30 天或全部保留期统计,按被拦截、已认证、管理员、封禁中、扫描类筛选与搜索,在详情中直接封禁或查看该地址的访问日志。
只保存按访客聚合的计数,路径只记录路径部分,查询串、请求体、Cookie 与凭据一律不记录。数据压缩后保存在配置目录(不进入配置备份),保留天数(默认 30 天)与访客上限(默认 10000)可以调整,也可以停用。详见 Web 服务 · 访客审计。
网络拓扑回放
网络拓扑新增「回放」:开启录制后每 5 秒保存一次整张拓扑的快照,只保存在内存中,按容量(默认 8 MB)保留最新的数据,流量少时覆盖更长的时间。时间轴以面积图显示流量,标红监听启动失败或后端异常的时段;可以拖动定位、单步、以 1× 到 60× 播放并跳过空闲时段,回放时七种布局、筛选、打码与聚焦活动照常可用。录制默认关闭,关闭录制会清空数据。
按路径缓存规则(#77)
反向代理站点的响应缓存可以按路径设置规则:不缓存、使用单独的时长,或强制缓存(忽略后端的 no-store、no-cache 与 max-age,仍尊重 private)。更具体的规则优先;「流量」页签显示当前缓存的条目数与占用,可以清空全部或某条规则路径下的缓存。强制缓存的响应由所有访客共用,只用于与访客身份无关的内容。
Web 终端:按密钥类型核对主机指纹
服务器通常同时有 ECDSA、RSA、Ed25519 多把主机密钥。Web 终端现在随指纹记录密钥类型(显示如 ECDSA SHA256:...),只协商这种密钥;类型缺失或不符时逐个尝试其他类型,只接受与记录指纹一致的密钥。从 ssh-keyscan 等工具拿到的任一类型指纹都可以直接使用,不再误报「主机密钥已变化」。主机密钥核对仍在认证之前,指纹全部不符时不会发送密码。
日志面板
日志区域下方的拖动条可以调整高度(也支持方向键),双击恢复默认,高度按浏览器记住;工具栏新增全屏按钮,Esc 退出;翻看历史时新日志不再把视图拉回底部,「回到最新」按钮显示期间新增的条数。
问题修复
- 用 IPv6 地址访问时,重定向与路径重写规则中的
{host}保留方括号;路径重写规则代入{host}时与重定向变量同样检查字符,含非法字符的 Host 返回 400。