Tailscale / frp / cloudflared
三个模块以进程托管方式集成官方程序:自动重启、日志汇总到界面、配置在界面中完成。Gately 本体不内置这些程序,因此始终可以使用上游最新版本。
程序放置
按以下顺序查找可执行文件:
- 模块设置中填写的路径;
PATH;- 配置目录下的
bin/子目录。
Docker 部署时把二进制放进挂载的配置目录即可,例如 ./gately-data/bin/frpc。Tailscale 需要同时提供 tailscale 与 tailscaled。
令牌与密钥以 0600 权限保存,cloudflared 的令牌通过环境变量传递,不会出现在进程列表中。
Tailscale
- 托管
tailscaled(用户态网络,容器友好)或接入系统已有的守护进程; - 认证密钥或登录链接,支持 Headscale;
- 子网路由与出口节点;
- 节点列表与 SOCKS5 代理;
- 固定 WireGuard UDP 端口,便于在防火墙放行直连;
- tailscaled 额外参数与环境变量。宿主机 iptables 是 nf_tables 后端时,在环境变量中加入
TS_DEBUG_FIREWALL_MODE=nftables,子网转发才会生效。
frp
- frpc 客户端:tcp / udp / http / https / stcp / xtcp 代理,增删即生效;
- frps 服务端:端口白名单、子域名、控制台;
- 导入已有配置:页头的「导入配置」支持旧版
frpc.ini/frps.ini(含[common]段)和 frp 0.52+ 的toml,可选择文件或粘贴内容。先预览解析结果与被忽略的字段,再确认导入;客户端可选择追加(同名代理保持不变)或替换全部代理。导入不会改变启用状态,也可通过接口POST /api/frp/import调用。 - 从 Lucky 迁移:
lucky_frp.lkcf中的第一个客户端实例与第一个服务端实例可直接导入,见 从 Lucky 迁移。
Cloudflare 隧道
- 令牌隧道与 trycloudflare 临时隧道;
- 多隧道、自动重启;
- 展示公网地址。
- 可从 Lucky 导入使用隧道令牌的隧道。
如何选择
| 场景 | 推荐 |
|---|---|
| 在多台设备之间组成私有网络 | Tailscale |
| 自己有公网服务器,把内网服务映射出去 | frp |
| 没有公网 IP 也没有服务器,快速暴露 Web 服务 | Cloudflare 隧道 |
| 运营商给了可打洞的 NAT | STUN 穿透 |