name.com 的 API 自動更新 IP ADDRESS

因為電信業者換了動態IP方式,我就連不到家裡的pi了

所以 網路察看一下,現在趨勢都是提供API方式直接換IP ADDRESS

所以我的想法是用 config.me 搭配 name.com 的 API 直接更換IP。

首先,需要先到name.com 開啟 API 服務並取得 token

name com api token

接著是仔細閱讀和嘗試幾個API,至少需要安裝 curl

apt-get install curl

建議多看api文件 https://www.name.com/api-docs

name com api doc

可以依序嘗試幾個API,其中比較重要的是 ListRecords, GetRecord, UpdateRecord

# list records
curl -u 'username:token' 'https://api.dev.name.com/v4/domains/example.org/records'

# get record by id
curl -u 'username:token' 'https://api.dev.name.com/v4/domains/example.org/records/12345'

# update record
curl -u 'username:token' 'https://api.dev.name.com/v4/domains/example.org/records/12345' -X PUT --data '{"host":"www","type":"A","answer":"10.0.0.1","ttl":300}'

接下來就是把兩個步驟做個確認:

步驟一就是取得IP

myip=$(curl config.me)

步驟二就是用name.com api update ip,這個步驟我已經知道我要更動的address的ID,所以就直接更新

curl -u 'username:token' 'https://api.name.com/v4/domains/libthomas.org/records/XXXXXXXX' -X PUT --data '{"host":"12f","type":"A","answer":"'$myip'","ttl":600}'

接下來就是crontab設定上去自動更新!

Comments