教程
当前位置: 主页 > 杂文详谈 > 教程
godaddy DDNS代发API
发布日期:2023-09-28 阅读次数:

此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
邮   箱:  admin@hool.cc
介   绍:

"""

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原创