DNS

ddns-go 1.0.0 发布,简单好用的 DDNS 动态域名解析工具

这是一个简单好用的 DDNS 动态域名服务工具,可以自动更新域名解析到公网 IP,目前支持`Alidns(阿里云)`、`Dnspod(腾讯云)`、`Cloudflare`。并且是免费和开源的!

Posted by sysin on 2020-09-06
Estimated Reading Time 5 Minutes
Words 1.3k In Total
Viewed Times

作者:gc(at)sysin.org,主页:www.sysin.org

这是一个简单好用的 DDNS 动态域名服务工具,可以自动更新域名解析到公网 IP,目前支持Alidns(阿里云)Dnspod(腾讯云)Cloudflare。并且是免费和开源的!

如果你的域名注册不在上述服务商,也是可以使用的,将域名解析转入到上述服务商的免费解析服务即可,参看以下文档:

v1.0.0 发布

  • f4d91a5 feat: 在网页中快速查看最近50条日志
  • v1.0.0 发布意味着正式版本

版本状态:GitHub release

1. ddns-go 功能特性

  • 自动获得你的公网 IPv4 或 IPv6 并解析到域名中
  • 支持 Mac、Windows、Linux 系统,支持 ARM、x86 架构
  • 支持的域名服务商 Alidns(阿里云) Dnspod(腾讯云) Cloudflare
  • 间隔 5 分钟同步一次
  • 支持多个域名同时解析,公司必备
  • 支持多级域名
  • 网页中配置,简单又方便
  • 网页中方便快速查看最近 50 条日志

2. 系统中使用

动态 DNS 解析,通常可能是用在家里的电脑,没有固定公网 IP,但是需要远程访问的场景,以下以 macOS 和 Windows 为例,详细说明一下具体使用方法:

2.1 macOS

  • 下载:
1
2
3
4
5
6
wget https://github.com/jeessy2/ddns-go/releases/download/v1.0.0/ddns-go_1.0.0_Darwin_x86_64.tar.gz
tar -zxvf ddns-go_1.0.0_Darwin_x86_64.tar.gz
mv ddns-go /usr/local/bin/
#运行
ddns-go
#此时将用默认浏览器打开:http://127.0.0.1:9876/
  • 添加自动启动:

如果用户登录启动,创建 plist 文件如下:

1
vi ~/Library/LaunchAgents/ddns-go.plist

如果系统启动时自动运行,创建 plist 文件如下:

1
sudo vi /Library/LaunchDaemons/ddns-go.plist

内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0"encoding="utf-8"?>
<!DOCTYPE plist PUBLIC"-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>Label</key>
<string>com.jeessy2.ddns-go</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/ddns-go</string>
</array>
</dict>
</plist>

检查 plist 语法是否正确

1
plutil ~/Library/LaunchAgents/ddns-go.plist

修改文件权限

1
chmod 644 ~/Library/LaunchAgents/ddns-go.plist

添加自启动项

1
launchctl load ~/Library/LaunchAgents/ddns-go.plist

启动自启动项

1
launchctl start ddns-go

删除自启动项

1
launchctl unload ~/Library/LaunchAgents/ddns-go.plist

查看当前所有自启动项

1
launchctl list

2.2 Windows

1、下载(Win64为例):https://github.com/jeessy2/ddns-go/releases/download/v1.0.0/ddns-go_1.0.0_Windows_x86_64.tar.gz

2、解压到 C:\Program Files\ddns-go\ 文件夹下

3、点击 ddns-go.exe 右键,发送到 - 桌面快捷方式,可以直接双击运行

4、如果需要自动启动:

在开始菜单的搜索栏内或者在“运行”窗口内输入以下命令后回车:shell:Common Startup,打开启动文件夹。

将应用软件生成快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 文件夹(需要管理员权限)。

如果没有管理员权限,“运行”:shell:startup

将打开:C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 文件夹

将应用软件快捷方式放到这里即可。

5、开机自启动(不需要用户登录),可以使用任务计划程序

任务计划程序 ~> 创建任务

常规:【不管是否用户登录都要运行 ,使用高级权限运行】

触发器:【新建:触发器 ~> 启动时 】

操作:【新建:操作 ~> 启动程序,浏览到应用程序所在路径】

2.3 获取域名 API 访问凭据

根据你的域名所在服务商,打开页面,登录后,根据提示获取凭据,然后填写到 ddns-go 的配置页面中即可。

Alidns(阿里云)

https://ram.console.aliyun.com/manage/ak

AccessKey ID

AccessKey Secret

Dnspod(腾讯云)

https://console.dnspod.cn/account/token

ID

Token

Cloudflare

https://dash.cloudflare.com/profile/api-tokens

Token

2.4 添加解析

在 IPv4 或者 IPv6(如果有)下,Domains 中填写 dns 解析条目即可。

示例:www.domain.com,也可以解析多条,一行一条,点击“SAVE”,右侧提示解析成功!

此时,回到域名解析服务商管理页面,可以看到 dns 条目已经正确添加。

从日志可以看到,应用程序 5 分钟检查一次地址变化并同步地址解析。

2.5 配置文件

1
cat ~/.ddns_go_config.yaml

可以看到软件使用 yaml 格式保存配置文件,配置参数也很直观。

3. Docker 中使用

1
2
3
4
5
docker run -d \
--name ddns-go \
--restart=always \
-p 9876:9876 \
jeessy/ddns-go
  • 在网页中打开http://主机IP:9876,修改你的配置,成功
  • [可选] docker 中默认不支持 IPv6,需自行探索如何开启

img

4. 相关链接




如果文章中使用的内容和图片侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有用,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!


支付宝打赏 微信打赏

赞赏一下