vault backup: 2025-07-22 22:14:08

Affected files:
Too many files to list
This commit is contained in:
2025-07-22 22:14:08 +08:00
parent 99f67788fc
commit 5d4e261181
202 changed files with 86 additions and 886 deletions

View File

@@ -1,40 +0,0 @@
## `/home/awin/script/ddns.sh`
```bash
#!/bin/bash
CF_ACCESS_TOKEN=033xQP4_ZpTq3sSkeftz5J6BWw_R9eoDNTba7zfH
CF_ZONE_ID=1d6a623d1780c31544fc86f718dac16e
URLS=('awin.one'
'blog.awin.one'
'ftp.awin.one'
'git.awin.one',
'storj.awin.one')
CF_RECORD_IDS=('d67b2a1b3d7cd520b8e8dad2cb522460'
'69dcc0bd619b1a3d4a71458faff2aa50'
'bd397d9779d42c0b92c9c9c47b765769'
'4eccb48e85f2daa8fefeb92c8cb4b4ee'
'216d631bc860c6a11b62e3a1003f3e3e')
INTERNET_IP=`curl -s http://ipv4.icanhazip.com`
INTERFACE_IP=`ip address show ppp0 | grep ppp0 | grep global | awk '{print$2}'`
DNS_RECORD_IP=`dig +short "${URLS[0]}" | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | awk 'NR==1{print}'`
NOW_TIME=`date`
if [ "$INTERNET_IP" != "$DNS_RECORD_IP" ]
then
echo "Renew IP: ${DNS_RECORD_IP} to ${INTERNET_IP}"
echo "${NOW_TIME}: Renew IP: ${DNS_RECORD_IP} to ${INTERNET_IP}" > /home/awin/log/ddns.log
for ((i = 0; i < ${#URLS[@]}; i++)); do
curl -X PUT "https://api.cloudflare.com/client/v4/zones/${CF_ZONE_ID}/dns_records/${CF_RECORD_IDS[$i]}" \
-H "Authorization: Bearer ${CF_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"'${URLS[$i]}'","content":"'${INTERNET_IP}'","ttl":120,"proxied":false}'
done
else
echo "No change: ${INTERNET_IP}"
echo "${NOW_TIME}: No change: ${INTERNET_IP}" > /home/awin/log/ddns.log
fi
```
### 參考
- [5 分鐘整合 Cloudflare API 實做 Cloudflare DDNS 動態 IP 對應網址](https://blog.toright.com/posts/7333/cloudflare-ddns)
- [自架 DDNS 教學:用 Cloudflare API 達成多域名同步更新! | by Rex | Medium](https://blog.rexyuan.com/%E7%94%A8-cloudflare-dns-api-%E4%BE%86%E9%81%94%E6%88%90-ddns-adaee3c5a84d)