Gately v0.6.2 发布
2026 年 10 月 31 日
协议分流
新增「协议分流」模块,侧边栏位于「端口转发」旁。它按客户端最先发送的数据识别协议,把同一个端口上的连接送到不同的后端,全程不解密:
- TLS 按 SNI 域名与 ALPN 分流,HTTP 按 Host 分流,Minecraft 按握手包中的服务器地址分流;
- SSH、RDP、SOCKS4/5、OpenVPN(TCP,含 tls-auth 与 tls-crypt-v2)、XMPP、MQTT、PostgreSQL、RTSP、SIP、Redis、AMQP、SMB、Git、IRC、ADB、BitTorrent 各自一条路由,HTTP、RTSP、SIP 按请求行末尾的版本号区分;
- 「等待超时」路由接收连上后不发数据的客户端(VNC、MySQL 等服务端先发言的协议),识别超时可精确到 0.1 秒;
- 无法识别或未命中的连接交给默认目标;每条路由可单独向后端发送 PROXY 协议,列表显示各路由的命中次数。
各协议的识别依据、域名与 ALPN 的匹配顺序,以及替换 haproxy SNI 分流与 sslh 的示例见 协议分流。
列表分组与排序(#48)
动态域名、端口转发、协议分流、Web 服务站点、STUN、SSL 证书、WAF、入侵防护、frp、Cloudflare 隧道、File Browser、存储挂载、网络唤醒、计划任务、通知、Web 终端连接与 API 令牌等列表统一支持:
- 搜索、拖动排序(手机上用上下箭头)、多选后批量移动到分组;
- 整组移动、原地重命名与合并分组,折叠状态会被记住;
- 动态域名任务内的解析记录也可以分组与排序。
调整分组与顺序不会重启正在运行的实例。详见 列表分组与排序。
动态域名引用 STUN 地址(#47)
记录值与 Webhook 中可以使用 {STUN_规则名_PORT}、{STUN_规则名_IP}、{STUN_规则名_ADDR}。STUN 规则的公网地址变化后,引用它的任务立即同步;只在 Webhook 中引用时也会调用一次 Webhook。规则未启用或还没有穿透成功时,该记录本轮跳过并在状态中说明原因。详见 动态域名 · 记录值变量。
STUN 适配多层 NAT
开启 UPnP / NAT-PMP 的规则会先向网关查询它自己的外网地址。与 STUN 观察到的公网地址不同(例如路由器外层还有运营商 NAT)时,公网端口属于外层 NAT,只保留通道端口的映射,不再在路由器上追加映射,公网端口不会在每次复查时变化。STUN 文档补充了全锥型与受限型运营商 NAT、多层 NAT 下的 UPnP、固定本地端口与放行主机防火墙的说明。
安全加固
- 仍在使用默认密码时,账号、两步验证、通行密钥、附加账号、API 令牌、系统设置与 Web 终端安全设置只能查看,从备份恢复与回滚这些配置的历史版本同样被拒绝,必须先改掉默认密码;
- 只读账号与只读 API 令牌读取配置与日志时,站点共享用户密码、分享链接令牌、请求头的值、密钥,以及地址中的密码、查询参数与路径里的令牌都会打码;
- 浏览
files/与sftp/下的目录需要写权限; - 只靠密码的登录不再清零失败计数,两步验证码无法被暴力尝试;
- 经可信代理访问时,X-Forwarded-For 与 X-Real-IP 不一致的处理更严格,伪造内网地址无法绕过「仅内网访问」;
- 创建 API 令牌时,写权限可以执行服务器命令的模块(动态域名、计划任务、入侵防护、STUN、SSL、Web 终端、Docker、frp、File Browser、Cloudflare 隧道)标为「可执行命令」并在授予时提醒;
- UPnP 网关返回的设备描述与控制地址必须属于应答的设备。
其他改进
- 动态域名任务卡片上的每条记录可直接删除(服务商处的解析记录保留);
- 手机上的 Web 终端按键栏改为单行横向滚动,默认随软键盘出现和收起;
- 修复 Android Chrome 与 iOS 添加到主屏幕时图标透明的问题,管理界面与官网提供 Web App Manifest;
- 官网首页与 README 改版。
修复
- 入侵防护规则命中过之后,再次编辑保存时报「unknown field lastSeen」;
- 多张证书覆盖同一域名时,改用到期时间最晚的一张,证书列表的排序与分组不再影响实际使用的证书;
- 协议分流识别期间 ClientHello 只收到一部分就超时时,不再把补零的数据转发给后端;停止或修改规则时立即关闭仍在识别的连接;
- Webhook 正文是 JSON 时其中的 STUN 变量未被替换。
升级提示
- 升级后首次启动时,端口转发中的 SNI 分流规则自动移到协议分流,key、名称、启用状态、分组与路由保持不变;端口转发被关闭的,协议分流也关闭;拥有端口转发权限的 API 令牌同时获得协议分流的同级权限。
- 通过接口管理分流规则的脚本请改用
/api/protoroute/rules,路由字段由sniRoutes改为routes;/api/portforward/rules不再接受mode字段。这些规则的监控指标改为gately_protoroute_*。 - Docker 拉取新镜像后重建容器;OpenWrt 覆盖安装新的
.apk/.ipk;飞牛在应用中心手动安装新版.fpk;其他部署方式可在「系统设置」中在线升级。