/DDNS-Core

自动更新DNS解析到公网IP地址(支持dnspod,阿里DNS,CloudFlare,华为云,DNSCOM ...)DDNS.Core

Primary LanguageC#

DDNS-Core

自动更新 DNS 解析 到公网 IP 地址,支持 ipv4 和 ipv6。 支持自动创建域名记录。

找了一圈没有合适的就自己写一个吧 初次提交 些许潦草 先解自己燃眉之急 后面慢慢优化 目前只支持[DNSPod,alidns] ipv4 后期会慢慢扩展其他服务商和 ipv6

Features

使用

① 安装

各平台下载/使用方式

Windows

1.下载DDNS.Core-win-x86.zip
2.解压后 运行文件夹 DDNS.Core.exe

Linux

1.下载DDNS.Core-linux-x64
2.解压后 运行文件夹 DDNS.Core

② 快速配置

  1. 申请 api token,填写到对应的idtoken字段:

  2. 修改配置文件,ipv4ipv6字段,为待更新的域名,详细参照配置说明

详细配置

config.json 配置文件
  • 根文件夹有一个模板配置文件config.json
  • 推荐使用 vscode 等支持 JsonSchema 的编辑器编辑配置文件

配置参数表

key type required default description tips
ThreadSleep int 300000 检查IP时间 默认每隔5分钟检查一次ip 值为毫秒 可自定义
IsEnable bool true 是否启用 是否启用-设置为false即忽略
id string api 访问 ID Cloudflare 为邮箱(使用 Token 时留空)
HE.net 可留空
token string api 授权 toke n
dnsType string No "dnspod" dns 服务商 阿里alidns,
dns.com 为dnscom,
DNSPOD 国际版dnspod_com,
HE.net 为he,华为 DNS 为huaweidns
自定义回调为callback
ipv4 array No [] ipv4 域名列表 []时,不会获取和更新 IPv4 地址
ipv6 array No [] ipv6 域名列表 []时,不会获取和更新 IPv6 地址
domain string "" 根域名 例: studenty.cn
sub_domain string "" 主机记录 例:www,ddns_01等 如果不传,默认为@
ttl number 600 DNS 解析 TTL 时间 默认设置600

配置示例

{
  "ThreadSleep": 300000,
  "Config": [
    {
      "IsEnable": false,
      "remark": "备注信息可以随便写",
      "id": "12345",
      "token": "tokenkey",
      "dnsType": "dnspod 或 alidns 或 dnscom 或 cloudflare 或 he 或 huaweidns 或 callback",
      "ipv4": [
        {
          "domain": "studenty.cn",
          "sub_domain": ""
        },
        {
          "domain": "studenty.cn",
          "sub_domain": "ddns_01"
        }
      ],
      "ipv6": [
        {
          "domain": "",
          "sub_domain": ""
        }
      ],
      "ttl": 600
    },
    {
      "IsEnable": true,
      "remark": "备注信息可以随便写",
      "id": "12345",
      "token": "tokenkey",
      "dnsType": "dnspod",
      "ipv4": [
        {
          "domain": "studenty.cn",
          "sub_domain": ""
        },
        {
          "domain": "studenty.cn",
          "sub_domain": "ddns_01"
        }
      ],
      "ipv6": [],
      "ttl": 600
    }
  ]
}

FAQ

问题排查反馈
  1. 先确认排查是否是系统/网络环境问题
  2. issues中搜索是否有类似问题
  3. 前两者均无法解决或者确定是 bug,在此新建 issue
    • 附上这些内容 运行版本和方式,系统环境, 出错日志,去掉 id/token的配置文件