2020年3月16日 星期一

在QNAP NAS上使用CloudFlare API 實現自動更新DDNS - SH檔更新法


最近需要讓NAS可以自動將自己的浮動IP上傳到Cloudflare上,以便連線。
試了兩個鐘頭,終於成功了。
中途卡在sh須轉為unix格式,原本是DOS格式,會造成運作上的錯誤。

原理是利用NAS自動執行一個sh檔,那個sh檔有上傳IP至Cloudflare的API

以下紀錄實作的參考網頁


文章1:[運用CloudFlare API實現DDNS] - Andy
→教學基本運用API的方法

API程式碼,把它存成一個.sh檔並放置於NAS裡的資料夾(自訂位置)

#!/bin/sh
# 將{ }替換為自己的資料
# GET Recore ID
#curl -x get "https://api.cloudflare.com/client/v4/zones/{YOUR_ZONE_ID}/dns_records" \
#-h "x-auth-email:{YOUR_EMAIL@gmail.com}" \
#-h "x-auth-key:{YOUR_GLOBAL_API_KEY}" \
#-h "content-type: application/json"
#

NEW_IP=`curl -s http://ipv4.icanhazip.com`
CURRENT_IP=`cat /tmp/current_ip.txt`


if [ "$NEW_IP" = "$CURRENT_IP" ];then
echo "No Change in IP Adddress"
else
curl -X PUT "https://api.cloudflare.com/client/v4/zones/****/dns_records/****" \
-H "X-Auth-Email: ***@gmail.com" \
-H "X-Auth-Key: ****" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"****","content":"'$NEW_IP'","ttl":1,"proxied":true}' > /dev/null
echo $NEW_IP > /tmp/current_ip.txt 
fi 




文章2:[[QNAP] 設定 NAS 的 crontab 定時執行程式] - Knuckles
→教學定時背景執行的方法
----------------------內文----------------------

注意要自動執行的 sh 檔不要放在 /root 裡
不然韌體更新後檔案會不見
要放在個人帳號的資料夾,例如 /share/homes/帳號/

QNAP 的 crontab 放在 /etc/config/crontab

例如要每日5:00執行 backup.sh 的話,加上這行

00 5 * * * /share/homes/帳號/backup.sh


存檔後,執行 crontab /etc/config/crontab 載入設定

執行 /etc/init.d/crond.sh restart 重啟 crontab


參考: http://wiki.qnap.com/wiki/Add_items_to_crontab


定時登入另一個網站下載備份檔的 script
例如要用帳號 knuckles 登入 example.com port 22
將 /home/knuckles/backup/ 裡面有更新的檔案下載回來
rsync -avu -e "ssh -p 22" knuckles@example.com:/home/knuckles/backup/* /share/homes/knuckles/backup/

--------------------------------------------

2020年3月2日 星期一

[測試]小米30W快充頭+倍思type-c轉Lighting線測試

最近買了小米的30W快充頭,使用type-c輸出時,發現充電速度神慢
甚至電量會倒退走,因此趕快展開調查!


這次準備一些「材料」來測試,清單如下:

充電頭:

1.小米30W快充頭
2.ENERGIEMAX 20000mah行動電源

線材:   (Type-A簡稱A、Type-C簡稱C、Lighting簡稱L)

1.倍思 C 轉 L快充線
2.倍思 C 轉 C (L轉接)充電線
3.Sony UCB20原廠 A 轉 C充電線
4.無廠牌 A 轉 C充電線
5.QOOVI A 轉 L充電線

測試儀器:

1.JuWei 充電多功能監測儀(有A與C測試介面)

被充電設備(負載):

1.華為 mate 20
2.Apple Iphone XR


測試方法:利用兩組充電頭 + 各線材 + 負載 來 偵測電壓與電流

1.小米頭充XR(當前電力54%)

充電頭
輸出孔
線材
電壓
電流
小米頭
C
倍思 C L
5.17V
0.47A
小米頭
A
倍思 C L
5.04V
1.92A
小米頭
A
QOOVI A L
5.06V
1.67A
小米頭
C
倍思 C C(L轉接)
4.99V
1.75A
小米頭
A
倍思 C C(L轉接)
5.07V
1.45A








 2.行動電源充XR:

充電頭
輸出孔
線材
電壓
電流
行動電源
C
倍思 C L
5.04V
0.47A
行動電源
A
倍思 C L
4.95V
1.60A
行動電源
C
倍思 C C(L轉接)
4.94V
1.63A
行動電源
A
倍思 C C(L轉接)
4.99V
1.45A
行動電源
A
QOOVI A L
5.08V
0.96A









3.小米頭充Mate 20(當前電力約24%):

充電頭
輸出孔
線材
電壓
電流
小米頭
A
UCB20 A C
9.04V
1.77A
小米頭
A
無廠牌A C
9.07V
1.80A
小米頭
A
倍思 C C
9.09V
1.76A
小米頭
C
倍思 C C
5.00V
1.45A

4.行動電源充Mate 20(當前電力約24%):

充電頭
輸出孔
線材
電壓
電流
行動電源
A
UCB20 A C
5.00V
1.22A
行動電源
A
無廠牌A C
5.04V
1.17A
行動電源
A
倍思 C C
4.98V
1.31A
行動電源
C
倍思 C C
4.97V
1.31A