# 说明
这是一个用于更新阿里云上托管域名的ddns工具。使用C#编写(.net core 3.1),支持IPv4/IPv6(即A、AAAA记录),支持多域名更新,支持仅检测国内IP。多网站检测公网IP,不会因为单个网站无法访问导致检测失败。
GitHub仓库地址:https://github.com/sanjusss/aliyun-ddns
DockerHub仓库地址:https://hub.docker.com/r/sanjusss/aliyun-ddns
欢迎大家多提意见!
这个工具发布已经有一阵子了,以后可能会发布更加全面的ddns工具,支持腾讯云、华为云、Cloudflare等其他服务商。
使用方法
Docker
对于群晖、LEDE、CentOS等有Docker程序的系统,我们可以用Docker运行ddns程序。
docker run -d --restart=always --net=host \
-e "AKID=[ALIYUN's AccessKey-ID]" \
-e "AKSCT=[ALIYUN's AccessKey-Secret]" \
-e "DOMAIN=ddns.aliyun.win" \
-e "ENDPOINT=cn-hangzhou" \
-e "REDO=30" \
-e "TTL=60" \
-e "TIMEZONE=8.0" \
-e "TYPE=A,AAAA" \
sanjusss/aliyun-ddns
主要通过环境变量来设置参数:
环境变量 | 注释 | 默认值 |
AKID | 阿里云的Access Key ID。获取阿里云AccessToken | access key id |
AKSCT | 阿里云的Access Key Secret。 | access key secret |
DOMAIN | 需要更新的域名,多个域名需要“,”分隔。 | my.domain.com |
ENDPOINT | 详见定义。 | cn-hangzhou |
REDO | 更新间隔,单位秒。建议大于等于TTL/2。 | 300 |
TTL | 服务器缓存解析记录的时长,单位秒,普通用户最小为600。 | 600 |
TIMEZONE | 输出日志时的时区,单位小时。 | 8 |
TYPE | 需要更改的记录类型,可以用“,”隔开,只能是“A”、“AAAA”或“A,AAAA”。 | A,AAAA |
CNIPV4 | 检查IPv4地址时,仅使用中国服务器,可以避免域名被修改为国外IP。 | false |
以上环境变量均存在默认值,添加需要修改的环境变量即可。
命令行
使用dotnet publish -c Release
编译生成后,可以在命令行中调用aliyun-ddns.dll。
查看帮助信息:
dotnet aliyun-ddns.dll --help
查看版本信息:
dotnet aliyun-ddns.dll --version
运行实例:
dotnet aliyun-ddns.dll \
-u "ALIYUN's AccessKey-ID" \
-p "ALIYUN's AccessKey-Secret" \
-d "ddns.aliyun.win,ddns2.aliyun2.win" \
-e "cn-hangzhou" \
-i 300 \
-t 600 \
--timezone 8.0 \
--type A \
--cnipv4
详细参数:
参数名称 | 注释 | 默认值 |
u | 阿里云的Access Key ID。获取阿里云AccessToken | access key id |
p | 阿里云的Access Key Secret。 | access key secret |
d | 需要更新的域名,多个域名需要“,”分隔。 | my.domain.com |
e | 详见定义。 | cn-hangzhou |
i | 更新间隔,单位秒。建议大于等于TTL/2。 | 300 |
t | 服务器缓存解析记录的时长,单位秒,普通用户最小为600。 | 600 |
timezone | 输出日志时的时区,单位小时。 | 8 |
type | 需要更改的记录类型,可以用“,”隔开,只能是“A”、“AAAA”或“A,AAAA”。 | A,AAAA |
cnipv4 | 检查IPv4地址时,仅使用中国服务器,可以避免域名被修改为国外IP。 | false |
以上参数均存在默认值,添加需要修改的参数即可。