ai / bt-source /panel /class /sslModel /dnsapiModel.py
GGSheng's picture
feat: deploy Gemma 4 to hf space
17e971c verified
raw
history blame
3.6 kB
import os, sys, re, json, shutil, psutil, time
import uuid
from datetime import datetime
from hashlib import md5
from sslModel.base import sslBase
import public
class main(sslBase):
def get_dnsapi_add_data(self):
data = [
{
'name': 'DNSPod',
'id': 'DNSPodDns',
'params': ['ID', 'Token']
},
{
'name': '阿里云DNS',
'id': 'AliyunDns',
'params': ['AccessKey', 'SecretKey']
},
{
'name': '腾讯云DNS',
'id': 'TencentCloudDns',
'params': ['secret_id', 'secret_key']
},
{
'name': '华为云DNS',
'id': 'HuaweiCloudDns',
'params': ['AccessKey', 'SecretKey', 'project_id']
},
{
'name': 'CloudFlare',
'id': 'CloudFlareDns',
'params': ['E-Mail', 'API Key']
},
{
'name': '西部数码',
'id': 'WestDns',
'params': ['user_name', 'api_password']
},
{
'name': '宝塔域名',
'id': 'BtDns',
'params': ['AccessKey', 'SecretKey', 'AccountID']
},
# godaddy接口访问不了,先注释
# {
# 'name': 'GoDaddy',
# 'id': 'GoDaddyDns',
# 'params': ['Key', 'Secret']
# },
]
return data
def get_dns_data(self, get):
api_data = super().get_dns_data(get)
add_data = self.get_dnsapi_add_data()
return {"data": [i for i in api_data.values()], "add_data": add_data}
def add_dns_data(self, get):
dns_name = get.dns_name
ps = get.ps
pdata = json.loads(get.pdata)
if dns_name not in [i['id'] for i in self.get_dnsapi_add_data()]:
return public.returnMsg(False, "暂不支持此类型")
pdata.update({'id': uuid.uuid4().hex, 'ps': ps})
sfile = "{}/config/dns_mager.conf".format(public.get_panel_path())
try:
data = json.loads(public.readFile(sfile))
except:
data = {}
type_data = data.get(dns_name)
if type_data:
type_data.append(pdata)
else:
type_data = [pdata]
data[dns_name] = type_data
public.writeFile(sfile, json.dumps(data))
return public.returnMsg(True, "添加成功")
def del_dns_data(self, get):
dns_id = get.dns_id
sfile = "{}/config/dns_mager.conf".format(public.get_panel_path())
data = json.loads(public.readFile(sfile))
for key in data.keys():
for val in data[key]:
if val['id'] == dns_id:
data[key].remove(val)
public.writeFile(sfile, json.dumps(data))
return public.returnMsg(True, "删除成功")
def upd_dns_data(self, get):
dns_id = get.dns_id
ps = get.ps
pdata = {}
if 'pdata' in get:
pdata = json.loads(get.pdata)
pdata.update({'ps': ps})
sfile = "{}/config/dns_mager.conf".format(public.get_panel_path())
data = json.loads(public.readFile(sfile))
for key in data.keys():
for val in data[key]:
if val['id'] == dns_id:
val.update(pdata)
public.writeFile(sfile, json.dumps(data))
return public.returnMsg(True, "修改成功")