编写一个阿里云DDNS的shell脚本

这篇具有很好参考价值的文章主要介绍了编写一个阿里云DDNS的shell脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先,您需要获取阿里云的AccessKey ID和AccessKey Secret,以便于通过API进行操作。

然后,可以使用cURL命令,向阿里云的API发送HTTP请求,来实现动态DNS的功能。

以下是一个简单的阿里云DDNS shell脚本的示例:

``` #!/bin/bash

阿里云AccessKey ID

access_key_id=" "

阿里云AccessKey Secret

access_key_secret=" "

域名

domain=" "

主机记录

RR=" "

获取当前公网IP

ip=curl -s http://ipv4.icanhazip.com

构造签名参数

timestamp=date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ" signature=echo -n "GET&%2F&AccessKeyId%3D$access_key_id%26Action%3DDescribeDomainRecords%26DomainName%3D$domain%26Format%3DXML%26SignatureMethod%3DHMAC-SHA1%26SignatureNonce%3D$RANDOM%26SignatureVersion%3D1.0%26Timestamp%3D$timestamp%26Type%3D" | openssl dgst -binary -sha1 -hmac "$access_key_secret&" | base64

获取解析记录的ID

record_id=curl -s "http://alidns.aliyuncs.com/?Action=DescribeDomainRecords&DomainName=$domain&Format=XML&Signature=$signature&SignatureMethod=HMAC-SHA1&SignatureNonce=$RANDOM&SignatureVersion=1.0&Timestamp=$timestamp&Type=&AccessKeyId=$access_key_id" | grep "<RecordId>" | awk -F "<RecordId>" '{print $2}' | awk -F "<" '{print $1}'

如果IP有变化,则更新DNS记录

if [ $ip != $record_id ] then timestamp=date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ" signature=`echo -n "GET&%2F&AccessKeyId%3D$access_key_id%26Action%3DUpdateDomainRecord%26DomainName%3D$domain%文章来源地址https://www.toymoban.com/news/detail-752428.html

到了这里,关于编写一个阿里云DDNS的shell脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问

    1、移动宽带只有IPv6公网地址,若你的宽带为电信或联通,它们都可以申请到公网IPv4地址,不需要这么复杂。 2、主路由为小米AX9000(虽然是定制OpenWrt系统,但是固件真的很辣鸡, 已开启SSH ),若你的路由器为其它系统,可以参考思路。 3、路由器拨号,怎么设置光猫桥接自己

    2024年02月13日
    浏览(39)
  • 群晖docker实现阿里云动态公网域名解析ddns服务

    日常生活中,一般家庭用户宽带使用的都是内网ip,如果需要在外网就是远程使用,需要将家庭ip向电信部门申请变更为公网ip,通常情况下,我们获得的都是动态公网ip,这种ip每隔一段时间都会自动变化,这样如果想通过一个不变的域名地址来访问,就需要dns动态来解析到变

    2024年02月05日
    浏览(34)
  • 【Linux】编写一个 shell 脚本&执行

    在Linux中编写和执行脚本相对简单。下面是一个基本的步骤指南,帮助你创建一个简单的bash脚本并运行它: 1. 创建脚本文件 首先,你需要使用文本编辑器创建一个新的文件。这个文件通常会有 .sh 的扩展名,以表明它是一个shell脚本。例如,你可以创建一个名为 myscript.sh 的文

    2024年04月26日
    浏览(28)
  • shell 编写一个带有进度条的程序安装脚本

    使用 shell 写一个 软件安装脚本,带有进度条 在这个示例中,使用 ANSI 转义序列来实现覆盖原来的打印信息,并保持进度条在同一行显示。通过使用 r 进行回车,然后使用 \\033[K 清除当前行的内容,可以实现覆盖效果。 在 print_progress 函数中,首先清除当前行的内容,然后构

    2024年02月11日
    浏览(35)
  • 一篇文章教会你如何编写一个简单的Shell脚本

    Shell脚本概念 Shell 脚本是一种用于自动化执行一系列命令和操作的脚本文件。它使用的是 Shell 解释器(如 Bash、Korn Shell、Zsh 等)来解释和执行其中的命令。Shell 脚本通常用于编写简单的任务和工作流程,可以帮助我们进行系统管理、批量处理、自动化部署等任务。 以.sh后缀

    2024年02月10日
    浏览(35)
  • 动态更新阿里云DDNS解析记录的IPv6地址,随时随地用域名远程访问自己的电脑【如何远程访问家里的电脑】

    [2023-04-03 19:56]: 放弃了安卓版,修正了文章中的一些错误,并改用了ddns-go [2022-09-21 23:59]: 此工具后续将推出安卓版,敬请期待 [2022-09-21 03:48]: 之前与群友“不将就”的讨论发现了一大堆问题,软件经行了大改,请重新下载安装。 [2022-09-20 18:22]: 发现并修复了一个bug,I

    2024年02月06日
    浏览(50)
  • Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

     * 20231020 写这篇博文断断续续花了好几天,为了说明不同shell在执行同一脚本文件时的差别,我分别在csdn提供线上Linux环境 (使用的shell是zsh)和自己的电脑上(使用的shell是bash)做测试。功夫不负有心人,在其中一些实例中可以体现出zsh和bash的对脚本文件支持的差别,收

    2024年02月07日
    浏览(41)
  • ddns-go搭建ddns(动态域名解析)

    本文章使用ddns-go和腾讯云dns解析搭建-我用的电信公网动态IP ddns-go github 腾讯dnspod 官网 打开 腾讯dnspod 登录账号 进入控制台 点击左侧我的域名 没有域名的小伙伴记得添加一个或者购买一个-不会的小伙伴可以去搜索下 如域名不是腾讯的记得去域名所在商那里修改下dns服务器

    2024年02月05日
    浏览(36)
  • DDNS是什么意思?ddns有什么作用和功能?

    在 路由器设置 中,细心的朋友的会发现有一项“DDNS”功能,很多朋友对 DNS 不会陌生,但对于DDNS是什么意思,有什么作用却没什么了解。那么,DDNS是什么?有什么用呢?对于此类问题,接下来小编详细介绍下DDNS的含义以及工作作用,想要了解的朋友,不妨仔细看看。 DDN

    2024年02月08日
    浏览(36)
  • DDNS开启好还是禁用好

    DDNS​ (Dynamic Domain Name Server,动态域名服务)是将用户的动态 IP 地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态 IP 地址传送给位于服务商主机上的服务器程序,服务器程序负责提供 DNS 服务并实现动态域名解析

    2024年02月07日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包