• Stars
    star
    993
  • Rank 45,932 (Top 1.0 %)
  • Language
    Shell
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于DNSPod用户API实现的纯Shell动态域名客户端

ArDNSPod

基于 DNSPod 用户 API 实现的纯 Shell 动态域名客户端。

  • IPv4 优先适配网卡地址,无法获得合法外网地址则从第三方接口获取地址,依然失败则使用DNSPod接口自动更新
  • IPv6 优先适配网卡地址,无法获得合法外网地址则从第三方接口获取地址,依然失败则退出
  • IP地址接口项目源码参见 https://github.com/rehiy/docker-geoip-api

官方DDNS接口已支持设置IPv6,如有兼容问题请使用v6.1分支版本

使用方法

  • 编辑ddnspod.sh,分别修改/your_real_path/ardnspodarTokenarDdnsCheck为真实信息

  • 运行ddnspod.sh,开启循环更新任务;建议将此脚本支持添加到计划任务;

  • 成功运行后,结果如下所示:

=== Check test.rehi.org ===
Fetching Host Ip
> Host Ip: Auto
> Record Type: A
Fetching RecordId
> Record Id: 998534425
Updating Record value
> arDdnsUpdate - 1.2.3.4

小提示

  • 如需单文件运行,参考ddnspod.sh中的配置项,添加到ardnspod底部,直接运行ardnspod即可
echo "arToken=12345,7676f344eaeaea9074c123451234512d" >> ./ardnspod
echo "arDdnsCheck test.org subdomain" >> ./ardnspod

最近更新

2023/5/24

  • 恢复支持变更检测

2022/11/24

  • 支持指定网卡
  • 增加 arRequest 方法,实现 curl/wget 封装

2022/03/11

  • 改用ddns接口更新数据
  • ipv4 先从本机获取,若没有合法地址,则使用dnspod接口填充IP
  • ipv6 本机获取难度太大,且错误率高,改为直接从外部接口获取地址

2021/11/25

  • 优先选择剩余时间最长的ipv6地址 @kaedeair

2021/3/3

  • 强化获取IP结果检测
  • 优化部分判断逻辑
  • 优化消息输出

2021/2/8

  • 添加 IPv6 支持
  • 优化流程,减少 API 调用次数
  • 完善出错提示

2020/8/5

  • 修复 get the wrong recordID @C-Y-X

2020/1/1

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

2015/2/24

  • 增加 token 鉴权方式 (by wbchn)

2015/7/7

  • 使用 D+服务获取域名解析

2016/2/25

  • 增加配置文件,分离脚本与配置,适配内网。
  • 加入 Mac 支持
  • sed 脚本 POSIX 化,可跨平台

2016/3/23

  • 进一步 POSIX 化,支持 Mac 和大部分 Linux 发行版
  • 更改配置文件格式

2015/7/23

  • 代码托管到 github

2013/03/28

  • 稳定版发布,同时被收录到官方插件列表

2011/07/03

  • 小范围测试版发布

共同维护者

请参阅 https://github.com/rehiy/dnspod-shell/graphs/contributors