mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-09-12 20:47:39 +02:00
update to 6.8.27
This commit is contained in:
+32
-28
@@ -34,12 +34,12 @@ import hmac
|
||||
try:
|
||||
import requests
|
||||
except:
|
||||
public.ExecShell('pip install requests')
|
||||
public.ExecShell('btpip install requests')
|
||||
import requests
|
||||
try:
|
||||
import OpenSSL
|
||||
except:
|
||||
public.ExecShell('pip install pyopenssl')
|
||||
public.ExecShell('btpip install pyOpenSSL')
|
||||
import OpenSSL
|
||||
import random
|
||||
import datetime
|
||||
@@ -97,7 +97,7 @@ class BaseDns(object):
|
||||
|
||||
class DNSPodDns(BaseDns):
|
||||
dns_provider_name = "dnspod"
|
||||
|
||||
_type = 0 # 0:lest 1:锐成
|
||||
def __init__(self, DNSPOD_ID, DNSPOD_API_KEY, DNSPOD_API_BASE_URL="https://dnsapi.cn/"):
|
||||
self.DNSPOD_ID = DNSPOD_ID
|
||||
self.DNSPOD_API_KEY = DNSPOD_API_KEY
|
||||
@@ -113,7 +113,10 @@ class DNSPodDns(BaseDns):
|
||||
|
||||
def create_dns_record(self, domain_name, domain_dns_value):
|
||||
domain_name,_,subd = extract_zone(domain_name)
|
||||
self.add_record(domain_name,subd,domain_dns_value,'TXT')
|
||||
if self._type == 1:
|
||||
self.add_record(domain_name,subd.replace('_acme-challenge.',''),domain_dns_value,'CNAME')
|
||||
else:
|
||||
self.add_record(domain_name,subd,domain_dns_value,'TXT')
|
||||
|
||||
|
||||
|
||||
@@ -177,7 +180,7 @@ class DNSPodDns(BaseDns):
|
||||
|
||||
class CloudFlareDns(BaseDns):
|
||||
dns_provider_name = "cloudflare"
|
||||
|
||||
_type = 0 # 0:lest 1:锐成
|
||||
def __init__(
|
||||
self,
|
||||
CLOUDFLARE_EMAIL,
|
||||
@@ -278,6 +281,12 @@ class CloudFlareDns(BaseDns):
|
||||
"name": "_acme-challenge" + "." + domain_name + ".",
|
||||
"content": "{0}".format(domain_dns_value),
|
||||
}
|
||||
|
||||
if self._type == 1:
|
||||
body['type'] = 'CNAME'
|
||||
root, _, acme_txt = extract_zone(domain_name)
|
||||
body['name'] = acme_txt.replace('_acme-challenge.','')
|
||||
|
||||
create_cloudflare_dns_record_response = requests.post(
|
||||
url, headers=headers, json=body, timeout=self.HTTP_TIMEOUT
|
||||
)
|
||||
@@ -326,6 +335,7 @@ class CloudFlareDns(BaseDns):
|
||||
|
||||
|
||||
class AliyunDns(object):
|
||||
_type = 0 # 0:lest 1:锐成
|
||||
def __init__(self, key, secret, ):
|
||||
self.key = str(key).strip()
|
||||
self.secret = str(secret).strip()
|
||||
@@ -359,11 +369,14 @@ class AliyunDns(object):
|
||||
|
||||
def create_dns_record(self, domain_name, domain_dns_value):
|
||||
root, _, acme_txt = extract_zone(domain_name)
|
||||
self.add_record(root,'TXT',acme_txt,domain_dns_value)
|
||||
try:
|
||||
self.add_record(root,'CAA','@',caa_value)
|
||||
except:
|
||||
pass
|
||||
if self._type == 1:
|
||||
acme_txt = acme_txt.replace('_acme-challenge.','')
|
||||
self.add_record(root,'CNAME',acme_txt,domain_dns_value)
|
||||
else:
|
||||
try:
|
||||
self.add_record(root,'CAA','@',caa_value)
|
||||
except: pass
|
||||
self.add_record(root,'TXT',acme_txt,domain_dns_value)
|
||||
|
||||
|
||||
def add_record(self,domain,s_type,host,value):
|
||||
@@ -493,17 +506,6 @@ class CloudxnsDns(object):
|
||||
req = requests.post(url=url, headers=headers, data=parameter,verify=False)
|
||||
req = req.json()
|
||||
|
||||
data = {
|
||||
"domain_id": int(domain),
|
||||
"host": '@',
|
||||
"value": caa_value,
|
||||
"type": "CAA",
|
||||
"line_id": 1,
|
||||
}
|
||||
parameter = json.dumps(data)
|
||||
headers = self.get_headers(url, parameter)
|
||||
requests.post(url=url, headers=headers, data=parameter,verify=False)
|
||||
|
||||
return req
|
||||
|
||||
def delete_dns_record(self, domain_name, domain_dns_value):
|
||||
@@ -513,10 +515,6 @@ class CloudxnsDns(object):
|
||||
headers = self.get_headers(url, )
|
||||
req = requests.delete(url=url, headers=headers, verify=False)
|
||||
req = req.json()
|
||||
|
||||
url = "https://www.cloudxns.net/api2/record/{}/{}".format(self.get_record_id(root,'CAA'), self.get_domain_id(root))
|
||||
headers = self.get_headers(url, )
|
||||
req = requests.delete(url=url, headers=headers, verify=False)
|
||||
return req
|
||||
|
||||
def get_record_id(self, domain_name,s_type = 'TXT'):
|
||||
@@ -530,12 +528,12 @@ class CloudxnsDns(object):
|
||||
return False
|
||||
|
||||
class Dns_com(object):
|
||||
|
||||
_type = 0 # 0:lest 1:锐成
|
||||
def __init__(self, key, secret, ):
|
||||
pass
|
||||
|
||||
def get_dns_obj(self):
|
||||
p_path = '/www/server/panel/plugin/model'
|
||||
p_path = '/www/server/panel/plugin/dns'
|
||||
if not os.path.exists(p_path +'/dns_main.py'): return None
|
||||
sys.path.insert(0,p_path)
|
||||
import dns_main
|
||||
@@ -544,7 +542,13 @@ class Dns_com(object):
|
||||
|
||||
def create_dns_record(self, domain_name, domain_dns_value):
|
||||
root, _, acme_txt = extract_zone(domain_name)
|
||||
result = self.get_dns_obj().add_txt(acme_txt + '.' + root,domain_dns_value)
|
||||
|
||||
if self._type == 1:
|
||||
acme_txt = acme_txt.replace('_acme-challenge.','')
|
||||
result = self.add_record(acme_txt + '.' + root,domain_dns_value)
|
||||
else:
|
||||
result = self.get_dns_obj().add_txt(acme_txt + '.' + root,domain_dns_value)
|
||||
|
||||
if result == "False":
|
||||
raise ValueError('[DNS] This domain name does not exist in the currently bound Pagoda DNS cloud resolution account. Adding parsing failed!')
|
||||
time.sleep(5)
|
||||
|
||||
Reference in New Issue
Block a user