Sep 3

使用dnspod的ddns api的bash脚本 不指定

felix021 @ 2012-9-3 01:08 [IT » 网络] 评论(2) , 引用(0) , 阅读(6070) | Via 本站原创 | |
#!/bin/bash

API=https://dnsapi.cn/Record.Ddns

IP_FILE=/tmp/dnspod_ip

function get_old_ip()
{
    ip=
    if [ -e "$IP_FILE" ]; then
        ip=`cat $IP_FILE`
    fi
    echo $ip
}

function save_ip()
{
    echo -n $1 > $IP_FILE
}

function get_new_ip()
{
    echo `nc ns1.dnspod.net 6666`
}

email=帐号邮箱
password=帐号密码  #dnspod就不能搞成个secret_key么!明文密码让人很不舒服啊。

domain_id=XXXXX #使用Domain.List API获取
record_id=YYYYY #使用Record.List API获取
sub_domain="zzz" #DDNS的二级域名

new_ip=`get_new_ip`
old_ip=`get_old_ip`

if [ "$new_ip" != "$old_ip" ];
then
    curl $API -d "format=json&login_email=$email&login_password=$password&domain_id=$domain_id&record_id=$record_id&sub_domain=$sub_domain&record_line=默认"
    save_ip $new_ip
fi

然后加入crontab,每隔15分钟跑一次进行更新

*/15 * * * * ~/bin/dnspod.sh

转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: http://www.felix021.com/blog/feed.php
snoopy
2012-9-3 09:24
去看了下 dnspod.cn 的动态域名说明, 确定是跟花生壳干的一样的事了. 但是在他家的 API 规范 (https://www.dnspod.cn/client/user_api_doc.pdf) 里, 关于滥用的 1.b 这条就说了如果 IP 没变还大量提交貌似算滥用?
felix021 回复于 2012-9-3 09:25
15分钟提交一次 应该不算大量提交吧。。不过这个可以加个文件保存下上次的IP嗯。
snoopy
2012-9-3 09:16
这货拿来干啥? 类似花生壳一样的作用? 上报自己的动态 IP 地址以便域名一直解析到正确的 IP 上?另外, dnspod 如果发现这么频繁的提交请求不会有啥限制么? 虽然大部分时间你提交的 IP 都是一样的
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]