DIY

梅林koolshare改版固件DDnspod和Aliddns插件无法更新域名解决办法

koolshare 改版梅林固件软件中心有两大 DDNS 插件使用比较普遍,一个是腾讯的 DDnspod,一个是阿里的 Aliddns(其实狗爹的 DDNS 也还可以)。我开始用 Aliddns 一直显示更新成功,但实际上域名解析地址并不变,后来改成 DDnspod,自动更新就完美了。
但最近几天发现 DDnspod 无法及时更新 IP,运行状态那里一直是空白。我还以为路由器固件出了问题,然后格式化 JFFS,恢复出厂设置,甚至降级路由器固件版本,搞了一圈还是不行。我后来又换成 Aliddns,依然是不行,非常恼火。
搜了下,原来是腾讯的 DNSPOD API 更新了,不再支持 TLS v1.2 之前的协议,而目前最新的梅林固件 7.9.1 版本的 wget 是 1.16 版本,不支持新协议,从而导致无法更新域名解释。
关于ddnspod失效的解决办法(包括官改固件)
而 Aliddns 无法更新则是因为软件中心提供的版本不对:修了下aliddns,有兴趣的试试看,应该可以用了,这个是 2018年10月更新的。

DDnspod 解决办法

  1. 找一个 U盘,格式化成 ext4 格式插进路由器(Windows 下可用 DiskGenius 格式化),这个 U盘不是临时,而是要一直插在路由器上
  2. 记得先关闭 DDnspod,通过 SSH 连接进路由器输入命令:

    cd /jffs
    entware-setup.sh

    显示如下:

    admin@R7000-0807:/tmp/home/root# cd /jffs
    admin@R7000-0807:/jffs# entware-setup.sh
    Info:  This script will guide you through the Entware installation.
    Info:  Script modifies "entware" folder only on the chosen drive,
    Info:  no other data will be changed. Existing installation will be
    Info:  replaced with this one. Also some start scripts will be installed,
    Info:  the old ones will be saved on Entware partition with name
    Info:  like /tmp/mnt/sda1/jffs_scripts_backup.tgz
    
    Info:  Looking for available partitions...
    [1] --> /tmp/mnt/sda
    =>  Please enter partition number or 0 to exit
    Info:  /tmp/mnt/sda selected.

    选择 1 回车开始安装
    等一袋烟的功夫,下载安装完成后,再输入以下命令,等待安装完成:

    opkg install wget
    opkg install curl

    3. 编辑 DDnspod 插件:
    可直接通过 SSH vi 命令修改,也可通过 winscp 软件打开 .sh 文件直接编辑:

    vi /jffs/.koolshare/ddnspod/ddnspod.sh

    在文件中找到以下两处 wget 开头的代码,把 wget 改成 /opt/bin/wget

# 查询域名地址
# 参数: 待查询域名
arNslookup() {
local inter="http://119.29.29.29/d?dn="
/opt/bin/wget --quiet --output-document=- $inter$1
}

# 读取接口数据
# 参数: 接口类型 待提交数据
arApiPost() {
local agent="AnripDdns/5.07(mail@anrip.com)"
local inter="https://dnsapi.cn/${1:?'Info.Version'}"
\if [ "x${arToken}" = "x" ]; then # undefine token local param="login_email=${arMail}&login_password=${arPass}&format=json&${2}"
else
local param=\"login_token=${arToken}&format=json&${2}"\
fi
/opt/bin/wget --quiet --no-check-certificate --output-document=- --user-agent=$agent --post-data > \$param $inter
}

4. 进入软件中心打开 DDnspod 设置,提交后重启路由。

Alidns 插件解决办法

  1. 下载压缩包,通过离线安装,也可以通过 SSH 和 SCP 安装(具体方法可参考这里)。
    百度云链接 提取码: 6rtk
  2. 安装完成后不要点更新,设置 aliyun 的 app key 和 secret。获取 IP 命令修改如下:
    curl -s whatismyip.akamai.com

    上面是我成功的设置,之前我用 ifconfig 获取设置尝试过下面的几种都不成功:

    curl -s --interface ppp0 whatismyip.akamai.com
    curl -s --interface vlan whatismyip.akamai.com
    curl -s --interface vlan1 whatismyip.akamai.com
微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

回复

  1. JIM JIM
    Chrome 69 10

    我想问问阿里云,你提供的安装包和软件中心的有没分别?
    阿里无法更新是因为插件版本还是因为命令?
    那插件不能去点更新吗?

    1. harry harry
      Chrome 75 10

      koolshare市场里的的阿里插件是不一样的,我提供下载的插件是某个网友修改我测试ok的,安装后会提示有更新,请千万别点更新

      1. JIM JIM
        Chrome 69 7

        我更新了,发现没什么问题,
        估计那个获取IP命令有关,curl -s whatismyip.akamai.com
        emmm,可以正常IP了,问题解决了,感谢您的帮助哦。

        1. harry harry
          Chrome 75 10

          没问题就好。
          我的是更新的那个一直有问题

  2. zhensjoke zhensjoke
    Firefox 66 10

    我也是为了远程管理,怕一个3322和oray的免费版不稳定。。

    于是折腾了这个ddnspod,但是发现修改curl和这个均不生效。。现在也是醉了。。

  3. Sam.Z Sam.Z
    Chrome 72 10

    妳家是用什麼路由器刷的梅林固件,相比下openWrt如何,我是極路由s1,好多年了,也想折騰下。

    1. harry harry
      Chrome 73 10

      我用的网件的R7000,梅林固件好像能刷的都是华硕的同型号CPU。我觉得openwrt也挺好的,刚刚买的蜗牛矿渣板我已经刷了用了几周了。之前斐讯k2我刷的Padavan固件也很稳定,有极s1的

      1. harry harry
        Chrome 73 10

        https://www.right.com.cn/forum/thread-161324-1-1.html

This is just a placeholder img.