一个可以自动更新ip到Freenom的shell。
DDNS服务很多,但得到的都是二级域名,这样有的时候可能不方便。
如果家里有公网IP,又有Freenom免费域名,为何不利用起来呢。
众所周知,DDNS服务商更新IP的原理其实就是:
请求一个获取IP的URL → 获取到IP → 将IP放到DDNS更新URL → 向连接发送一个get请求
例如dynv6的更新URL是这样的
http://dynv6.com/api/update?hostname=<domain>&token=<username>&ipv4=<ipaddr>
所以如果获取到Freenom更新IP的URL及参数,那么就可以通过cURL像更新DDNS一样轻松更新更新IP地址了。
将这个freenom_ddns.sh复制或者创建到目标位置,然后修改里面的参数。
freenom_email
= Freenom账号
freenom_passwd
= Freenom密码
freenom_domain_name
= 需要更新的Freenom域名(当然,这必须是账号里的域名)
freenom_domain_id
= 目标域名的ID,这个可以在管理界面的链接里找到(不懂可以翻看下面)
其中/scripts/shell/tgpush.sh
这是一个使用tg bot推送消息的shell,通知运行结果,可以在TelegramBotPush里了解。不需要的话可以直接删除。
例如这个shell的位置是/scripts/shell/freenom_ddns.sh
bash /scripts/shell/freenom_ddns.sh
首先打开管理界面
点击Manage Domain
进去及就可以看到
地址栏的id
就是我们要的ID了
--compressed
:curl自动解压缩响应页面(页面是压缩的话,例如目标服务器设置了gzip压缩了页面)。
-k
:允许不使用证书到SSL站点
-L
:当页面需要重定向时,curl自动跟踪重定向响应
-e
:服务端看到的请求来源地址
-c
:请求成功后,将cookie保存到目标文件
-F
:模拟HTTP表单提交
-b
:cookie读取位置