All Projects → sanjusss → Aliyun Ddns

sanjusss / Aliyun Ddns

Licence: bsd-3-clause
阿里云动态域名工具,支持docker和ipv6。

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Aliyun Ddns

Aliyungo
Go SDK for Aliyun (Alibaba Cloud) - Golang API for ECS, OSS, DNS, SLB, RDS, RAM, MNS, STS, SLS, MQ, Push, OpenSearch, DM, Container Service etc.
Stars: ✭ 756 (+477.1%)
Mutual labels:  aliyun, dns
Certbot Letencrypt Wildcardcertificates Alydns Au
certbot'renewing letencrypt certificate plugin - automatic verification aliyun/tencentyun/godaddy dns
Stars: ✭ 839 (+540.46%)
Mutual labels:  aliyun, dns
Alibaba Cloud Sdk Go
Alibaba Cloud SDK for Go
Stars: ✭ 876 (+568.7%)
Mutual labels:  aliyun, dns
Globodns
Api to manage Bind Name Server
Stars: ✭ 122 (-6.87%)
Mutual labels:  dns
Gitwebhookproxy
A proxy to let webhooks reach running services behind a firewall – [✩Star] if you're using it!
Stars: ✭ 123 (-6.11%)
Mutual labels:  webhook
Hybrid multicloud overlay
MutiCloud_Overlay demonstrates a use case of overlay over one or more clouds such as AWS, Azure, GCP, OCI, Alibaba and a vSphere private infrastructure in Hub and spoke topology, point to point topology and in a Single cloud. Overlay protocols IPv6 and IPv4 are independent of underlying infrastructure. This solution can be integrated with encryption and additional security features.
Stars: ✭ 127 (-3.05%)
Mutual labels:  aliyun
Desec Stack
Backbone of the deSEC.io Free Secure DNS Hosting Service
Stars: ✭ 130 (-0.76%)
Mutual labels:  dns
Bundy
an authoritative DNS server
Stars: ✭ 121 (-7.63%)
Mutual labels:  dns
Python Whois
Python module/library for retrieving WHOIS information of domains 💻❤
Stars: ✭ 128 (-2.29%)
Mutual labels:  dns
Php Dns
A DNS abstraction for PHP
Stars: ✭ 126 (-3.82%)
Mutual labels:  dns
Botserver
http://telegram.org Bot API Webhooks Framework, for Rubyists
Stars: ✭ 125 (-4.58%)
Mutual labels:  webhook
Prom2teams
prom2teams is an HTTP server built with Python that receives alert notifications from a previously configured Prometheus Alertmanager instance and forwards it to Microsoft Teams using defined connectors
Stars: ✭ 122 (-6.87%)
Mutual labels:  webhook
Ldns
LDNS is a DNS library that facilitates DNS tool programming
Stars: ✭ 127 (-3.05%)
Mutual labels:  dns
Andiodine
Android VPN over DNS (no root required). Repo moved to gitlab
Stars: ✭ 122 (-6.87%)
Mutual labels:  dns
Rust Slack
A rust crate for sending messages to Slack via webhooks
Stars: ✭ 128 (-2.29%)
Mutual labels:  webhook
Pycares
Python interface for c-ares
Stars: ✭ 121 (-7.63%)
Mutual labels:  dns
Spring Boot Quick
🌿 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等📌
Stars: ✭ 1,819 (+1288.55%)
Mutual labels:  aliyun
Caa helper
Generate a CAA policy
Stars: ✭ 125 (-4.58%)
Mutual labels:  dns
Bash Utils
A collection of hand-crafted bash scripts for various common tasks.
Stars: ✭ 124 (-5.34%)
Mutual labels:  dns
Prcdns
准确、CDN友好
Stars: ✭ 126 (-3.82%)
Mutual labels:  dns

 GitHub Workflow Status (branch) GitHub license
GitHub tag GitHub issues GitHub forks GitHub stars

功能

  • 通过在线API获取公网IPv4/v6地址,更新到域名A/AAAA记录。
  • 通过本地网卡获取公网或内网IPv4/v6地址,更新到域名A/AAAA记录。
  • 支持更新多个域名的记录。
  • 支持更新指定线路的记录。
  • 支持Docker容器,支持x64、ARMv7和ARMv8。
  • IP发生变化时,使用WebHook通知。

使用方法

Docker

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 "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 需要更新的域名,可以用“,”隔开。
可以指定线路,用“:”分隔线路和域名(线路名说明)。
例如:“baidu.com,telecom:dianxin.baidu.com”。
my.domain.com
REDO 更新间隔,单位秒。建议大于等于TTL/2。 300
TTL 服务器缓存解析记录的时长,单位秒,普通用户最小为600。 600
TIMEZONE 输出日志时的时区,单位小时。 8
TYPE 需要更改的记录类型,可以用“,”隔开,只能是“A”、“AAAA”或“A,AAAA”。 A,AAAA
CNIPV4 检查IPv4地址时,仅使用中国服务器。 false
WEBHOOK WEBHOOK推送地址。
CHECKLOCAL 是否检查本地网卡IP。此选项将禁用在线API的IP检查。
网络模式必须设置为host。
(Windows版docker无法读取本机IP)
false
IPV4NETS 本地网卡的IPv4网段。格式示例:“192.168.1.0/24”。多个网段用“,”隔开。
IPV6NETS 本地网卡的IPv6网段。格式示例:“240e::/16”。多个网段用“,”隔开。

以上环境变量均存在默认值,添加需要修改的环境变量即可。

命令行

查看帮助信息
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" \
    -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 需要更新的域名,可以用“,”隔开。
可以指定线路,用“:”分隔线路和域名(线路名说明)。
例如:“baidu.com,telecom:dianxin.baidu.com”。
my.domain.com
i 更新间隔,单位秒。建议大于等于TTL/2。 300
t 服务器缓存解析记录的时长,单位秒,普通用户最小为600。 600
timezone 输出日志时的时区,单位小时。 8
type 需要更改的记录类型,可以用“,”隔开,只能是“A”、“AAAA”或“A,AAAA”。 A,AAAA
cnipv4 检查IPv4地址时,仅使用中国服务器。 false
webhook WEBHOOK推送地址。
checklocal 是否检查本地网卡IP。此选项将禁用在线API的IP检查。 false
ipv4nets 本地网卡的IPv4网段。格式示例:“192.168.1.0/24”。多个网段用“,”隔开。
ipv6nets 本地网卡的IPv6网段。格式示例:“240e::/16”。多个网段用“,”隔开。

以上参数均存在默认值,添加需要修改的参数即可。

常见问题

无法获取DNS记录

日志提示

获取xxx.yyy.zzz的所有记录时出现异常:Aliyun.Acs.Core.Exceptions.ClientException: SDK.WebException : HttpWebRequest WebException occured, the request url is alidns.aliyuncs.com System.Net.WebException: Resource temporarily unavailable Resource temporarily unavailable

可能的原因

  • alidns.aliyuncs.com服务器宕机
  • 当地电信运营商网络故障
  • docker容器无法访问网络

可能的解决方法

我们自己可以解决的只有“docker容器无法访问网络”这个问题。
执行curl https://alidns.aliyuncs.com有返回内容(403之类的),说明是docker容器无法访问网络。
如果之前手动修改过防火墙设置和docker网桥,请先修改回去。
可以通过重启网络解决一部分问题。
以CentOS7为例:

systemctl restart network
systemctl restart docker
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].