1. 程式人生 > 實用技巧 >NameSilo的DDNS動態域名解析指令碼

NameSilo的DDNS動態域名解析指令碼

我比較愚鈍,用Java和部分指令碼寫的。
一個實時檢測IP變化並更新DNS狀態的工具,適用於在NameSilo購買的域名。程式碼我放github了,地址:

https://github.com/Charles94jp/NameSoli-DDNS

背景

目前運營商給家庭寬頻的IP都是動態的,慶幸的是雖然IP地址不固定,但是卻是一個公網IP,所以我們可以購買一個域名,使用動態域名解析技術將域名解析到寬頻的IP。這樣就可以在家搭建各種服務並通過訪問固定的域名來訪問,而無需租用昂貴的公網伺服器。

想實現這個目的,你需要一臺一直執行的電腦來執行此程式,時刻檢測寬頻IP的變化。當然也需要自己解決路由器NAT對映的問題,但這不在本篇討論。

簡介

本程式通過訪問 https://202020.ip138.com/ 獲取家庭寬頻的公網IP地址,通過 https://www.namesilo.com/api/ 來查詢和更新DNS狀態。

配置

為了執行這個程式,你需要安裝Java,推薦jdk11。首次執行之前你需要配置_conf.txt檔案,填寫你從NameSilo獲取的api key,以及你的域名(不帶字首)。

Linux則要做額外配置,首先要確保_conf.txt是Linux格式,否則指令碼在拼接字串時會出錯。使用vi開啟,然後:set fileformat=unix,最後退出儲存。接著設定指令碼許可權 chmod 755 linux_runDDNS.sh

執行

Windows :直接雙擊win_runDDNS.bat

Linux :./linux_runDDNS.sh

在開機時啟動

Windows :將vbs檔案加入策略組

Linux :新增sh到服務,可以重定向輸出到檔案以檢查服務執行情況。

其他DDNS方案推薦

都是用到了curl傳送請求,把響應儲存到檔案中 ,再用指令碼處理字串。

Windows :https://www.v2ex.com/t/274392
Linux :https://github.com/pztop/namesilo_ddns

還有一個Windows powershell指令碼實現的

https://www.ctrol.cn/post/freesource/domain-host/05-25-cartev-4719.html