diff --git a/cloudAPI/cloudManager.py b/cloudAPI/cloudManager.py
index 0c192cb2d..b8a7e08e4 100755
--- a/cloudAPI/cloudManager.py
+++ b/cloudAPI/cloudManager.py
@@ -1961,12 +1961,22 @@ class CloudManager:
## Get versopm
website = Websites.objects.get(domain=domain)
- command = 'wp core version --path=/home/%s/public_html' % (domain)
+
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+ command = 'wp core version --path=%s' % (path)
finalDic['version'] = ProcessUtilities.outputExecutioner(command, website.externalApp)
## LSCache
- command = 'wp plugin status litespeed-cache --path=/home/%s/public_html' % (domain)
+ command = 'wp plugin status litespeed-cache --path=%s' % (path)
result = ProcessUtilities.outputExecutioner(command, website.externalApp)
if result.find('Status: Active') > -1:
@@ -1976,7 +1986,7 @@ class CloudManager:
## Debug
- command = 'wp config list --path=/home/%s/public_html' % (domain)
+ command = 'wp config list --path=%s' % (path)
result = ProcessUtilities.outputExecutioner(command, website.externalApp).split('\n')
finalDic['debugging'] = 0
for items in result:
@@ -1986,12 +1996,12 @@ class CloudManager:
## Search index
- command = 'wp option get blog_public --path=/home/%s/public_html' % (domain)
+ command = 'wp option get blog_public --path=%s' % (path)
finalDic['searchIndex'] = int(ProcessUtilities.outputExecutioner(command, website.externalApp).rstrip('\n'))
## Maintenece mode
- command = 'wp maintenance-mode status --path=/home/%s/public_html' % (domain)
+ command = 'wp maintenance-mode status --path=%s' % (path)
result = ProcessUtilities.outputExecutioner(command, website.externalApp)
if result.find('not active') > -1:
@@ -2001,7 +2011,7 @@ class CloudManager:
## Get title
- command = 'wp option get blogname --path=/home/%s/public_html' % (domain)
+ command = 'wp option get blogname --path=%s' % (path)
finalDic['title'] = ProcessUtilities.outputExecutioner(command, website.externalApp)
##
@@ -2019,15 +2029,24 @@ class CloudManager:
website = Websites.objects.get(domain=self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
## Get title
import plogical.randomPassword as randomPassword
password = randomPassword.generate_pass(32)
- command = 'wp user create cyberpanel support@cyberpanel.cloud --role=administrator --user_pass="%s" --path=/home/%s/public_html' % (password, self.data['domain'])
+ command = 'wp user create cyberpanel support@cyberpanel.cloud --role=administrator --user_pass="%s" --path=%s' % (password, path)
ProcessUtilities.executioner(command, website.externalApp)
- command = 'wp user update cyberpanel --user_pass="%s" --path=/home/%s/public_html' % (password, self.data['domain'])
+ command = 'wp user update cyberpanel --user_pass="%s" --path=%s' % (password, path)
ProcessUtilities.executioner(command, website.externalApp)
finalDic = {'status': 1, 'password': password}
@@ -2044,20 +2063,30 @@ class CloudManager:
website = Websites.objects.get(domain=self.data['domain'])
domain = self.data['domain']
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+
if self.data['setting'] == 'lscache':
if self.data['settingValue']:
- command = "wp plugin install litespeed-cache --path=/home/%s/public_html" % (domain)
+ command = "wp plugin install litespeed-cache --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
- command = "wp plugin activate litespeed-cache --path=/home/%s/public_html" % (domain)
+ command = "wp plugin activate litespeed-cache --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'LSCache successfully installed and activated.'}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
else:
- command = 'wp plugin deactivate litespeed-cache --path=/home/%s/public_html' % (domain)
+ command = 'wp plugin deactivate litespeed-cache --path=%s' % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'LSCache successfully deactivated.'}
@@ -2065,11 +2094,11 @@ class CloudManager:
return HttpResponse(final_json)
elif self.data['setting'] == 'debugging':
- command = "wp litespeed-purge all --path=/home/%s/public_html" % (domain)
+ command = "wp litespeed-purge all --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
if self.data['settingValue']:
- command = "wp config set WP_DEBUG true --path=/home/%s/public_html" % (domain)
+ command = "wp config set WP_DEBUG true --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'WordPress is now in debug mode.'}
@@ -2077,7 +2106,7 @@ class CloudManager:
return HttpResponse(final_json)
else:
- command = "wp config set WP_DEBUG false --path=/home/%s/public_html" % (domain)
+ command = "wp config set WP_DEBUG false --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'WordPress debug mode turned off.'}
@@ -2085,11 +2114,11 @@ class CloudManager:
return HttpResponse(final_json)
elif self.data['setting'] == 'searchIndex':
- command = "wp litespeed-purge all --path=/home/%s/public_html" % (domain)
+ command = "wp litespeed-purge all --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
if self.data['settingValue']:
- command = "wp option update blog_public 1 --path=/home/%s/public_html" % (domain)
+ command = "wp option update blog_public 1 --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'Search Engine Indexing enabled.'}
@@ -2097,7 +2126,7 @@ class CloudManager:
return HttpResponse(final_json)
else:
- command = "wp option update blog_public 0 --path=/home/%s/public_html" % (domain)
+ command = "wp option update blog_public 0 --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'Search Engine Indexing disabled.'}
@@ -2105,12 +2134,12 @@ class CloudManager:
return HttpResponse(final_json)
elif self.data['setting'] == 'maintenanceMode':
- command = "wp litespeed-purge all --path=/home/%s/public_html" % (domain)
+ command = "wp litespeed-purge all --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
if self.data['settingValue']:
- command = "wp maintenance-mode activate --path=/home/%s/public_html" % (domain)
+ command = "wp maintenance-mode activate --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'WordPress Maintenance mode turned on.'}
@@ -2118,7 +2147,7 @@ class CloudManager:
return HttpResponse(final_json)
else:
- command = "wp maintenance-mode deactivate --path=/home/%s/public_html" % (domain)
+ command = "wp maintenance-mode deactivate --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_dic = {'status': 1, 'message': 'WordPress Maintenance mode turned off.'}
@@ -2131,9 +2160,20 @@ class CloudManager:
def GetCurrentPlugins(self):
try:
website = Websites.objects.get(domain=self.data['domain'])
- command = 'wp plugin list --format=json --path=/home/%s/public_html' % (self.data['domain'])
+
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+ command = 'wp plugin list --format=json --path=%s' % (path)
json_data = ProcessUtilities.outputExecutioner(command, website.externalApp)
final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data})
+
return HttpResponse(final_json)
except BaseException as msg:
final_dic = {'status': 0, 'fetchStatus': 0, 'error_message': str(msg)}
@@ -2144,14 +2184,23 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
if self.data['plugin'] == 'all':
- command = 'wp plugin update --all --path=/home/%s/public_html' % (self.data['domain'])
+ command = 'wp plugin update --all --path=%s' % (path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'message': "Plugin updates started in the background."})
return HttpResponse(final_json)
elif self.data['plugin'] == 'selected':
if self.data['allPluginsChecked']:
- command = 'wp plugin update --all --path=/home/%s/public_html' % (self.data['domain'])
+ command = 'wp plugin update --all --path=%s' % (path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin updates started in the background."})
@@ -2162,13 +2211,13 @@ class CloudManager:
for plugin in self.data['plugins']:
pluginsList = '%s %s' % (pluginsList, plugin)
- command = 'wp plugin update %s --path=/home/%s/public_html' % (pluginsList, self.data['domain'])
+ command = 'wp plugin update %s --path=%s' % (pluginsList, path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin updates started in the background."})
return HttpResponse(final_json)
else:
- command = 'wp plugin update %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ command = 'wp plugin update %s --path=%s' % (self.data['plugin'], path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin updates started in the background."})
@@ -2183,25 +2232,32 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
- command = 'wp plugin status %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+ command = 'wp plugin status %s --path=%s' % (self.data['plugin'], path)
result = ProcessUtilities.outputExecutioner(command, website.externalApp)
if result.find('Status: Active') > -1:
- command = 'wp plugin deactivate %s --path=/home/%s/public_html' % (
- self.data['plugin'], self.data['domain'])
+ command = 'wp plugin deactivate %s --path=%s' % (self.data['plugin'], path)
ProcessUtilities.executioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin successfully deactivated."})
return HttpResponse(final_json)
else:
- command = 'wp plugin activate %s --path=/home/%s/public_html' % (
- self.data['plugin'], self.data['domain'])
+ command = 'wp plugin activate %s --path=%s' % (
+ self.data['plugin'], path)
ProcessUtilities.executioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin successfully activated."})
return HttpResponse(final_json)
-
except BaseException as msg:
final_dic = {'status': 0, 'fetchStatus': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
@@ -2211,19 +2267,28 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
if self.data['plugin'] == 'selected':
pluginsList = ''
for plugin in self.data['plugins']:
pluginsList = '%s %s' % (pluginsList, plugin)
- command = 'wp plugin delete %s --path=/home/%s/public_html' % (pluginsList, self.data['domain'])
+ command = 'wp plugin delete %s --path=%s' % (pluginsList, path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin deletion started in the background."})
return HttpResponse(final_json)
else:
- command = 'wp plugin delete %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ command = 'wp plugin delete %s --path=%s' % (self.data['plugin'], path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin deletion started in the background."})
@@ -2236,8 +2301,19 @@ class CloudManager:
def GetCurrentThemes(self):
try:
+
website = Websites.objects.get(domain=self.data['domain'])
- command = 'wp theme list --format=json --path=/home/%s/public_html' % (self.data['domain'])
+
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+ command = 'wp theme list --format=json --path=%s' % (path)
json_data = ProcessUtilities.outputExecutioner(command, website.externalApp)
final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data})
return HttpResponse(final_json)
@@ -2250,14 +2326,23 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
if self.data['plugin'] == 'all':
- command = 'wp theme update --all --path=/home/%s/public_html' % (self.data['domain'])
+ command = 'wp theme update --all --path=%s' % (path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'message': "Theme updates started in the background."})
return HttpResponse(final_json)
elif self.data['plugin'] == 'selected':
if self.data['allPluginsChecked']:
- command = 'wp theme update --all --path=/home/%s/public_html' % (self.data['domain'])
+ command = 'wp theme update --all --path=%s' % (path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme updates started in the background."})
@@ -2268,13 +2353,13 @@ class CloudManager:
for plugin in self.data['plugins']:
pluginsList = '%s %s' % (pluginsList, plugin)
- command = 'wp theme update %s --path=/home/%s/public_html' % (pluginsList, self.data['domain'])
+ command = 'wp theme update %s --path=%s' % (pluginsList, path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme updates started in the background."})
return HttpResponse(final_json)
else:
- command = 'wp theme update %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ command = 'wp theme update %s --path=%s' % (self.data['plugin'], path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme updates started in the background."})
@@ -2289,19 +2374,28 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
- command = 'wp theme status %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
+ command = 'wp theme status %s --path=%s' % (self.data['plugin'], path)
result = ProcessUtilities.outputExecutioner(command, website.externalApp)
if result.find('Status: Active') > -1:
- command = 'wp theme deactivate %s --path=/home/%s/public_html' % (
- self.data['plugin'], self.data['domain'])
+ command = 'wp theme deactivate %s --path=%s' % (
+ self.data['plugin'], path)
ProcessUtilities.executioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme successfully deactivated."})
return HttpResponse(final_json)
else:
- command = 'wp theme activate %s --path=/home/%s/public_html' % (
- self.data['plugin'], self.data['domain'])
+ command = 'wp theme activate %s --path=%s' % (
+ self.data['plugin'], path)
ProcessUtilities.executioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme successfully activated."})
@@ -2317,19 +2411,28 @@ class CloudManager:
try:
website = Websites.objects.get(domain=self.data['domain'])
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
if self.data['plugin'] == 'selected':
pluginsList = ''
for plugin in self.data['plugins']:
pluginsList = '%s %s' % (pluginsList, plugin)
- command = 'wp theme delete %s --path=/home/%s/public_html' % (pluginsList, self.data['domain'])
+ command = 'wp theme delete %s --path=%s' % (pluginsList, path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Plugin Theme started in the background."})
return HttpResponse(final_json)
else:
- command = 'wp theme delete %s --path=/home/%s/public_html' % (self.data['plugin'], self.data['domain'])
+ command = 'wp theme delete %s --path=%s' % (self.data['plugin'], path)
ProcessUtilities.popenExecutioner(command, website.externalApp)
final_json = json.dumps(
{'status': 1, 'fetchStatus': 1, 'message': "Theme deletion started in the background."})
@@ -2411,6 +2514,15 @@ class CloudManager:
wpd = WPDeployments(owner=website)
config = {}
+ try:
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ path = '/home/%s/public_html/%s' % (self.data['domain'], path)
+
+ except:
+ path = '/home/%s/public_html' % (self.data['domain'])
+
config['updates'] = self.data['wpCore']
config['pluginUpdates'] = self.data['plugins']
config['themeUpdates'] = self.data['themes']
@@ -2418,13 +2530,13 @@ class CloudManager:
wpd.save()
if self.data['wpCore'] == 'Disabled':
- command = "wp config set WP_AUTO_UPDATE_CORE false --raw --path=/home/%s/public_html" % (domainName)
+ command = "wp config set WP_AUTO_UPDATE_CORE false --raw --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
elif self.data['wpCore'] == 'Minor and Security Updates':
- command = "wp config set WP_AUTO_UPDATE_CORE minor --allow-root --path=/home/%s/public_html" % (domainName)
+ command = "wp config set WP_AUTO_UPDATE_CORE minor --allow-root --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
else:
- command = "wp config set WP_AUTO_UPDATE_CORE true --raw --allow-root --path=/home/%s/public_html" % (domainName)
+ command = "wp config set WP_AUTO_UPDATE_CORE true --raw --allow-root --path=%s" % (path)
ProcessUtilities.executioner(command, website.externalApp)
final_json = json.dumps(
diff --git a/plogical/test.py b/plogical/test.py
index e69de29bb..27be6ec77 100755
--- a/plogical/test.py
+++ b/plogical/test.py
@@ -0,0 +1,111 @@
+import requests
+import re
+import sys
+import warnings
+from flask import Flask, request, render_template, redirect, url_for
+from io_parser import FormParser
+from urllib3.exceptions import InsecureRequestWarning
+
+warnings.simplefilter('ignore', InsecureRequestWarning)
+
+app = Flask(__name__)
+app.debug = True
+app.config.update(
+ JSON_SORT_KEYS=False,
+ JSONIFY_PRETTYPRINT_REGULAR=True
+)
+
+view = 'index.html'
+
+
+@app.route('/', methods=['GET'])
+def explore():
+ error = {
+ 'types': set(),
+ 'input': [],
+ }
+ http = None
+ x_lsadc_cache, x_qc_cache, x_litespeed_cache, cf_cache_cache, browser_cache, cache_support, x_sucuri_cache = (
+ False,) * 7
+ fp = FormParser(host=request.args.get('host'), ip=request.args.get('ip'),
+ port=request.args.get('port'),
+ advanced=request.args.get('advanced'))
+
+ if not fp.host:
+ return render_template(view, form=fp.__dict__())
+ if fp.check_error():
+ error['types'].add('input')
+ error['input'] = fp.error_msgs
+ return render_template(view, form=fp.__dict__(), error=error)
+ form = fp.__dict__()
+
+ finalURL = ''
+
+ if form['url'].find('http') == -1:
+ finalURL = 'https://%s' % (form['url'])
+ else:
+ finalURL = form['url']
+
+ try:
+
+ resp = requests.get('' + (finalURL, form['ip'])[form['advanced']], headers={
+ 'Host': form['host'],
+ 'User-Agent': 'wget/http3check.net',
+ }, verify=False)
+
+ http = [key + ': ' + value for key, value in resp.headers.items() if key != 'Link']
+ http.insert(0, 'HTTP/1.1 {} {}'.format(resp.status_code, resp.reason))
+ for key, value in resp.headers.items():
+ key = key.lower()
+ value = value.lower()
+ if key == 'x-lsadc-cache':
+ if value == 'hit':
+ x_lsadc_cache = True
+ cache_support = True
+ elif key == 'x-qc-cache':
+ if value == 'hit':
+ x_qc_cache = True
+ cache_support = True
+ elif key == 'x-litespeed-cache':
+ if value == 'hit':
+ x_litespeed_cache = True
+ cache_support = True
+ elif key == 'cf-cache-status':
+ if value == 'hit':
+ cf_cache_cache = True
+ elif key == 'cache-control':
+ if 'no-cache' not in value and 'max-age=0' not in value:
+ browser_cache = True
+ elif key == 'x-sucuri-cache':
+ if value == 'hit':
+ x_sucuri_cache = True
+
+ finalHTTP = []
+ from flask import Markup
+
+ for items in http:
+ if items.lower().find('x-litespeed-cache:') > -1 or items.lower().find('x-lsadc-cache:') > -1 or items.lower().find(
+ 'x-qc-cache:') > -1:
+ finalHTTP.append(Markup('%s' % (items)))
+ elif items.lower().find('link:') > -1:
+ pass
+ else:
+ finalHTTP.append(items)
+
+ return render_template(view, cache_support=cache_support, x_lsadc_cache=x_lsadc_cache, x_qc_cache=x_qc_cache,
+ x_litespeed_cache=x_litespeed_cache, cf_cache_cache=cf_cache_cache,
+ x_sucuri_cache=x_sucuri_cache,
+ browser_cache=browser_cache, form=form, http=finalHTTP)
+ except BaseException as msg:
+ return render_template(view, form={}, error=str(msg))
+
+
+@app.route('/', methods=['GET'])
+def home(page):
+ if page == 'about' or page == 'about.html':
+ return render_template(view, about=True)
+ # return redirect("https://lscache.io/", code=302)
+ return redirect(url_for('explore'))
+
+if __name__ == '__main__':
+ app.run(host= '0.0.0.0')
\ No newline at end of file
diff --git a/websiteFunctions/StagingSetup.py b/websiteFunctions/StagingSetup.py
index 2518104ed..7e68fe7f6 100644
--- a/websiteFunctions/StagingSetup.py
+++ b/websiteFunctions/StagingSetup.py
@@ -36,7 +36,17 @@ class StagingSetup(multi.Thread):
website = Websites.objects.get(domain=masterDomain)
- masterPath = '/home/%s/public_html' % (masterDomain)
+ try:
+ import json
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=website)
+ path = json.loads(wpd.config)['path']
+ masterPath = '/home/%s/public_html/%s' % (masterDomain, path)
+ replaceDomain = '%s/%s' % (masterDomain, path)
+ except:
+ masterPath = '/home/%s/public_html' % (masterDomain)
+ replaceDomain = masterDomain
+
configPath = '%s/wp-config.php' % (masterPath)
## Check if WP Detected on Main Site
@@ -114,10 +124,10 @@ class StagingSetup(multi.Thread):
## Search and replace url
- command = 'wp search-replace --allow-root --path=%s "%s" "%s"' % (path, masterDomain, domain)
+ command = 'wp search-replace --allow-root --path=%s "%s" "%s"' % (path, replaceDomain, domain)
ProcessUtilities.executioner(command)
- command = 'wp search-replace --allow-root --path=%s "www.%s" "%s"' % (path, masterDomain, domain)
+ command = 'wp search-replace --allow-root --path=%s "www.%s" "%s"' % (path, replaceDomain, domain)
ProcessUtilities.executioner(command)
logging.statusWriter(tempStatusPath, 'Fixing permissions..,90')
@@ -147,7 +157,17 @@ class StagingSetup(multi.Thread):
child = ChildDomains.objects.get(domain=childDomain)
- masterPath = '/home/%s/public_html' % (child.master.domain)
+
+ try:
+ import json
+ from cloudAPI.models import WPDeployments
+ wpd = WPDeployments.objects.get(owner=child.master)
+ path = json.loads(wpd.config)['path']
+ masterPath = '/home/%s/public_html/%s' % (child.master.domain, path)
+ replaceDomain = '%s/%s' % (child.master.domain, path)
+ except:
+ masterPath = '/home/%s/public_html' % (child.master.domain)
+ replaceDomain = child.master.domain
command = 'chmod 755 /home/%s/public_html' % (child.master.domain)
ProcessUtilities.executioner(command)
@@ -185,10 +205,10 @@ class StagingSetup(multi.Thread):
## Search and replace url
- command = 'wp search-replace --allow-root --path=%s "%s" "%s"' % (masterPath, child.domain, child.master.domain)
+ command = 'wp search-replace --allow-root --path=%s "%s" "%s"' % (masterPath, child.domain, replaceDomain)
ProcessUtilities.executioner(command)
- command = 'wp search-replace --allow-root --path=%s "www.%s" "%s"' % (masterPath, child.domain, child.master.domain)
+ command = 'wp search-replace --allow-root --path=%s "www.%s" "%s"' % (masterPath, child.domain, replaceDomain)
ProcessUtilities.executioner(command)
from filemanager.filemanager import FileManager
@@ -201,6 +221,15 @@ class StagingSetup(multi.Thread):
logging.statusWriter(tempStatusPath, 'Completed,[200]')
+ http = []
+ finalHTTP = []
+
+ for items in http:
+ if items.find('x-litespeed-cache') > -1 or items.find('x-lsadc-cache') > -1 or items.find('x-qc-cache') > -1:
+ finalHTTP.append('%s' % (items))
+ else:
+ finalHTTP.append(items)
+
return 0
except BaseException as msg:
mesg = '%s. [404]' % (str(msg))
diff --git a/websiteFunctions/website.py b/websiteFunctions/website.py
index 1f0720c27..32bdb4ec0 100755
--- a/websiteFunctions/website.py
+++ b/websiteFunctions/website.py
@@ -2701,7 +2701,6 @@ StrictHostKeyChecking no
extraArgs['masterDomain'] = data['masterDomain']
extraArgs['admin'] = admin
-
tempStatusPath = "/tmp/" + str(randint(1000, 9999))
writeToFile = open(tempStatusPath, 'a')
message = 'Cloning process has started..,5'