{"id":21711208,"url":"https://github.com/real-zony/aliddnsnet","last_synced_at":"2025-04-13T15:42:18.471Z","repository":{"id":56280396,"uuid":"141830845","full_name":"real-zony/AliDDNSNet","owner":"real-zony","description":"使用 C# + .NET Core 开发的开源 DDNS 工具，基于阿里云的 DNS API 接口。","archived":false,"fork":false,"pushed_at":"2024-07-09T01:26:25.000Z","size":927,"stargazers_count":121,"open_issues_count":2,"forks_count":39,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-27T06:44:49.197Z","etag":null,"topics":["alicloud","csharp","ddns","ddns-client","dotnet-core","dotnetcore","linux","synology-nas"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/real-zony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-21T16:56:34.000Z","updated_at":"2025-01-26T14:54:23.000Z","dependencies_parsed_at":"2024-07-09T05:09:03.520Z","dependency_job_id":"c020b561-ed82-4430-86e4-076559c44757","html_url":"https://github.com/real-zony/AliDDNSNet","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-zony%2FAliDDNSNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-zony%2FAliDDNSNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-zony%2FAliDDNSNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-zony%2FAliDDNSNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/real-zony","download_url":"https://codeload.github.com/real-zony/AliDDNSNet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248740071,"owners_count":21154248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alicloud","csharp","ddns","ddns-client","dotnet-core","dotnetcore","linux","synology-nas"],"created_at":"2024-11-25T23:20:18.611Z","updated_at":"2025-04-13T15:42:18.445Z","avatar_url":"https://github.com/real-zony.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 0.简要介绍\n\nAliCloudDynamicDNS 是基于 .NET Core 开发的动态 DNS 解析工具，借助于阿里云的 DNS API 来实现域名与动态 IP 的绑定功能。这样你随时就可以通过域名来访问你的设备，而不需要担心 IP 变动的问题。\n\n## 1.使用说明\n\n使用本工具的时候，请详细阅读使用说明。\n\n### 1.1 配置说明\n\n通过更改 ```settings.json.example``` 的内容来实现 DDNS 更新，其文件内部各个选项的说明如下：\n\n```json\n{\n  // 阿里云的 Access Id。\n  \"AccessId\": \"AccessId\",\n  // 阿里云的 Access Key。\n  \"AccessKey\": \"AccessKey\",\n  // 主域名。\n  \"MainDomain\": \"example.com\",\n  // 公网 IP 获取服务器地址。\n  \"PublicIpServer\": \"https://api.myzony.com/get-ip\",\n  // 需要批量变更的子域名记录集合。\n  \"SubDomains\": [\n    {\n      // 子域名记录类型。\n      \"Type\": \"A\",\n      // 子域名记录前缀。\n      \"SubDomain\": \"sub1\",\n      // TTL 时间。\n      \"Interval\": 600\n    },\n    {\n      \"Type\": \"A\",\n      \"SubDomain\": \"sub2\",\n      \"Interval\": 600\n    }\n  ]\n}\n```\n\n其中 ```Access Id``` 与 ```Access Key``` 可以登录阿里云之后在右上角可以得到。\n\n### 1.2 命令参数说明\n\n在运行程序的时候，请建立一个新的 ```settings.json``` 文件，在里面填入配置内容，然后执行以下命令：\n\n```shell\n./AliCloudDynamicDNS\n```\n\n效果图：  \n![1203160-20180722111356778-841949657.png](./READMEPIC/Snipaste_2019-12-12_17-36-21.png)\n\n当然如果你有其他的配置文件也可以通过指定 ```-f``` 参数来制定配置文件路径。例如：\n\n```shell\n./AliCloudDynamicDNS -f ./settings.json\n```\n\n![](./READMEPIC/Snipaste_2019-12-12_17-38-09.png)\n\n如果你需要启动自动周期检测的话，请通过 `-i` 参数指定执行周期，单位是秒。\n\n```shell\n./AliCloudDynamicDNS -f ./settings.json -i 3600\n```\n\n![](./READMEPIC/Snipaste_2019-12-12_17-38-53.png)\n\n\u003e **注意：**\n\u003e\n\u003e **当你通过 -i 指定了周期之后，请在最末尾使用 \u0026 符号，使应用程序在后台运行。使用群晖的同学，就不要指定 -i 参数了。**\n\n## 2. 如何安装\n\n### 2.1 基于 Docker 运行\n\n本程序已经打包了 x64 的 Linux Docker 镜像，基于 X86 的机器可以直接执行以下命令拉取并快速执行命令。\n\n```\ndocker run -d -ti -v \u003c你的配置文件路径(完整)\u003e:/app/settings.json --name=aliyun-ddns myzony/ali-cloud-dynamic-dns:latest\n```\n\n下面是一个 Docker-Compose 的示例:\n\n*docker-compose.yaml*\n\n```yaml\nversion: '3'\nservices:\n\tddns:\n\t\tcontainer_name: aliyun-ddns\n\t\timage: myzony/ali-cloud-dynamic-dns:latest\n\t\tvolume:\n\t\t\t- \u003c你的配置文件路径(完整)\u003e:/app/settings.json\n\t\trestart: always\n```\n\n### 2.2 基于群晖 Docker\n\nTODO\n\n### 2.3 基于任务计划\n\n**以下方法不再建议使用，优先考虑 Docker 模式**\n\n~~群晖使用本工具的话推荐下载 [Release](https://github.com/GameBelial/AliDDNSNet/releases) 页面的 Linux 版本压缩包，将其通过 WinSCP 传输到群晖 NAS 上面，然后解压之后即可。~~\n\n~~例如我这里将其解压到了 ```/var/services/homes/myzony/newDns/``` 这个目录之下，同时我们也将建立一个新的 `settings.json` 文件，并按照下方配置说明进行设置。~~\n\n~~最后我们来到群晖的 DSM 管理面，打开 **控制面板 -\u003e 任务计划**，添加一个新的任务，例如下图：~~\n\n![群晖设置图1](./READMEPIC/Snipaste_2019-12-12_17-42-28.png)\n\n![群晖设置图2](./READMEPIC/Snipaste_2019-12-12_17-43-54.png)\n\n![](./READMEPIC/Snipaste_2019-12-12_17-46-01.png)\n\n## 3.下载地址\n\n程序打包了 Linux_x64、Linux_arm64、Windows_x64 的二进制可执行文件，你可以直接下载对应的压缩包解压到你的路由器或者 NAS 里面进行运行。\n\n**[下载地址在这儿](https://github.com/GameBelial/AliDDNSNet/releases)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-zony%2Faliddnsnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freal-zony%2Faliddnsnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-zony%2Faliddnsnet/lists"}