Skip to content

DNS Provider 配置指南

本目录包含各个DNS服务商的详细配置指南。DDNS支持多个主流DNS服务商,每个服务商都有其特定的配置要求和API特性。

🚀 快速导航

Provider服务商配置文档英文文档特点
alidns阿里云DNSalidns 中文文档alidns English Doc阿里云生态集成
aliesa阿里云ESAaliesa 中文文档aliesa English Doc阿里云边缘安全加速
callback自定义API (Webhook)callback 中文文档callback English Doc自定义HTTP API
cloudflareCloudflarecloudflare 中文文档cloudflare English Doc全球CDN和DNS服务
debug调试Providerdebug 中文文档debug English Doc仅打印IP地址,用于调试
dnscom(51dns)51DNS51dns 中文文档51dns English Doc⚠️ 等待验证
dnspod_comDNSPod Globaldnspod_com 中文文档dnspod_com English Doc⚠️ 等待验证
dnspodDNSPod 中国版dnspod 中文文档dnspod English Doc国内最大DNS服务商
heHE.nethe 中文文档he English Doc⚠️ 等待验证,不支持自动创建记录
huaweidns华为云 DNShuaweidns 中文文档huaweidns English Doc⚠️ 等待验证
namesiloNameSilonamesilo 中文文档namesilo English Doc⚠️ 等待验证
noipNo-IPnoip 中文文档noip English Doc不支持自动创建记录
tencentcloud腾讯云DNSPodtencentcloud 中文文档tencentcloud English Doc腾讯云DNSPod服务
edgeone腾讯云EdgeOneedgeone 中文文档edgeone English Doc腾讯云边缘安全加速平台(加速域名)
edgeone_dns腾讯云EdgeOne DNSedgeone_dns 中文文档edgeone_dns English Doc腾讯云EdgeOne DNS记录管理

添加新的Provider, 创建Issue,并按照模板填好链接

支持自动创建记录

大部分provider支持自动创建不存在的DNS记录,但有例外:

  • ⚠️ he: 不支持自动创建记录,需要手动在控制面板中预先创建
  • ⚠️ noip: 不支持自动创建记录,需要手动在控制面板中预先创建

📝 配置示例

命令行配置

cli 提供了命令行配置方式,以下是一些常用的命令行示例:

bash
# DNSPod中国版
ddns --dns dnspod --id 12345 --token your_token --ipv4 ddns.newfuture.cc

# 阿里云DNS
ddns --dns alidns --id your_access_key --token your_secret --ipv4 ddns.newfuture.cc

# Cloudflare (使用邮箱)
ddns --dns cloudflare --id user@example.com --token your_api_key --ipv4 ddns.newfuture.cc

# Cloudflare (使用Token)
ddns --dns cloudflare --token your_api_token --ipv4 ddns.newfuture.cc

# 腾讯云EdgeOne
ddns --dns edgeone --id your_secret_id --token your_secret_key --ipv4 ddns.newfuture.cc

# No-IP
ddns --dns noip --id your_username --token your_password --ipv4 ddns.newfuture.cc

JSON配置文件

JSON配置文件提供了更灵活的配置方式,以下是一些常用的JSON配置示例:

单Provider格式

jsonc
{
  "$schema": "https://ddns.newfuture.cc/schema/v4.1.json",
  "dns": "dnspod",
  "id": "12345",
  "token": "your_token_here",
  "ipv4": ["ddns.newfuture.cc", "*.newfuture.cc"],
  "index4": ["default"],
  "ttl": 600
}

多Provider格式

jsonc
{
  "$schema": "https://ddns.newfuture.cc/schema/v4.1.json",
  "ssl": "auto",
  "cache": true,
  "log": {"level": "INFO"},
  "providers": [
    {
      "provider": "cloudflare",
      "id": "user@example.com",
      "token": "cloudflare-token",
      "ipv4": ["cf.example.com"],
      "ttl": 300
    },
    {
      "provider": "dnspod", 
      "id": "12345",
      "token": "dnspod-token",
      "ipv4": ["dnspod.example.com"],
      "ttl": 600
    }
  ]
}

多配置文件方式

命令行指定多个配置文件

bash
# 使用多个独立的配置文件
ddns -c cloudflare.json -c dnspod.json -c alidns.json

# 使用环境变量指定多个配置文件
export DDNS_CONFIG="cloudflare.json,dnspod.json,alidns.json"
ddns

多配置文件示例

cloudflare.json:

json
{
  "dns": "cloudflare",
  "id": "user@example.com",
  "token": "your-cloudflare-token",
  "ipv4": ["cf.example.com"]
}

dnspod.json:

json
{
  "dns": "dnspod",
  "id": "12345", 
  "token": "your-dnspod-token",
  "ipv4": ["dnspod.example.com"]
}

环境变量配置

环境变量配置提供了另一种配置方式,以下是一些常用的环境变量示例:

bash
export DDNS_DNS=dnspod
export DDNS_ID=12345
export DDNS_TOKEN=your_token_here
export DDNS_IPV4=ddns.newfuture.cc
export DDNS_INDEX4=default
ddns --debug

📚 相关文档


如有疑问或需要帮助,请查看FAQ 或在 GitHub Issues 中提问。

Released under the MIT License