發表文章

目前顯示的是有「script」標籤的文章

使用 shell script 更新 cloudflare 的 DNS 記錄

 記錄一下使用 shell script 更新 cloudflare 的 DNS 記錄(DDNS)  工作環境:     Linux          curl          jq 使用 curl 和 cloudflare API 溝通,就可以達成更新 DNS 記錄的目的,基本上就是提供 zone ID 和 API Token 給 cloudflare ,指定要更新的域名(FQDN),當然,要抓到目前使用的「對外」的 IP 位址一併提供  範例:updateCfDDNS flkjfldajldfj ddns.your.domain lfkdalfjldjf;lajd;lf #!/bin/sh # update DDNS records with curl using cloudflare API # input: zoneID, FQDN, APIToken, get internet IP addr. # output: none but DNS record update dynamicly # pre-requirements: config cloudflare API token # post-requirement: config crontab to update DDNS regularly # usage: updateCfDDNS zoneID FQDN APIToken if [ -z $1 ]         then                 echo "please provide zoneId, fqdn, apiToken, thank you..." else MYIP = ` curl https://ipinfo.io/ip` RECID = ` curl -X GET "https://api.cloudflare.com/client/v4/zones/ ${1} /dns_records?name= ${2...

Mikrotik 定期執行腳本(script)

 已經設定好的腳本(Name: testScript)在 system > script list 裏面,原本想用檔案(.rsc)來管理,但是找不到檔案要怎麼移動,只好看看有沒有辦法繞過這個限制  工作環境:     Mikrotik wifi router          既存的 script: testScript          定期執行  結果找來找去只要一行指令:     system scheduler add name=testScript on-Event=testScript intervel=10m  system scheduler print 出現 testScript      收工!

在 Mikrotik 上更新 cloudflare 的 DDNS 記錄

 提供 DDNS 的服務商有很多,其實如果你用 M 家的機器,啟動後就有 DDNS 可以用,只是買了服務商的網域名稱,掛上自已的名字來用,所以得來折騰一下。   工作環境:     Mikrotik wifi router          DDNS update script     cloudflare DNS manager  參照 既有的 script ,到 dash > 概觀裏把 zone ID,你要更新的 domain (其實是 hostname / FQDN) ,再到 profile 裏把 API token for DNS ,TTL 這些參數找到,等一下設定 script 要用,然後在 cloudflare DNS manager 裏,把你要設的 A record 記錄,指到「 不正確 」的 IP,由於這個方式只適用非 proxy 的狀態( 僅DNS ),剛好合用, proxy 的部份就不折騰了,留給能人去試 XD,以上是和 cloudflare 相關的設定部份  回到 M 家的 wifi router 上,把剛才的收集到的參數在腳本裏改好,將改好的 script 貼到 system > scirpt list > name: DDNS > policy: read,write,test > source(貼上改好的腳本) > apply > run script ,以上是和 M 家 wifi router 相關的部份  如果你回到你的 cloudflare DNS manager 裏,你的 A 記錄和 TTL 更新了,恭喜你,成功了!  收工!    參考資料 / 資源: https://github.com/mike6715b/Mikrotik_CF_DDNS/blob/main/CF-Update.rsc  cloudflare > dash > profile cloudflare > profile > API > token