项目作者: lonord

项目描述 :
通过阿里云的API接口,为动态公网IP实现动态域名绑定(DDNS)
高级语言: Go
项目地址: git://github.com/lonord/aliyun-ddns.git
创建时间: 2018-12-14T04:27:55Z
项目社区:https://github.com/lonord/aliyun-ddns

开源协议:MIT License

下载


aliyun-ddns

通过阿里云的API接口,为动态公网IP实现域名绑定(DDNS)

安装

  1. go get github.com/lonord/aliyun-ddns

如果需要编译其他平台的二进制文件(比如为树莓派编译),进入目录,使用build.sh来编译

  1. ./build.sh -l=arm # 编译arm版linux的二进制文件

使用

参数

  1. aliyun-ddns --help
  2. Usage of ./dist/darwin/amd64/aliyun-ddns:
  3. -domain string
  4. Domain name (like google.com)
  5. -key string
  6. Access Key ID
  7. -region string
  8. Region ID (default "cn-hangzhou")
  9. -rr string
  10. Resource record (RR)
  11. -secret string
  12. Access Key Secret
  13. -type string
  14. Domain type (A,CNAME,MX,etc...) (default "A")
  15. -v Show version

-domain

指定DNS解析的根域名,也可以通过环境变量ALIDNS_DOMAIN来设置

-key

阿里云API服务访问key,也可以通过环境变量ALIDNS_ACCESS_KEY来设置

-region

可选参数

阿里云API服务地区,一般选择最近的区域,默认为cn-hangzhou,(服务区域ID可以在阿里云官网找到),也可以通过环境变量ALIDNS_REGION来设置

-rr

指定需要动态更新的主机记录,也可以通过环境变量ALIDNS_RR来设置

-secret

阿里云API服务访问密钥,也可以通过环境变量ALIDNS_ACCESS_SECRET来设置

-type

可选参数

指定需要动态更新的主机记录的类型(A,CNAME,MX等),默认为A,也可以通过环境变量ALIDNS_DDMAIN_TYPE来设置

放在定时调度(cron)中使用

例如每10分支更新一次subdomain.abc.com这个域名的DDNS记录,在/etc/cron.d/下创建一个文件updatedns

  1. # The first element of the path is a directory where the debian-sa1
  2. # script is located
  3. PATH=/root/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
  4. ALIDNS_REGION=cn-shanghai
  5. ALIDNS_ACCESS_KEY=xxxxxxxxxxx
  6. ALIDNS_ACCESS_SECRET=xxxxxxxxxxxxx
  7. ALIDNS_DOMAIN=abc.com
  8. ALIDNS_DDMAIN_TYPE=A
  9. ALIDNS_RR=subdomain
  10. 5-55/10 * * * * root aliyun-ddns | logger -i -t update-dns

License

MIT