Giter Club home page Giter Club logo

aliddnsnet's Introduction

0.简要介绍

AliCloudDynamicDNS 是基于 .NET Core 开发的动态 DNS 解析工具,借助于阿里云的 DNS API 来实现域名与动态 IP 的绑定功能。这样你随时就可以通过域名来访问你的设备,而不需要担心 IP 变动的问题。

1.使用说明

使用本工具的时候,请详细阅读使用说明。

1.1 配置说明

通过更改 settings.json.example 的内容来实现 DDNS 更新,其文件内部各个选项的说明如下:

{
  // 阿里云的 Access Id。
  "AccessId": "AccessId",
  // 阿里云的 Access Key。
  "AccessKey": "AccessKey",
  // 主域名。
  "MainDomain": "example.com",
  // 公网 IP 获取服务器地址。
  "PublicIpServer": "https://api.myzony.com/get-ip",
  // 需要批量变更的子域名记录集合。
  "SubDomains": [
    {
      // 子域名记录类型。
      "Type": "A",
      // 子域名记录前缀。
      "SubDomain": "sub1",
      // TTL 时间。
      "Interval": 600
    },
    {
      "Type": "A",
      "SubDomain": "sub2",
      "Interval": 600
    }
  ]
}

其中 Access IdAccess Key 可以登录阿里云之后在右上角可以得到。

1.2 命令参数说明

在运行程序的时候,请建立一个新的 settings.json 文件,在里面填入配置内容,然后执行以下命令:

./AliCloudDynamicDNS

效果图:
1203160-20180722111356778-841949657.png

当然如果你有其他的配置文件也可以通过指定 -f 参数来制定配置文件路径。例如:

./AliCloudDynamicDNS -f ./settings.json

如果你需要启动自动周期检测的话,请通过 -i 参数指定执行周期,单位是秒。

./AliCloudDynamicDNS -f ./settings.json -i 3600

注意:

当你通过 -i 指定了周期之后,请在最末尾使用 & 符号,使应用程序在后台运行。使用群晖的同学,就不要指定 -i 参数了。

2. 如何安装

2.1 基于 Docker 运行

本程序已经打包了 x64 的 Linux Docker 镜像,基于 X86 的机器可以直接执行以下命令拉取并快速执行命令。

docker run -d -ti -v <你的配置文件路径(完整)>:/app/settings.json --name=aliyun-ddns myzony/ali-cloud-dynamic-dns:latest

下面是一个 Docker-Compose 的示例:

docker-compose.yaml

version: '3'
services:
	ddns:
		container_name: aliyun-ddns
		image: myzony/ali-cloud-dynamic-dns:latest
		volume:
			- <你的配置文件路径(完整)>:/app/settings.json
		restart: always

2.2 基于群晖 Docker

TODO

2.3 基于任务计划

以下方法不再建议使用,优先考虑 Docker 模式

群晖使用本工具的话推荐下载 Release 页面的 Linux 版本压缩包,将其通过 WinSCP 传输到群晖 NAS 上面,然后解压之后即可。

例如我这里将其解压到了 /var/services/homes/myzony/newDns/ 这个目录之下,同时我们也将建立一个新的 settings.json 文件,并按照下方配置说明进行设置。

最后我们来到群晖的 DSM 管理面,打开 控制面板 -> 任务计划,添加一个新的任务,例如下图:

群晖设置图1

群晖设置图2

3.下载地址

程序打包了 Linux_x64、Linux_arm64、Windows_x64 的二进制可执行文件,你可以直接下载对应的压缩包解压到你的路由器或者 NAS 里面进行运行。

下载地址在这儿

aliddnsnet's People

Contributors

dependabot[bot] avatar nicknameisnull avatar real-zony avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

aliddnsnet's Issues

Built a brand new AliDDNS tool using AOT technology.

The project has now been upgraded to .NET 8.0, and we can leverage AOT technology to further reduce the size of the executable files and Docker images, allowing the program to run on resource-constrained devices.

提供网络 IP 变化检测功能

启动程序之后,能够根据用户设定的周期定时检测网络 IP 的状况,一旦发生变化,则即时更新域名解析的 IP 地址。

多域名修改

如果一次要修改多个域名/ 子域名, 这应该怎么写?

同为群晖我要怎么安装

终于找到一个同样用群晖的人写得 aliddns,不过我从 Release 里不清楚我应该使用哪个,直接用 Linux 的来运行吗?还是说要自己弄好 Docker 然后下载 .NetCore 再运行 Linux 版本?

是否支持IPV6?

尝试解析了一下AAAA记录,似乎不支持IPV6?
以下是日志输出(已移除敏感信息)

[root@StationServer10 aliddns]# ./AliCloudDynamicDNS
[信息] 2022 年 07 月 24 日 12:10:28 - 当前配置内容如下:
监听的时间周期:0 秒
AccessId:************************
监听的主域名:luckykeeper.site
监听的子域名:
子域名地址1:ipv6.luckykeeper.site - 记录类型:AAAA
子域名地址2:v6blog.luckykeeper.site - 记录类型:AAAA

[正常] 2022 年 07 月 24 日 12:10:28 - 程序已经开始运行...
[信息] 2022 年 07 月 24 日 12:10:29 - 远程API获取的域名[luckykeeper.site]的解析记录有:20条
[信息] 2022 年 07 月 24 日 12:10:30 - 已获取本机公网IP:[************](获取的是IPV4的公网)
[错误] 2022 年 07 月 24 日 12:10:30 - 更新API解析出错,错误原因为:
Object reference not set to an instance of an object.
[正常] 2022 年 07 月 24 日 12:10:30 - 程序执行完成...

settings.json 配置如下

{
// 阿里云的 Access Id。
"AccessId": "",
// 阿里云的 Access Key。
"AccessKey": "
***",
// 主域名。
"MainDomain": "luckykeeper.site",
// 需要批量变更的子域名记录集合。
"SubDomains": [
{
// 子域名记录类型。
"Type": "AAAA",
// 子域名记录前缀。
"SubDomain": "ipv6",
// TTL 时间。
"Interval": 600
},
{
"Type": "AAAA",
"SubDomain": "v6blog",
"Interval": 600
}
]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.