文档
DDNS 动态域名
家庭和办公宽带通常拿到的是动态公网 IP,地址随时会变。DDNS(动态域名)让一个固定域名始终指向本机的当前 IP——客户端和其他服务器只需记住域名,无需追踪地址变化。
工作原理
整个过程在服务器后台自动循环:
- DDNS 管理器按固定周期刷新(默认每 5 分钟,可用环境变量
TERMINAL_SERVER_DDNS_POLL_INTERVAL_SECS调整);保存配置后也会立即刷新一次,未启用服务时不会执行; - 检测本机 IP:优先读取所选网卡的地址,取不到时按默认路由探测,并按
IP 族设置(IPv4 / IPv6 / 双栈)过滤; - 运行 DDNS 插件:插件是沙箱中的 JS 脚本,拿到解密后的配置与当前 IP,通过 HTTP 调用 DNS 服务商 API。以内置的 Cloudflare 插件为例:按域名查找 Zone,把 A / AAAA 记录改为当前 IP;若某个地址族消失,还会删除对应的过期记录;
- 客户端解析域名即得到最新 IP,按域名建立连接。
配置步骤
打开 Web 界面的 DDNS 设置页:
- 打开
启用开关。也可以先保持关闭,把各项配置填好再启用——服务未启用时只保存配置,不会执行; 服务商选择 DDNS 插件,内置Cloudflare DDNS;- 填写插件配置(以 Cloudflare 为例):
Email—— Cloudflare 账户邮箱;API Token—— 具有 Zone → DNS → Edit 权限的令牌;Domain—— 区域根域名,如example.com;Subdomain—— 区域下的记录名,例如sub.example.com应填sub;留空表示根域;
- 在
网络接口与 IP区块选择网卡和IP 族。双栈要求所选网卡同时具有 IPv4 和 IPv6 地址; - 点击
保存,再点立即同步验证。同步状态会显示最近一次推送的 IP 与同步时间,失败时会给出插件的错误信息。
安全
服务商凭据(API Token 等)保存前经过加密(enc-v2:),仅在插件运行时于内存中解密;插件在沙箱 JS 运行时中执行,只能通过受控的 HTTP 接口访问外部 API。
扩展服务商
DDNS 服务商以插件形式实现:一个 JSON 清单(声明配置字段,Web 界面据此自动生成表单)加一个暴露 run() 的 JS 脚本。内置的 cloudflare-ddns 即为参考实现;自定义插件可在 插件 页面上传 zip 安装。
与其他功能配合
- 域名生效后,
服务器页二维码的连接类型可切换为DDNS 域名,客户端扫码即得域名连接; - 其他服务器可把
wss://你的域名:端口填入中继地址,让中继链路也走域名(见「中继」章节)。