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服务
cloudnsClouDNScloudns 中文文档cloudns English Doc全球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