Linux纯Shell实现DNSPod动态域名

开发背景:

公司有台嵌入式拨号上网设备,内置busybox和完整wget命令(支持https协议),但没有curl、python、ruby、php等扩展工具可用。网上现有基于DNSPod实现的Linux脚本无法在该设备上运行,于是写了个Shell版动态域名客户端(ddnspod),现在发布出来希望能给需要的朋友带来一些方便。

项目源码:

https://github.com/anrip/dnspod-shell

DnsPod官方文档

https://support.dnspod.cn/Support/api

功能介绍:

  • 优雅的函数封装,灵活的更新策略
  • 基于DNSPod最新用户API实现动态域名客户端
  • 支持基于系统计划任务实现更新,防止脚本意外终止
  • 可运行于多数类unix系统中,包括部分嵌入式小型系统
  • 依赖sed/wget/nslookup命令,wget也可使用curl替代

常见问题:

record line invailid 将脚本保存为utf-8格式即可
Record id invalid 检查账号权限、是否冲突等

“Linux纯Shell实现DNSPod动态域名”的81个回复

  1. arDdnsIds – {“status”:{“code”:”8″,”message”:”\u57df\u540d\u4e0d\u6b63\u786e\uff0c\u8bf7\u8f93\u5165\u4e3b\u57df\u540d\uff0c\u5982 dnspod.cn”,”created_at”:”2021-08-15 01:34:34″}}

  2. 因为ipv6有三个地址
    (第一个)inet6 240e:000:000a:26c0::114 prefixlen 128 scopeid 0x0
    (第二个)inet6 240e:000:000a:26c0:25dd:f3b1:7f79:d4d6 prefixlen 64 scopeid 0x0
    (本地地址)inet6 fe80::ac5b:4331:5f5d:115b prefixlen 64 scopeid 0x20
    shell会自动上传第一个v6地址,导致无法联通,如何修改为上传第二个v6地址呢

      1. 是最新版的,

        最近更新
        2020/1/1

        适配新版API(2019-11-26)
        当wget不存在时,尝试使用curl提交
        由于readlink不可靠,更改为手动设置路径
        当无法从本地网卡获得外网ip时,尝试从外部api获取

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注