-
土法制造 DDNS 完整版
节日快乐! 最近我又对之前的脚本完善了一下, 添加了对 CloudFlare DNS API 的呼叫, 这样 DDNS 才名副其实吧: #!/bin/bash function update_dns { logger ‘Prepare to update DNS…’ curl -i https://www.cloudflare.com/api_json.html \ -d ‘a=rec_edit’ \ -d ‘id=DOMAIN_ID’ \ -d ‘tkn=THIS_IS_MY_KEY_GO_GET_YOURS’ \ -d ’email=MY_EMAIL’ \ -d ‘z=raynix.info’ \ -d “content=$1” \ -d ‘type=A’ \ -d ‘name=XXX’ \ -d ‘ttl=1′ |logger } url=’http://direct.raynix.info/ip.php’ last=’/tmp/extip’ rcpt=’MY_EMAIL’ extip=`curl…
-
土法制造 DDNS
自从上次我用树莓派(raspberry pi)做了个家用服务器后, 动态域名解析(DDNS)就从一种懒得过问的技术变成必须的解决方案了, 因为家里的 ADSL 的 IP 地址不是固定的, 偶尔会变化. 我看了若干现成的 DDNS 服务, 虽然有免费选项, 但限制颇多, 甚至有的要插播广告… 其实 DDNS 没啥技术含量的东西, 基本逻辑就是在客户端发送请求到服务端, 一旦发现客户端的外部 IP 地址已变, 就更新对应的 DNS 记录. 首先来写客户端, 使用的是我擅长的 Shell Script: #!/bin/bash url=’http://direct.raynix.info/ip.php’ last=’/tmp/extip’ rcpt=’[email protected]’ extip=`curl $url` echo $extip |diff $last – if [ $? == 0 ]; then exit 0 else logger ‘last IP: ‘ `cat…