阿里云Python云解析DDNS脚本

admin 2021年9月1日14:57:36评论48 views字数 1401阅读4分40秒阅读模式

0x00

一直在用Oray的DDNS服务,但是苦于免费DDNS的域名太难看,所以就想尝试下阿里云的云解析API来用作DDNS。
首先,我们需要一个阿里云的域名(废话)。

先扔个自己写好的脚本Aliyun-DDNS
如果只是想用DDNS的话,用上面的脚本即可。若是想自己写一些更有意思的脚本,那么继续看吧。

0x01

我使用的是Python下的阿里云SDK。

pip install aliyun-python-sdk-alidns

这里的aliyun-python-sdk-alidns是从阿里云 Python SDK 列表里找到的相应包。
安装好之后,我们就可以开始了。

0x02

from aliyunsdkcore import client
clt=client.AcsClient('Access Key','Acces Secret','RegionId')

这一步是用你的AccessKey来实例化一个客户端。

from aliyunsdkalidns.request.v20150109 import DescribeDomainRecordsRequest
id_r=DescribeDomainRecordsRequest.DescribeDomainRecordsRequest()
id_r.set_DomainName('Domain')
id_r.set_RRKeyWord('RR')

实例化你的查询对象。DomainName值你的域名(xxx.com),RRKeyword指你的子域名(test for test.xxx.com)。

id_re=self.clt.do_action(id_r)
print(id_re)

发送查询请求,并打印出返回数据。
在这个数据包里,我们可以看到你的某个子域名所对应的RecordId是多少。

0x03

现在我们拥有了子域名的RecordId,就可以更新我们的对应子域名到新IP了。

import requests
r=requests.get("http://icanhazip.com")

这里获得本地最新IP。

from aliyunsdkalidns.request.v20150109 import UpdateDomainRecordRequest
ur_r=UpdateDomainRecordRequest.UpdateDomainRecordRequest()
ur_r.set_RR('RR')
ur_r.set_RecordId('RecordId')
ur_r.set_Type('A')
ur_r.set_Value('IP')
ur_re=self.clt.do_action(ur_r)
print(ur_re)

很容易理解的一串代码,就是设置参数而已。
若是返回的数据内没有Error,那么便是更改IP成功了。
将脚本设置定时运行,就可以变成DDNS服务了。

0x05

其实还有更多有趣的功能,看下面的API链接就好啦~
(其实觉得阿里云的文档做的真是,。。渣的一笔,看了一早上才知道怎么用)
阿里云解析API概览

FROM :rickyhao.com | rickyhao.com

相关推荐: Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月1日14:57:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   阿里云Python云解析DDNS脚本https://cn-sec.com/archives/499708.html

发表评论

匿名网友 填写信息