家用服务器自动更新腾讯云域名的ipv6地址
腾讯云token获取地址:https://console.dnspod.cn/account/token/token。家用服务器自动更新腾讯云域名的ipv6地址,解决ipv6地址变化导致域名无法访问问题。注意token这里是id+密钥。
·
家用服务器自动更新腾讯云域名的ipv6地址,解决ipv6地址变化导致域名无法访问问题。
注意token这里是id+密钥
腾讯云token获取地址:https://console.dnspod.cn/account/token/token
import requests
import socket
# 配置
TOKEN = '12345,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # 替换为你自己的Token
DOMAIN = 'fengche.site'
SUBDOMAIN = '@' # 根域名用@,www用www
def get_ipv6():
s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
try:
s.connect(('240c::6666', 80))
ip = s.getsockname()[0]
except Exception as e:
print("获取IPv6失败:", e)
ip = None
finally:
s.close()
return ip
def get_record_id():
url = 'https://dnsapi.cn/Record.List'
data = {
'login_token': TOKEN,
'format': 'json',
'domain': DOMAIN,
'sub_domain': SUBDOMAIN,
'record_type': 'AAAA'
}
resp = requests.post(url, data=data)
result = resp.json()
if 'records' in result and result['records']:
return result['records'][0]['id']
else:
print(result)
return None
def update_record(record_id, ipv6):
url = 'https://dnsapi.cn/Record.Modify'
data = {
'login_token': TOKEN,
'format': 'json',
'domain': DOMAIN,
'sub_domain': SUBDOMAIN,
'record_id': record_id,
'record_type': 'AAAA',
'record_line': '默认',
'value': ipv6
}
resp = requests.post(url, data=data)
print(resp.text)
if __name__ == '__main__':
ipv6 = get_ipv6()
if not ipv6:
print("未获取到IPv6地址,退出")
exit(1)
print("本机IPv6地址:", ipv6)
record_id = get_record_id()
if not record_id:
print("未找到对应的DNS记录,请先在Dnspod控制台添加AAAA记录")
exit(1)
update_record(record_id, ipv6)
更多推荐
所有评论(0)