电信宽带一般能申请到公网IP,但是是动态的,基本上每天都要变,所以想到做一个定时任务,随系统启动,网上看了不少博文很多都支持IPv4,自己动手写了一个。
(私信可全程指导)
部署步骤:
1、下载软件包,修改配置文件
下载地址:私信获取
下载压缩包,解压后修改配置文件AliDDNS.exe.config中的阿里云帐号和自己的域名。
2、修改脚本,并运行脚本
将“安装服务.bat”和“卸载服务.bat”脚本中的可执行文件路径,改为自己的软件包所在路径,然后右键“安装服务.bat”进行安装服务。
执行脚本后会将定时服务添加到系统服务中。
3、启动服务
右键“此电脑”,点击“管理”进入计算机管理窗口,在服务列表中找到上一步新增的服务,然后启动。即可定时更新阿里云解析记录,实现动态IP的DDNS。
源代码:
/// <summary>
/// 刷新阿里云域名解析记录
/// </summary>
private void RefreshAliRecord()
{string recordTypes = ConfigurationManager.AppSettings["RecordTypes"];if (string.IsNullOrWhiteSpace(recordTypes)){NLogHelper.WriteLog(typeof(AliDDNS), "配置文件中的“待解析的协议类型”不能为空。", NLogLevel.Warn);return;}string regionId = ConfigurationManager.AppSettings["RegionId"];string accessKeyID = ConfigurationManager.AppSettings["AccessKeyID"];string accessKeySecret = ConfigurationManager.AppSettings["AccessKeySecret"];string domainName = ConfigurationManager.AppSettings["DomainName"];string rR = ConfigurationManager.AppSettings["RR"];string[] rRTypes = rR.Split('|');// regionId:地区节点// accessKeyID:阿里云Key// accessKeySecret:阿里云密钥AlibabaCloudCredentialsProvider provider = new AccessKeyCredentialProvider(accessKeyID, accessKeySecret);IClientProfile profile = DefaultProfile.GetProfile(regionId);DefaultAcsClient client = new DefaultAcsClient(profile, provider);List<DescribeDomainRecordsResponse.DescribeDomainRecords_Record> recordList = DescribeDomainRecords(client, domainName);string[] recordTypeArray = recordTypes.Split('|');foreach (string recordType in recordTypeArray){if (recordType == "A"){#region IPv4解析记录try{string urls = ConfigurationManager.AppSettings["GetIPFromUrl&