This directory contains detailed configuration guides for various DNS providers. DDNS supports multiple mainstream DNS providers, each with specific configuration requirements and API characteristics.
Provider | Service Provider | Chinese Doc | Configuration Doc | Features |
---|---|---|---|---|
alidns |
Alibaba Cloud DNS | alidns 中文文档 | alidns English Doc | Alibaba Cloud ecosystem integration |
aliesa |
Alibaba Cloud ESA | aliesa 中文文档 | aliesa English Doc | Alibaba Cloud Edge Security Acceleration |
callback |
Custom API (Webhook) | callback 中文文档 | callback English Doc | Custom HTTP API |
cloudflare |
Cloudflare | cloudflare 中文文档 | cloudflare English Doc | Global CDN and DNS service |
debug |
Debug Provider | debug 中文文档 | debug English Doc | IP address printing for debugging |
dnscom |
DNS.COM | 51dns 中文文档 | 51DNS English Doc | ⚠️ Pending verification |
dnspod_com |
DNSPod Global | dnspod_com 中文文档 | dnspod_com English Doc | ⚠️ Pending verification |
dnspod |
DNSPod China | dnspod 中文文档 | dnspod English Doc | Largest DNS provider in China |
he |
HE.net | he 中文文档 | he English Doc | ⚠️ Pending verification, no auto-record creation |
huaweidns |
Huawei Cloud DNS | huaweidns 中文文档 | huaweidns English Doc | ⚠️ Pending verification |
noip |
No-IP | noip 中文文档 | noip English Doc | Popular dynamic DNS service |
tencentcloud |
Tencent Cloud DNSPod | tencentcloud 中文文档 | tencentcloud English Doc | Tencent Cloud DNSPod service |
edgeone |
Tencent Cloud EdgeOne | edgeone 中文文档 | edgeone English Doc | Tencent Cloud Edge Security Platform |
To add a new provider, create an issue and fill in the template
Most providers support automatic creation of non-existent DNS records, with exceptions:
CLI provides command line configuration, here are some common command line examples:
# DNSPod China
ddns --dns dnspod --id 12345 --token your_token --ipv4 ddns.newfuture.cc
# Alibaba Cloud DNS
ddns --dns alidns --id your_access_key --token your_secret --ipv4 ddns.newfuture.cc
# Cloudflare (using email)
ddns --dns cloudflare --id user@example.com --token your_api_key --ipv4 ddns.newfuture.cc
# Cloudflare (using Token)
ddns --dns cloudflare --token your_api_token --ipv4 ddns.newfuture.cc
# No-IP
ddns --dns noip --id your_username --token your_password --ipv4 ddns.newfuture.cc
JSON configuration file provides a more flexible configuration method, here are some common JSON configuration examples:
{
"$schema": "https://ddns.newfuture.cc/schema/v4.0.json",
"dns": "dnspod",
"id": "12345",
"token": "your_token_here",
"ipv4": ["ddns.newfuture.cc", "*.newfuture.cc"],
"index4": ["default"],
"ttl": 600
}
{
"$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
}
]
}
# Use multiple independent configuration files
ddns -c cloudflare.json -c dnspod.json -c alidns.json
# Use environment variable to specify multiple configuration files
export DDNS_CONFIG="cloudflare.json,dnspod.json,alidns.json"
ddns
cloudflare.json:
{
"dns": "cloudflare",
"id": "user@example.com",
"token": "your-cloudflare-token",
"ipv4": ["cf.example.com"]
}
dnspod.json:
{
"dns": "dnspod",
"id": "12345",
"token": "your-dnspod-token",
"ipv4": ["dnspod.example.com"]
}
Environment variable configuration provides another configuration method, here are some common environment variable examples:
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
If you have questions or need help, please check the FAQ or ask in GitHub Issues.