gistfile1.txt
· 1.2 KiB · Text
Raw
# Замените параметры ниже
:local api_key "<API_KEY>"
:local api_server "api.mnogoweb.com"
:local domain "<DOMAIN>"
:local name "<NAME>"
:global previousIP
:log info ("UpdateDynDNS: api_server = $api_server")
:log info ("UpdateDynDNS: api_key = $api_key")
:log info ("UpdateDynDNS: domain = $domain")
:log info ("UpdateDynDNS: name = $name")
:log info ("UpdateDynDNS: previousIP = $previousIP")
/tool fetch mode=http address="ip.ezit.hu" src-path="/ip.php" dst-path="/dyndns.checkip.html"
:local result [/file get dyndns.checkip.html contents]
:local resultLen [:len $result]
:local startLoc 0
:local endLoc [:find $result "
" -1]
:local currentIP [:pick $result $startLoc $endLoc]
:log info "UpdateDynDNS: currentIP = $currentIP"
:if ($currentIP != $previousIP) do={
/tool fetch mode=https url="$api_server/v1/dns/dyndns?domain=$domain&name=$name" http-header-field="Authorization: Bearer $api_key" dst-path="/dyndns.txt"
:local result [/file get dyndns.txt contents]
:log info ("UpdateDynDNS: IP update needed")
:log info ("UpdateDynDNS: Dyndns Update Result: ".$result)
:put ("DynDNS Update Result: ".$result)
} else={
:log info ("UpdateDynDNS: IP update is not needed")
}
1 | # Замените параметры ниже |
2 | :local api_key "<API_KEY>" |
3 | :local api_server "api.mnogoweb.com" |
4 | :local domain "<DOMAIN>" |
5 | :local name "<NAME>" |
6 | |
7 | :global previousIP |
8 | |
9 | :log info ("UpdateDynDNS: api_server = $api_server") |
10 | :log info ("UpdateDynDNS: api_key = $api_key") |
11 | :log info ("UpdateDynDNS: domain = $domain") |
12 | :log info ("UpdateDynDNS: name = $name") |
13 | :log info ("UpdateDynDNS: previousIP = $previousIP") |
14 | |
15 | /tool fetch mode=http address="ip.ezit.hu" src-path="/ip.php" dst-path="/dyndns.checkip.html" |
16 | :local result [/file get dyndns.checkip.html contents] |
17 | :local resultLen [:len $result] |
18 | :local startLoc 0 |
19 | :local endLoc [:find $result " |
20 | " -1] |
21 | :local currentIP [:pick $result $startLoc $endLoc] |
22 | :log info "UpdateDynDNS: currentIP = $currentIP" |
23 | |
24 | :if ($currentIP != $previousIP) do={ |
25 | /tool fetch mode=https url="$api_server/v1/dns/dyndns?domain=$domain&name=$name" http-header-field="Authorization: Bearer $api_key" dst-path="/dyndns.txt" |
26 | :local result [/file get dyndns.txt contents] |
27 | :log info ("UpdateDynDNS: IP update needed") |
28 | :log info ("UpdateDynDNS: Dyndns Update Result: ".$result) |
29 | :put ("DynDNS Update Result: ".$result) |
30 | } else={ |
31 | :log info ("UpdateDynDNS: IP update is not needed") |
32 | } |