- 基于.net8.0主机服务和阿里云SDK开发的DDNS工具,用于获取IPv4和IPv6地址并更新到阿里云的域名解析记录中。
- 从本机特定网络连接或者通过公网ip服务器获取IPv4和IPv6地址
- 使用本机特定网络连接中获取IP地址时,监听本机特定网络连接的ip地址变化并更新IP地址
- 获取IP地址后,更新到阿里云的域名解析记录中
- 记录日志到windows事件中或者保存到log文件中
- linux systemd 支持
- .NET Runtime 8.0.x
- windows / linux (未经测试)
-
从Release下载编译好的二进制文件压缩包,或者拉取此项目进行编译
-
模版配置文件在
appsettings.json.example
中,请根据模板文件配置示例和说明修改配置内容,然后将appsettings.json.example
重命名成appsettings.json
- 修改
AddService.ps1
的BinaryPathName
,将其值修改为实际DDNSHostedService.exe
实际存放的路径,其余值视实际情况按需修改,然后运行此脚本 - 使用ps1脚本添加服务后,使用powershell启动服务
# 如果创建服务时修改了服务名称,请替换此处的服务名称
Start-Service -Name "Aliyun DDNS Hosted Service"
- 暂未编写
键 | 值类型 | 描述 |
---|---|---|
Logging.DDNSHosted.DDNSHostedService | string | 日志打印等级,可以填入Trace ,Debug ,Information ,Warning ,Error ,Critical |
DDNS.NetworkName | string | 要监听的网络连接的名称 |
DDNS.EnableIPv4 | bool | 若此值为true ,将ipv4地址更新到域名解析记录中 |
DDNS.EnableIPv6 | bool | 若此值为true ,将ipv6地址更新到域名解析记录中 |
DDNS.IsIPv4Nat | bool | 若此值为true ,将通过外网的公网ip服务去获取本机实际出口ipv4地址 |
DDNS.IsIPv6Nat | bool | 若此值为true ,将通过外网的公网ip服务去获取本机实际出口ipv6地址 |
DDNS.UsedIPv6Prefix | string | 获取ipv6地址时根据此值筛选出具有特定前缀的ipv6地址,不使用此功能则值可为空字符串"" |
DDNS.Domains | dictionary<MainDomainName,dictionary<Hosts,list<Host>>> | 可填入多个key-value对,key为主域名,例如baidu.com (这里的主域名无论是多少级域名均可),value为一个dictionary(第二层),而第二层dictionary中key为Hosts ,value为一个列表,列表每个元素为Host名(子域);第二层dictionary还可以填写可选keyTTL 值为int,可单独定义特定域名解析记录的TTL,优先级比DDNS.TTL 高 |
DDNS.TTL | long | 域名解析记录的TTL,解析结果在Local DNS中的缓存时间 |
AlibabaCloud.AccessKeyId | string | 阿里云的AccessKeyId |
AlibabaCloud.AliyunAccessKeySecret | string | 阿里云的AccessKeySecret |
AlibabaCloud.Endpoint | string | 阿里云云解析服务的服务器域名,详见阿里云云解析服务区域列表 |
- 本项目完全由 舰队的偶像-岛风酱 编写,非常感谢岛风大佬的辛勤付出和耐心教导。还要感谢他给我提供了域名,由此才有此项目的诞生。