中文
Tailscale 多实例
- 每个实例运行独立的 tailscaled,状态目录、控制套接字与 WireGuard 端口互不相同,同一台机器可以同时加入多个 tailnet,例如内核模式实例连远端 Headscale、用户态实例连本机 Headscale。
- 可以沿用已有的状态目录,节点身份与地址保持不变;旧版单实例配置升级后自动变为名为
tailscale的实例,启动参数与升级前一致。 - 同时启用的内核模式实例最多一个(tailscaled 的路由表与防火墙标记是固定的);状态目录、控制套接字、端口冲突在保存或启用时提示。修改一个实例只重启它自己。
- 接口变化:
/api/tailscale/secrets、/restart、/logout改为按实例的/api/tailscale/instances/{key}/…,PUT /api/tailscale/settings只保存程序路径;使用旧接口的脚本需要调整。
NetBird 多实例
- 与 Tailscale 相同的多实例方式:独立的守护进程、状态目录、控制地址与 WireGuard 端口,旧配置自动迁移为名为
netbird的实例。 - 冲突检查同时覆盖 WireGuard 端口(0 视为默认的 51820)与用户态实例的 SOCKS5 地址(留空视为
127.0.0.1:1080)。 - 系统中另装的 NetBird 服务以内核模式运行时(发现
wt网卡,或系统控制套接字报告已连接且使用内核网卡),内核模式实例不会与它同时运行,并显示原因。 - 接口变化:实例接口位于
/api/netbird/instances,状态、重启、退出登录与设置密钥均按实例提供。
详见 隧道与组网。
通知带上服务器名称
通知的标题变为 [Gately · 服务器名称] 事件标题,正文增加「服务器」一行,多台服务器的通知发到同一个邮箱或群里时可以直接区分。名称在「通知设置」中填写,留空使用主机名;Webhook 模板可用 {server} 变量。详见 通知中心。
其他改进与修复
- 协议分流的路由可以临时停用:保留设置,连接改走更宽的路由或默认目标,切换时不中断其他连接。
- 修复 DNSPod:dnsapi.cn 开始拒绝含
DDNS Client的 User-Agent,导致 DNSPod 解析同步与 DNS-01 证书验证全部失败。 - ipw.cn 已停止解析:默认公网 IP 查询地址改为
ipv4.ddnspod.com与ipv6.ddnspod.com,已保存的 ipw.cn 地址在启动时自动替换。 - 备份页打开期间不再每隔几秒记录一次敏感访问审计并发送通知,只有下载备份文件才记录。
- 只读账号不再显示分组的重命名按钮。
更新说明:https://gately.cn/news/v0.6.4.1
English
Multiple Tailscale instances
- Each instance runs its own tailscaled with its own state directory, control socket and WireGuard port, so one machine can join several tailnets at once, for example a kernel-mode instance for a remote Headscale and a userspace instance for a local one.
- An existing state directory can be reused to keep the node identity and address; an old single-instance configuration becomes an instance named
tailscaleon upgrade, with the same command line as before. - At most one kernel-mode instance can be enabled at a time (tailscaled uses a fixed routing table and firewall mark); conflicting state directories, control sockets and ports are reported when saving or enabling. Editing an instance restarts only that instance.
- API change:
/api/tailscale/secrets,/restartand/logoutmove to the per-instance/api/tailscale/instances/{key}/…, andPUT /api/tailscale/settingsnow only saves program paths; scripts using the old endpoints need updating.
Multiple NetBird instances
- The same approach as Tailscale: separate daemons, state directories, daemon addresses and WireGuard ports, and the old configuration migrates to an instance named
netbird. - Conflict checks also cover WireGuard ports (0 counts as the default 51820) and the SOCKS5 address of userspace instances (empty counts as
127.0.0.1:1080). - When a separately installed NetBird service runs in kernel mode (a
wtinterface exists, or the system daemon socket reports a connected kernel interface), a kernel-mode instance does not run next to it and shows why. - API change: instances live under
/api/netbird/instances, with status, restart, log out and setup key per instance.
Notifications include the server name
Notification titles become [Gately · server name] Event title and the body gains a Server line, so notifications from several servers sent to the same mailbox or chat are easy to tell apart. Set the name in Notification settings; when empty the hostname is used, and Webhook templates can use the {server} variable. See Notifications.
Other improvements and fixes
- Protocol routing routes can be disabled temporarily: settings are kept, connections fall through to broader routes or the default target, and toggling does not interrupt other connections.
- DNSPod fix: dnsapi.cn started rejecting User-Agents containing
DDNS Client, which broke every DNSPod record sync and DNS-01 certificate validation. - ipw.cn no longer resolves: the default public IP lookups now start with
ipv4.ddnspod.comandipv6.ddnspod.com, and saved ipw.cn addresses are replaced on startup. - With the backup page open, a sensitive access audit entry and notification are no longer recorded every few seconds; only downloading a backup file is recorded.
- Read-only accounts no longer see the group rename button.
Release notes: https://gately.cn/en/news/v0.6.4.1