我有三種裝置,synology openwrt raspberry
2, 使用自定義的指令碼也行,
先安裝python庫
pip3
install
aliyunsdkcore
pip3
install
aliyun-python-sdk-alidns
ddns.py
修改自己的id key,主機名。
執行 python3 ddns.py &
sh aliyun.sh 《主網域名稱》 《主機記錄》
sh /var/services/homes/wandersky/aliddns/aliyun.sh l******************74 v0********************cmi **********.com www
指令碼命令格式如上。
#!/bin/sh
set -e
if [ $1 ]; then
apiid=$1
fiif [ $2 ]; then
apikey=$2
fiif [ $3 ]; then
domain=$3
fiif [ -z "$apiid" -o -z "$apikey" -o -z "$domain" ]; then
echo "引數缺失"
exit 1
fiif [ $4 ]; then
subdomain=$4
fiif [ -z "$subdomain" ]; then
subdomain="@"
finonce=$(date -u "+%n") # 有bug?
timestamp=$(date -u "+%y-%m-%dt%h%%3a%m%%3a%sz") # sb 阿里雲, 什麼鬼時間格式
nonce=$timestamp
urlencode() "
local encoded=""
for i in `seq 1 $len`; do
local j=$((i+1))
local c=$(echo $raw | cut -c$i-$i)
case $c in [a-za-z0-9.~_-]) ;;
*)c=$(printf '%%%02x' "'$c") ;;
esac
encoded="$encoded$c"
done
echo $encoded
}# $1 = query string
getsignature()
sendrequest()
getrecordid()
# $1 = record id, $2 = new ip
updaterecord()
# $1 = new ip
addrecord()
# get new ip address
echo "獲取當前 ip..."
newip=$(wget -qo- --no-check-certificate "")
echo "當前 ip 為 $newip."
# get record id of sub domain
recordid=$(getrecordid)
if [ ! "$recordid" = "quit" ]; then
if [ "$recordid" = "null" ]; then
echo "網域名稱記錄不存在, 新增 $subdomain.$domain 至 $newip..."
addrecord $newip
else
echo "網域名稱記錄已存在, 更新 $subdomain.$domain 至 $newip..."
updaterecord $recordid $newip
fifi
使用阿里雲DNS實現自己的DDNS服務
最近家裡牽了寬頻 之前家裡沒網,因為窮,作為一名嵌入式程式設計師,這是得有多慘 換了乙個華為ax3pro路由器,開啟橋接模式,發現家中的pc和手機均有ipv6的位址,而且用ipv6test測試,屬於公網的ipv6位址。於是乎,家中有了公網。立馬把之前的破電腦裝上ubuntu16.04系統 為什麼不裝...
DDNS動態網域名稱解析設定 針對阿里雲環境配置說明
1 你得先申請個網域名稱 2 進入網域名稱解析 3 獲取使用者的accesskey 和 accesskeysecret 4 呼叫乙個ip查詢 正則解析當前主機ip 5 呼叫阿里雲api介面設定對應的網域名稱與第4步中獲取的ip進行繫結 php 方案 樹莓派方案 到這裡ddns的解析繫結介紹完畢 下面...
DDNS 騰訊雲設定網域名稱解析服務 網域名稱繫結動態ip
北京聯通寬頻打 跟聯通申請了公網ip,想跟自己的網域名稱進行繫結,但是公網ip在重新撥號後會變化,所以寫了如下指令碼自動更改公網ip 感謝dragon2k的部落格,新增到crontab中即可 bin bash domain 你的網域名稱,例如qq.com sid 你的雲api秘鑰secretid s...