此API用于解决godaddy官方DDNS API在中国无法直接访问的的问题。
实现方案是通过收集用户解析数据,在由服务器代发至godaddy,注:此过程不会保留任何用户数据,甚至连基本的日志都没有.......不是懒,能跑就行
请求参数
domain: 域名(xxx.com)
name: 解析名(@/xxxx)
keys: keys(key:Secret)申请地址:https://developer.godaddy.com/keys/
ip: IP地址
type: 解析类型(A/AAAA)注:A:ipv4, AAAA:ipv6
状态码及返回参数
200 IP更新成功或无需更新
400 数据填写错误
422 请求中存在语义错误,服务器无法处理!
401 身份验证错误、
使用方式一:直接访问
例:http://hool.cc:5001/?domain=hool.cc&name=abc&keys=key:Secret&ip=127.0.0.1&type=A
使用方式二:搭配python脚本使用
在服务器或电脑上新建一个py后缀的python文件,把下列代码复制进去,设置一个定时任务,定时启动此脚本即可完成IP自动更新
""" 开发日期: 2023年 08月 27日 23:02 开发项目: godaddy-ddns 当前文件: ddns-front 开 发 者: HOOL 邮 箱: [email protected] 介 绍: """ import requests # 这里是你购买的域名 DOMAIN = "域名" # 这里是dns配置中的名称 Name = "解析名" # 这里key和Secret之间注意有个冒号 # 申请地址:https://developer.godaddy.com/keys/ keys = "key:Secret" # 选择ddns的IP类型 ipv4(A)/ipv6(AAAA) TYPE = 'AAAA' # 获取IP地址 def ipv4(): try: data = requests.get('https://api.ipify.org').text except Exception: return None return data # 获取IPV6地址 def ipv6(): try: data = requests.get('https://api6.ipify.org').text except Exception: return None return data def ddns(): data = {'domain': DOMAIN, 'name': Name, 'keys': keys, 'ip': ipv6(), # 这里需要切换到对应的IP获取方法 'type': TYPE } try: is_data = requests.post(url='http://hool.cc:5001', data=data) print(is_data.text) if is_data.status_code == 200: return is_data.status_code, is_data.text except Exception as bug: return f'程序异常终止!错误代码:{bug}' return is_data.status_code, is_data.text print(ddns())
此API为公益对外开放API,请合理使用,谢谢!
HOOL原创