Download bt-source/panel/class/sslModel/dnsapiModel.py from SZFSPC/apple: direct link, hf CLI and curl.
- Browser
- Download file 3.6 kB
-
https://huggingface.co/spaces/SZFSPC/apple/resolve/main/bt-source/panel/class/sslModel/dnsapiModel.py
- Command line
-
hf download hf://spaces/SZFSPC/apple/bt-source/panel/class/sslModel/dnsapiModel.py
-
curl -L -o dnsapiModel.py https://huggingface.co/spaces/SZFSPC/apple/resolve/main/bt-source/panel/class/sslModel/dnsapiModel.py
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, "修改成功") | |