网吧VIP官方网站

    官方信息
    网站首页 > 牛逼信息 > 使用教程

    RouterOS利用DNSPOD的API接口实现DDNS动态解析

    2021-07-21 13:31:53 网吧VIP官方网站 阅读

    本文主要讲解如何借助DNSPOD的API接口来实现RouterOS的DDNS动态解析。


    一、创建Token添加域名

    首先域名要在DNSPOD解析,然后在DNSPOD后台开启的API Token。

    详细开通API Token教程:https://support.dnspod.cn/Kb/showarticle/tsid/227/


    二、PHP制作DNSPOD API动态解析接口

    以下是我制作好的php解析接口,支持SSL

    解析接口地址:

    查询接口:

    链接自动生成接口:

    HTTP请求方式:

    • POST/GET

    请求参数:

    • token(必选)DNSPod Token,格式 "ID,Token",如“12345,3a13a4331549*******127c185368303”

    • domain(必选)域名(如:77bx.com)

    • record(必选)记录名(如:www)

    • record_id(必选)记录名id, 和record二选一

    • ip(可选,默认值为请求来源IPv4)DDNS的IP地址(或者CNAME、MX记录值)

    • line(可选,默认值为默认)线路设置,详细参数请看注1

    • type(可选,默认值为A记录)支持AAAA、CNAME、MX记录

    • format(可选,默认值为xml)xml和json,返回的数据格式

    注1:

    line参数说明:如&line=cmcc,那么线路就是移动线路,请按照下面的对照表来。

    default  =>  默认

    ctc  =>  电信

    cucc  =>  联通

    cernet  =>  教育网

    cmcc  =>  移动

    ctt  =>  铁通

    home  =>  国内

    abord  =>  国外

    search  =>  搜索引擎

    baidu  =>  百度

    google  =>  谷歌

    youdao  =>  有道

    bing  =>  必应

    soso  =>  搜搜

    sogou  =>  搜狗

    qihu  =>  奇虎


    示例:

    curl -X POST http://api.77bx.com/dnspod -d 'token=id,token&domain=77bx.com&record=www&ip=1.1.1.1&line=ctc&record_type=A&format=json'

    返回参考:

    {
    "code": "1",
    "message": "Record created success, ip updated",
    "time": "2019-03-08 09:28:34",
    "info": "dnspod-api-php V1.4 By Star.Yu"
    }

    字段说明:

    code:状态id编号,1是成功,0是失败,其他的数字请参考DNSPOD的API ID对应的报错

    message:本php接口输出的信息

    time:访问时间

    info:本php接口的版本信息等


    安全说明:

    1、本接口未记录所有的解析token和解析记录,但是服务器的访问日志会有链接记录(按照政策要求需保存6个月的日志)。虽然有日志但是本接口不提供任何查询。

    2、建议使用独立的DNSPOD账号来使用本接口,重要的域名请自建PHP服务器用来解析。由于使用本接口出现的任何安全问题,本人概不负责。这边只能保证本人不会去做任何后门行为。这边建议如果使用了本接口请勤换token

    PS:因为有了token可以管理账号下的所有域名。


    源代码:

    dnspod-api-php Github地址:https://github.com/myxzy/dnspod-api-php/


    网吧VIP网吧金牌特权加速器|爱快路由器|Ros路由器|国内中转加速国外|国外中转加速国内|微信养号|天翼云10IP搭建PPTP、L2TP|华为云20IP搭建PPTP、L2TP|同时也支持油管(Youtube)|脸书(Facebook)|特推(twitter)|Google|INS|TikTok|Telegaram|国外网站和应用|对于海外留学生和海外人士访问回国加速支持!(本站软件版只支持WINDOWS系统加速,如果您需要安卓|苹果|手机|平板电脑|MAC系统|路由器加速|Google Chrome OS,请加微信:41064203)1626845396568129.zip


    ROS脚本:

    #PPPoE
    :local pppoe "pppoe-out1"
    
    #DDNS Token
    :local token "id,token"
    
    #DDNS域名
    :local record "www"
    :local domain "77bx.com"
    
    #以下不需要修改
    :global ipold
    :local ipnew [/ip address get [/ip address find interface=$pppoe] address]
    :set ipnew [:pick $ipnew 0 ([len $ipnew] -3)]
    :if ($ipnew != $ipold) do={
    :local url "http://api.77bx.com/dnspod/\?token=$token&ip=$ipnew&domain=$domain&record=$record"
    /tool fetch url=$url mode=http keep-result=no
    :set ipold $ipnew
    log info "DDNS: Sending UPDATE!"
    }

    以上脚本需要修改pppoe(宽带拨号的名称),token,record和domain

    注意:ROS可以设置定时1分钟执行一次脚本,脚本中带有ip是否相同判断,相同就不执行;然后是我做的API接口后台中也有ip是否相同的判断,一般不会引起DNSPOD锁域名的情况。


    Powered by MetInfo 5.3.19 ©2008-2021 www.wbvip.cn