Events for Firewall and Bug fixes

This commit is contained in:
usmannasir
2018-10-12 18:18:10 +05:00
parent ec1406ec1f
commit 4bb20ceade
56 changed files with 4337 additions and 2606 deletions

View File

@@ -16,7 +16,7 @@ class secMiddleware:
pass
else:
continue
if key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT':
if key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT' or key == 'SecAuditLogRelevantStatus':
continue
if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1:
logging.writeToFile(request.body)

View File

@@ -3,10 +3,34 @@ from plogical.pluginManagerGlobal import pluginManagerGlobal
class pluginManager:
@staticmethod
def preBackupSite(request):
return pluginManagerGlobal.globalPlug(request, preBackupSite)
@staticmethod
def postBackupSite(request, response):
return pluginManagerGlobal.globalPlug(request, postBackupSite, response)
@staticmethod
def preRestoreSite(request):
return pluginManagerGlobal.globalPlug(request, preRestoreSite)
@staticmethod
def postRestoreSite(request, response):
return pluginManagerGlobal.globalPlug(request, postRestoreSite, response)
@staticmethod
def preSubmitBackupCreation(request):
return pluginManagerGlobal.globalPlug(request, preSubmitBackupCreation)
@staticmethod
def preBackupStatus(request):
return pluginManagerGlobal.globalPlug(request, preBackupStatus)
@staticmethod
def postBackupStatus(request, response):
return pluginManagerGlobal.globalPlug(request, postBackupStatus, response)
@staticmethod
def preDeleteBackup(request):
return pluginManagerGlobal.globalPlug(request, preDeleteBackup)
@@ -77,4 +101,4 @@ class pluginManager:
@staticmethod
def postDeleteBackup(request, response):
return pluginManagerGlobal.globalPlug(request, postRemoteBackupRestore, response)
return pluginManagerGlobal.globalPlug(request, postRemoteBackupRestore, response)

View File

@@ -2,9 +2,27 @@
from django.dispatch import Signal
## This event is fired before CyberPanel core load template for create backup page.
preBackupSite = Signal(providing_args=["request"])
## This event is fired after CyberPanel core load template for create backup page.
postBackupSite = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core load template for restore backup page.
preRestoreSite = Signal(providing_args=["request"])
## This event is fired after CyberPanel core load template for restore backup page.
postRestoreSite = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start creating backup of a website
preSubmitBackupCreation = Signal(providing_args=["request"])
## This event is fired before CyberPanel core starts to load status of backup started earlier througb submitBackupCreation
preBackupStatus = Signal(providing_args=["request"])
## This event is fired after CyberPanel core has loaded backup status
postBackupStatus = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start deletion of a backup
preDeleteBackup = Signal(providing_args=["request"])
@@ -54,4 +72,4 @@ postStarRemoteTransfer = Signal(providing_args=["request", "response"])
preRemoteBackupRestore = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished restoring remote backups in local server
postRemoteBackupRestore = Signal(providing_args=["request", "response"])
postRemoteBackupRestore = Signal(providing_args=["request", "response"])

View File

@@ -45,7 +45,7 @@ def submitDBCreation(request):
return result
dm = DatabaseManager()
coreResult = dm.submitDBCreation(userID, request.data)
coreResult = dm.submitDBCreation(userID, json.loads(request.body))
result = pluginManager.postSubmitDBCreation(request, coreResult)
if result != 200:

View File

@@ -3,6 +3,7 @@ import views
urlpatterns = [
url(r'^emailPolicyServer$', views.emailPolicyServer, name='emailPolicyServer'),
url(r'^listDomains$', views.listDomains, name='listDomains'),
url(r'^getFurtherDomains$', views.getFurtherDomains, name='getFurtherDomains'),
url(r'^enableDisableEmailLimits$', views.enableDisableEmailLimits, name='enableDisableEmailLimits'),
@@ -30,7 +31,6 @@ urlpatterns = [
url(r'^installStatusSpamAssassin$', views.installStatusSpamAssassin, name='installStatusSpamAssassin'),
url(r'^fetchSpamAssassinSettings$', views.fetchSpamAssassinSettings, name='fetchSpamAssassinSettings'),
url(r'^saveSpamAssassinConfigurations$', views.saveSpamAssassinConfigurations, name='saveSpamAssassinConfigurations'),
url(r'^emailPolicyServer$', views.emailPolicyServer, name='emailPolicyServer'),
url(r'^fetchPolicyServerStatus$', views.fetchPolicyServerStatus, name='fetchPolicyServerStatus'),
url(r'^savePolicyServerStatus$', views.savePolicyServerStatus, name='savePolicyServerStatus'),

View File

@@ -24,6 +24,114 @@ from plogical.acl import ACLManager
# Create your views here.
## Email Policy Server
def emailPolicyServer(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
return render(request, 'emailPremium/policyServer.html')
except KeyError:
return redirect(loadLoginPage)
def fetchPolicyServerStatus(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
if request.method == 'POST':
command = 'sudo cat /etc/postfix/main.cf'
output = subprocess.check_output(shlex.split(command)).split('\n')
installCheck = 0
for items in output:
if items.find('check_policy_service unix:/var/log/policyServerSocket') > -1:
installCheck = 1
break
data_ret = {'status': 1, 'error_message': 'None', 'installCheck' : installCheck}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except KeyError,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def savePolicyServerStatus(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
if request.method == 'POST':
data = json.loads(request.body)
policServerStatus = data['policServerStatus']
install = '0'
if policServerStatus == True:
install = "1"
## save configuration data
execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/mailUtilities.py"
execPath = execPath + " savePolicyServerStatus --install " + install
output = subprocess.check_output(shlex.split(execPath))
if output.find("1,None") > -1:
data_ret = {'status': 1, 'error_message': "None"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
data_ret = {'status': 0, 'error_message': output}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except KeyError,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
## Email Policy Server configs
def listDomains(request):
try:
userID = request.session['userID']
@@ -787,7 +895,13 @@ def fetchSpamAssassinSettings(request):
report_safe = 1
if items.find('rewrite_header ') > -1:
tempData = items.split(' ')
rewrite_header = tempData[1] + " " + tempData[2].strip('\n')
rewrite_header = ''
counter = 0
for headerData in tempData:
if counter == 0:
counter = counter + 1
continue
rewrite_header = rewrite_header + headerData.strip('\n') + ' '
continue
if items.find('required_score ') > -1:
required_score = items.split(' ')[1].strip('\n')
@@ -895,109 +1009,3 @@ def saveSpamAssassinConfigurations(request):
data_ret = {'saveStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
## Email Policy Server
def emailPolicyServer(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
return render(request, 'emailPremium/policyServer.html')
except KeyError:
return redirect(loadLoginPage)
def fetchPolicyServerStatus(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
if request.method == 'POST':
command = 'sudo cat /etc/postfix/main.cf'
output = subprocess.check_output(shlex.split(command)).split('\n')
installCheck = 0
for items in output:
if items.find('check_policy_service unix:/var/log/policyServerSocket') > -1:
installCheck = 1
break
data_ret = {'status': 1, 'error_message': 'None', 'installCheck' : installCheck}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except KeyError,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def savePolicyServerStatus(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
if request.method == 'POST':
data = json.loads(request.body)
policServerStatus = data['policServerStatus']
install = '0'
if policServerStatus == True:
install = "1"
## save configuration data
execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/mailUtilities.py"
execPath = execPath + " savePolicyServerStatus --install " + install
output = subprocess.check_output(shlex.split(execPath))
if output.find("1,None") > -1:
data_ret = {'status': 1, 'error_message': "None"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
data_ret = {'status': 0, 'error_message': output}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except KeyError,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)

View File

@@ -56,7 +56,7 @@ def changePermissions(request):
command = "sudo chown -R " + externalApp + ":" + externalApp +" /home/"+domainName
subprocess.call(shlex.split(command))
command = "sudo chown -R nobody:nobody /home/" + domainName+"/logs"
command = "sudo chown -R lscpd:lscpd /home/" + domainName+"/logs"
subprocess.call(shlex.split(command))
data_ret = {'permissionsChanged': 1, 'error_message': "None"}

1421
firewall/firewallManager.py Normal file

File diff suppressed because it is too large Load Diff

196
firewall/pluginManager.py Normal file
View File

@@ -0,0 +1,196 @@
from signals import *
from plogical.pluginManagerGlobal import pluginManagerGlobal
class pluginManager:
@staticmethod
def preFirewallHome(request):
return pluginManagerGlobal.globalPlug(request, preFirewallHome)
@staticmethod
def postFirewallHome(request, response):
return pluginManagerGlobal.globalPlug(request, postFirewallHome, response)
@staticmethod
def preAddRule(request):
return pluginManagerGlobal.globalPlug(request, preAddRule)
@staticmethod
def postAddRule(request, response):
return pluginManagerGlobal.globalPlug(request, postAddRule, response)
@staticmethod
def preDeleteRule(request):
return pluginManagerGlobal.globalPlug(request, preDeleteRule)
@staticmethod
def postDeleteRule(request, response):
return pluginManagerGlobal.globalPlug(request, postDeleteRule, response)
@staticmethod
def preReloadFirewall(request):
return pluginManagerGlobal.globalPlug(request, preReloadFirewall)
@staticmethod
def postReloadFirewall(request, response):
return pluginManagerGlobal.globalPlug(request, postReloadFirewall, response)
@staticmethod
def preStartFirewall(request):
return pluginManagerGlobal.globalPlug(request, preStartFirewall)
@staticmethod
def postStartFirewall(request, response):
return pluginManagerGlobal.globalPlug(request, postStartFirewall, response)
@staticmethod
def preStopFirewall(request):
return pluginManagerGlobal.globalPlug(request, preStopFirewall)
@staticmethod
def postStopFirewall(request, response):
return pluginManagerGlobal.globalPlug(request, postStopFirewall, response)
@staticmethod
def preFirewallStatus(request):
return pluginManagerGlobal.globalPlug(request, preFirewallStatus)
@staticmethod
def postFirewallStatus(request, response):
return pluginManagerGlobal.globalPlug(request, postFirewallStatus, response)
@staticmethod
def preSecureSSH(request):
return pluginManagerGlobal.globalPlug(request, preSecureSSH)
@staticmethod
def postSecureSSH(request, response):
return pluginManagerGlobal.globalPlug(request, postSecureSSH, response)
@staticmethod
def preSaveSSHConfigs(request):
return pluginManagerGlobal.globalPlug(request, preSaveSSHConfigs)
@staticmethod
def postSaveSSHConfigs(request, response):
return pluginManagerGlobal.globalPlug(request, postSaveSSHConfigs, response)
@staticmethod
def preDeleteSSHKey(request):
return pluginManagerGlobal.globalPlug(request, preDeleteSSHKey)
@staticmethod
def postDeleteSSHKey(request, response):
return pluginManagerGlobal.globalPlug(request, postDeleteSSHKey, response)
@staticmethod
def preAddSSHKey(request):
return pluginManagerGlobal.globalPlug(request, preAddSSHKey)
@staticmethod
def postAddSSHKey(request, response):
return pluginManagerGlobal.globalPlug(request, postAddSSHKey, response)
@staticmethod
def preLoadModSecurityHome(request):
return pluginManagerGlobal.globalPlug(request, preLoadModSecurityHome)
@staticmethod
def postLoadModSecurityHome(request, response):
return pluginManagerGlobal.globalPlug(request, postLoadModSecurityHome, response)
@staticmethod
def preSaveModSecConfigurations(request):
return pluginManagerGlobal.globalPlug(request, preSaveModSecConfigurations)
@staticmethod
def postSaveModSecConfigurations(request, response):
return pluginManagerGlobal.globalPlug(request, postSaveModSecConfigurations, response)
@staticmethod
def preModSecRules(request):
return pluginManagerGlobal.globalPlug(request, preModSecRules)
@staticmethod
def postModSecRules(request, response):
return pluginManagerGlobal.globalPlug(request, postModSecRules, response)
@staticmethod
def preSaveModSecRules(request):
return pluginManagerGlobal.globalPlug(request, preSaveModSecRules)
@staticmethod
def postSaveModSecRules(request, response):
return pluginManagerGlobal.globalPlug(request, postSaveModSecRules, response)
@staticmethod
def preModSecRulesPacks(request):
return pluginManagerGlobal.globalPlug(request, preModSecRulesPacks)
@staticmethod
def postModSecRulesPacks(request, response):
return pluginManagerGlobal.globalPlug(request, postModSecRulesPacks, response)
@staticmethod
def preGetOWASPAndComodoStatus(request):
return pluginManagerGlobal.globalPlug(request, preGetOWASPAndComodoStatus)
@staticmethod
def postGetOWASPAndComodoStatus(request, response):
return pluginManagerGlobal.globalPlug(request, postGetOWASPAndComodoStatus, response)
@staticmethod
def preInstallModSecRulesPack(request):
return pluginManagerGlobal.globalPlug(request, preInstallModSecRulesPack)
@staticmethod
def postInstallModSecRulesPack(request, response):
return pluginManagerGlobal.globalPlug(request, postInstallModSecRulesPack, response)
@staticmethod
def preGetRulesFiles(request):
return pluginManagerGlobal.globalPlug(request, preGetRulesFiles)
@staticmethod
def postGetRulesFiles(request, response):
return pluginManagerGlobal.globalPlug(request, postGetRulesFiles, response)
@staticmethod
def preEnableDisableRuleFile(request):
return pluginManagerGlobal.globalPlug(request, preEnableDisableRuleFile)
@staticmethod
def postEnableDisableRuleFile(request, response):
return pluginManagerGlobal.globalPlug(request, postEnableDisableRuleFile, response)
@staticmethod
def preCSF(request):
return pluginManagerGlobal.globalPlug(request, preCSF)
@staticmethod
def postCSF(request, response):
return pluginManagerGlobal.globalPlug(request, postCSF, response)
@staticmethod
def preChangeStatus(request):
return pluginManagerGlobal.globalPlug(request, preChangeStatus)
@staticmethod
def postChangeStatus(request, response):
return pluginManagerGlobal.globalPlug(request, postChangeStatus, response)
@staticmethod
def preModifyPorts(request):
return pluginManagerGlobal.globalPlug(request, preModifyPorts)
@staticmethod
def postModifyPorts(request, response):
return pluginManagerGlobal.globalPlug(request, postModifyPorts, response)
@staticmethod
def preModifyIPs(request):
return pluginManagerGlobal.globalPlug(request, preModifyIPs)
@staticmethod
def postModifyIPs(request, response):
return pluginManagerGlobal.globalPlug(request, postModifyIPs, response)

152
firewall/signals.py Normal file
View File

@@ -0,0 +1,152 @@
# The world is a prison for the believer.
## https://www.youtube.com/watch?v=DWfNYztUM1U
from django.dispatch import Signal
## This event is fired before CyberPanel core load Firewall home template.
preFirewallHome = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished loading Firewall home template.
postFirewallHome = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start adding a firewall rule.
preAddRule = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished adding a firewall rule.
postAddRule = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start deleting a firewall rule.
preDeleteRule = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished deleting a firewall rule.
postDeleteRule = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to reload firewalld.
preReloadFirewall = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished reloading firewalld.
postReloadFirewall = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start firewalld.
preStartFirewall = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished starting firewalld.
postStartFirewall = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core stop firewalld.
preStopFirewall = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished stopping firewalld.
postStopFirewall = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to fetch firewalld status.
preFirewallStatus = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished getting firewalld status.
postFirewallStatus = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start loading template for securing ssh page.
preSecureSSH = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished oading template for securing ssh page.
postSecureSSH = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start saving SSH configs.
preSaveSSHConfigs = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished saving saving SSH configs.
postSaveSSHConfigs = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start deletion of an SSH key.
preDeleteSSHKey = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished deletion of an SSH key.
postDeleteSSHKey = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start adding an ssh key.
preAddSSHKey = Signal(providing_args=["request"])
## This event is fired after CyberPanel core finished adding ssh key.
postAddSSHKey = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core load template for Mod Security Page.
preLoadModSecurityHome = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished loading template for Mod Security Page.
postLoadModSecurityHome = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start saving ModSecurity configurations.
preSaveModSecConfigurations = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is saving ModSecurity configurations.
postSaveModSecConfigurations = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to load Mod Sec Rules Template Page.
preModSecRules = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished loading Mod Sec Rules Template Page.
postModSecRules = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start saving custom Mod Sec rules.
preSaveModSecRules = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished saving custom Mod Sec rules.
postSaveModSecRules = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to load template for Mod Sec rules packs.
preModSecRulesPacks = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished loading template for Mod Sec rules packs.
postModSecRulesPacks = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core fetch status of Comodo or OWASP rules.
preGetOWASPAndComodoStatus = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished fetching status of Comodo or OWASP rules.
postGetOWASPAndComodoStatus = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start installing Comodo or OWASP rules.
preInstallModSecRulesPack = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished installing Comodo or OWASP rules.
postInstallModSecRulesPack = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core fetch available rules file for Comodo or OWASP.
preGetRulesFiles = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished fetching available rules file for Comodo or OWASP.
postGetRulesFiles = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to enable or disable a rule file.
preEnableDisableRuleFile = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished enabling or disabling a rule file.
postEnableDisableRuleFile = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to load template for CSF.
preCSF = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished loading template for CSF.
postCSF = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start to enable/disable CSF firewall.
preChangeStatus = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished enabling/disabling CSF firewall.
postChangeStatus = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start modifying CSF ports.
preModifyPorts = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished modifying CSF ports.
postModifyPorts = Signal(providing_args=["request", "response"])
## This event is fired before CyberPanel core start modifying IPs.
preModifyIPs = Signal(providing_args=["request"])
## This event is fired after CyberPanel core is finished modifying IPs.
postModifyIPs = Signal(providing_args=["request", "response"])

View File

@@ -1,14 +1,8 @@
from django.shortcuts import render,redirect
from django.http import HttpResponse
from django.shortcuts import redirect
import json
import shlex
import subprocess
from loginSystem.views import loadLoginPage
from plogical.virtualHostUtilities import virtualHostUtilities
from plogical.csf import CSF
import time
from plogical.acl import ACLManager
from plogical.firewallManager import FirewallManager
from firewallManager import FirewallManager
from pluginManager import pluginManager
# Create your views here.
@@ -23,8 +17,18 @@ def securityHome(request):
def firewallHome(request):
try:
userID = request.session['userID']
result = pluginManager.preFirewallHome(request)
if result != 200:
return result
fm = FirewallManager()
return fm.firewallHome(request, userID)
coreResult = fm.firewallHome(request, userID)
result = pluginManager.postFirewallHome(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
@@ -39,56 +43,134 @@ def getCurrentRules(request):
def addRule(request):
try:
userID = request.session['userID']
result = pluginManager.preAddRule(request)
if result != 200:
return result
fm = FirewallManager()
return fm.addRule(userID, json.loads(request.body))
coreResult = fm.addRule(userID, json.loads(request.body))
result = pluginManager.postAddRule(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def deleteRule(request):
try:
userID = request.session['userID']
result = pluginManager.preDeleteRule(request)
if result != 200:
return result
fm = FirewallManager()
return fm.deleteRule(userID, json.loads(request.body))
coreResult = fm.deleteRule(userID, json.loads(request.body))
result = pluginManager.postDeleteRule(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def reloadFirewall(request):
try:
userID = request.session['userID']
result = pluginManager.preReloadFirewall(request)
if result != 200:
return result
fm = FirewallManager()
return fm.reloadFirewall(userID)
coreResult = fm.reloadFirewall(userID)
result = pluginManager.postReloadFirewall(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def startFirewall(request):
try:
userID = request.session['userID']
result = pluginManager.preStartFirewall(request)
if result != 200:
return result
fm = FirewallManager()
return fm.startFirewall(userID)
coreResult = fm.startFirewall(userID)
result = pluginManager.postStartFirewall(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def stopFirewall(request):
try:
userID = request.session['userID']
result = pluginManager.preStopFirewall(request)
if result != 200:
return result
fm = FirewallManager()
return fm.stopFirewall(userID)
coreResult = fm.stopFirewall(userID)
result = pluginManager.postStopFirewall(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def firewallStatus(request):
try:
userID = request.session['userID']
result = pluginManager.preFirewallStatus(request)
if result != 200:
return result
fm = FirewallManager()
return fm.firewallStatus(userID)
coreResult = fm.firewallStatus(userID)
result = pluginManager.postFirewallStatus(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def secureSSH(request):
try:
userID = request.session['userID']
result = pluginManager.preSecureSSH(request)
if result != 200:
return result
fm = FirewallManager()
return fm.secureSSH(request, userID)
coreResult = fm.secureSSH(request, userID)
result = pluginManager.postSecureSSH(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
@@ -103,32 +185,75 @@ def getSSHConfigs(request):
def saveSSHConfigs(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveSSHConfigs(request)
if result != 200:
return result
fm = FirewallManager()
return fm.saveSSHConfigs(userID, json.loads(request.body))
coreResult = fm.saveSSHConfigs(userID, json.loads(request.body))
result = pluginManager.postSaveSSHConfigs(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def deleteSSHKey(request):
try:
userID = request.session['userID']
result = pluginManager.preDeleteSSHKey(request)
if result != 200:
return result
fm = FirewallManager()
return fm.deleteSSHKey(userID, json.loads(request.body))
coreResult = fm.deleteSSHKey(userID, json.loads(request.body))
result = pluginManager.postDeleteSSHKey(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def addSSHKey(request):
try:
userID = request.session['userID']
result = pluginManager.preAddSSHKey(request)
if result != 200:
return result
fm = FirewallManager()
return fm.addSSHKey(userID, json.loads(request.body))
coreResult = fm.addSSHKey(userID, json.loads(request.body))
result = pluginManager.postAddSSHKey(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def loadModSecurityHome(request):
try:
userID = request.session['userID']
result = pluginManager.preLoadModSecurityHome(request)
if result != 200:
return result
fm = FirewallManager()
return fm.loadModSecurityHome(request, userID)
coreResult = fm.loadModSecurityHome(request, userID)
result = pluginManager.postLoadModSecurityHome(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
@@ -159,16 +284,38 @@ def fetchModSecSettings(request):
def saveModSecConfigurations(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveModSecConfigurations(request)
if result != 200:
return result
fm = FirewallManager()
return fm.saveModSecConfigurations(userID, json.loads(request.body))
coreResult = fm.saveModSecConfigurations(userID, json.loads(request.body))
result = pluginManager.postSaveModSecConfigurations(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def modSecRules(request):
try:
userID = request.session['userID']
result = pluginManager.preModSecRules(request)
if result != 200:
return result
fm = FirewallManager()
return fm.modSecRules(request, userID)
coreResult = fm.modSecRules(request, userID)
result = pluginManager.postModSecRules(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
@@ -183,325 +330,221 @@ def fetchModSecRules(request):
def saveModSecRules(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveModSecRules(request)
if result != 200:
return result
fm = FirewallManager()
return fm.saveModSecRules(userID, json.loads(request.body))
coreResult = fm.saveModSecRules(userID, json.loads(request.body))
result = pluginManager.postSaveModSecRules(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def modSecRulesPacks(request):
try:
userID = request.session['userID']
result = pluginManager.preModSecRulesPacks(request)
if result != 200:
return result
fm = FirewallManager()
return fm.modSecRulesPacks(request, userID)
coreResult = fm.modSecRulesPacks(request, userID)
result = pluginManager.postModSecRulesPacks(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def getOWASPAndComodoStatus(request):
try:
userID = request.session['userID']
result = pluginManager.preGetOWASPAndComodoStatus(request)
if result != 200:
return result
fm = FirewallManager()
return fm.getOWASPAndComodoStatus(userID, json.loads(request.body))
coreResult = fm.getOWASPAndComodoStatus(userID, json.loads(request.body))
result = pluginManager.postGetOWASPAndComodoStatus(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def installModSecRulesPack(request):
try:
userID = request.session['userID']
result = pluginManager.preInstallModSecRulesPack(request)
if result != 200:
return result
fm = FirewallManager()
return fm.installModSecRulesPack(userID, json.loads(request.body))
coreResult = fm.installModSecRulesPack(userID, json.loads(request.body))
result = pluginManager.postInstallModSecRulesPack(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def getRulesFiles(request):
try:
userID = request.session['userID']
result = pluginManager.preGetRulesFiles(request)
if result != 200:
return result
fm = FirewallManager()
return fm.getRulesFiles(userID, json.loads(request.body))
coreResult = fm.getRulesFiles(userID, json.loads(request.body))
result = pluginManager.postGetRulesFiles(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def enableDisableRuleFile(request):
try:
userID = request.session['userID']
result = pluginManager.preEnableDisableRuleFile(request)
if result != 200:
return result
fm = FirewallManager()
return fm.enableDisableRuleFile(userID, json.loads(request.body))
coreResult = fm.enableDisableRuleFile(userID, json.loads(request.body))
result = pluginManager.postEnableDisableRuleFile(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def csf(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
result = pluginManager.preCSF(request)
if result != 200:
return result
csfInstalled = 1
fm = FirewallManager(request)
coreResult = fm.csf()
try:
command = 'sudo csf -h'
res = subprocess.call(shlex.split(command))
if res == 1:
csfInstalled = 0
except subprocess.CalledProcessError:
csfInstalled = 0
result = pluginManager.postCSF(request, coreResult)
if result != 200:
return result
return render(request,'firewall/csf.html', {'csfInstalled' : csfInstalled})
return coreResult
except KeyError:
return redirect(loadLoginPage)
def installCSF(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson('installStatus', 0)
try:
execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
execPath = execPath + " installCSF"
subprocess.Popen(shlex.split(execPath))
time.sleep(2)
data_ret = {"installStatus": 1}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'installStatus': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
fm = FirewallManager(request)
return fm.installCSF()
except KeyError:
final_dic = {'installStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def installStatusCSF(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
try:
if request.method == 'POST':
installStatus = unicode(open(CSF.installLogPath, "r").read())
if installStatus.find("[200]")>-1:
command = 'sudo rm -f ' + CSF.installLogPath
subprocess.call(shlex.split(command))
final_json = json.dumps({
'error_message': "None",
'requestStatus': installStatus,
'abort':1,
'installed': 1,
})
return HttpResponse(final_json)
elif installStatus.find("[404]") > -1:
command = 'sudo rm -f ' + CSF.installLogPath
subprocess.call(shlex.split(command))
final_json = json.dumps({
'abort':1,
'installed':0,
'error_message': "None",
'requestStatus': installStatus,
})
return HttpResponse(final_json)
else:
final_json = json.dumps({
'abort':0,
'error_message': "None",
'requestStatus': installStatus,
})
return HttpResponse(final_json)
except BaseException,msg:
final_dic = {'abort':1,'installed':0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
fm = FirewallManager(request)
return fm.installStatusCSF()
except KeyError:
final_dic = {'abort':1,'installed':0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def removeCSF(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson('installStatus', 0)
try:
execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
execPath = execPath + " removeCSF"
subprocess.Popen(shlex.split(execPath))
time.sleep(2)
data_ret = {"installStatus": 1}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'installStatus': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
fm = FirewallManager(request)
return fm.removeCSF()
except KeyError:
final_dic = {'installStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def fetchCSFSettings(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson('fetchStatus', 0)
try:
currentSettings = CSF.fetchCSFSettings()
data_ret = {"fetchStatus": 1, 'testingMode' : currentSettings['TESTING'],
'tcpIN' : currentSettings['tcpIN'],
'tcpOUT': currentSettings['tcpOUT'],
'udpIN': currentSettings['udpIN'],
'udpOUT': currentSettings['udpOUT'],
'firewallStatus': currentSettings['firewallStatus']
}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'fetchStatus': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
fm = FirewallManager(request)
return fm.fetchCSFSettings()
except KeyError:
final_dic = {'fetchStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def changeStatus(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
result = pluginManager.preChangeStatus(request)
if result != 200:
return result
data = json.loads(request.body)
fm = FirewallManager(request)
coreResult = fm.changeStatus()
controller = data['controller']
status = data['status']
result = pluginManager.postChangeStatus(request, coreResult)
if result != 200:
return result
execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
execPath = execPath + " changeStatus --controller " + controller + " --status " + status
output = subprocess.check_output(shlex.split(execPath))
if output.find("1,None") > -1:
data_ret = {"status": 1}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
data_ret = {'status': 0, 'error_message': output}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'status': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return coreResult
except KeyError:
final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def modifyPorts(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
result = pluginManager.preModifyPorts(request)
if result != 200:
return result
try:
data = json.loads(request.body)
fm = FirewallManager(request)
coreResult = fm.modifyPorts()
protocol = data['protocol']
ports = data['ports']
result = pluginManager.postModifyPorts(request, coreResult)
if result != 200:
return result
execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
execPath = execPath + " modifyPorts --protocol " + protocol + " --ports " + ports
output = subprocess.check_output(shlex.split(execPath))
if output.find("1,None") > -1:
data_ret = {"status": 1}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
data_ret = {'status': 0, 'error_message': output}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'status': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return coreResult
except KeyError:
final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)
def modifyIPs(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
try:
result = pluginManager.preModifyIPs(request)
if result != 200:
return result
data = json.loads(request.body)
fm = FirewallManager(request)
coreResult = fm.modifyIPs()
mode = data['mode']
ipAddress = data['ipAddress']
result = pluginManager.postModifyIPs(request, coreResult)
if result != 200:
return result
if mode == 'allowIP':
CSF.allowIP(ipAddress)
elif mode == 'blockIP':
CSF.blockIP(ipAddress)
data_ret = {"status": 1}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException,msg:
final_dic = {'status': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return coreResult
except KeyError:
final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
return redirect(loadLoginPage)

View File

@@ -687,7 +687,7 @@ class preFlightsChecks:
count = 0
while (1):
command = "wget http://cyberpanel.net/CyberPanelTemp.tar.gz"
command = "wget http://cyberpanel.net/CyberPanel.1.7.2.tar.gz"
#command = "wget http://cyberpanel.net/CyberPanelTemp.tar.gz"
res = subprocess.call(shlex.split(command))
@@ -707,7 +707,7 @@ class preFlightsChecks:
count = 0
while(1):
command = "tar zxf CyberPanelTemp.tar.gz"
command = "tar zxf CyberPanel.1.7.2.tar.gz"
#command = "tar zxf CyberPanelTemp.tar.gz"
res = subprocess.call(shlex.split(command))
@@ -1035,7 +1035,7 @@ class preFlightsChecks:
os.mkdir('/usr/local/lscp/cyberpanel/phpmyadmin/tmp')
command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/phpmyadmin'
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/phpmyadmin'
subprocess.call(shlex.split(command))
except OSError, msg:
@@ -1851,7 +1851,7 @@ class preFlightsChecks:
count = 0
while(1):
command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/'
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/'
cmd = shlex.split(command)
res = subprocess.call(cmd)
@@ -1963,7 +1963,7 @@ class preFlightsChecks:
while(1):
command = 'chown -R nobody:nobody .'
command = 'chown -R lscpd:lscpd .'
cmd = shlex.split(command)
res = subprocess.call(cmd)
@@ -3017,4 +3017,4 @@ def main():
if __name__ == "__main__":
main()
main()

View File

@@ -1043,29 +1043,7 @@ class InstallCyberPanel:
while(1):
command = 'tar zxf openlitespeed.tar.gz'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
InstallCyberPanel.stdOut("Trying to extract LSCPD, trying again, try number: " + str(count))
if count == 3:
logging.InstallLog.writeToFile("Failed to extract LSCPD, exiting installer! [installLSCPD]")
InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
os._exit(0)
else:
logging.InstallLog.writeToFile("LSCPD successfully extracted!")
InstallCyberPanel.stdOut("LSCPD successfully extracted!")
break
os.chdir("openlitespeed")
count = 0
while(1):
command = './configure --with-lscpd --prefix=/usr/local/lscp'
command = 'tar zxf lscp.tar.gz -C /usr/local/'
cmd = shlex.split(command)
res = subprocess.call(cmd)
@@ -1081,50 +1059,6 @@ class InstallCyberPanel:
InstallCyberPanel.stdOut("LSCPD successfully extracted!")
break
count = 0
while(1):
command = 'make'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
InstallCyberPanel.stdOut("Trying to compile LSCPD, trying again, try number: " + str(count))
if count == 3:
logging.InstallLog.writeToFile("Failed to compile LSCPD, exiting installer! [installLSCPD]")
InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
os._exit(0)
else:
logging.InstallLog.writeToFile("LSCPD successfully complied!")
InstallCyberPanel.stdOut("LSCPD successfully compiled!")
break
count = 0
while(1):
command = 'make install'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
InstallCyberPanel.stdOut("Trying to compile LSCPD, trying again, try number: " + str(count))
if count == 3:
logging.InstallLog.writeToFile("Failed to compile LSCPD, exiting installer! [installLSCPD]")
InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
os._exit(0)
else:
logging.InstallLog.writeToFile("LSCPD successfully complied!")
InstallCyberPanel.stdOut("LSCPD successfully compiled!")
break
count = 0
while(1):
@@ -1149,11 +1083,27 @@ class InstallCyberPanel:
except:
pass
command = 'adduser lscpd -M -d /usr/local/lscp'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'groupadd lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'usermod -a -G lscpd lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'usermod -a -G lsadm lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
os.mkdir('/usr/local/lscp/cyberpanel')
logging.InstallLog.writeToFile("LSCPD successfully installed!")
InstallCyberPanel.stdOut("LSCPD successfully installed!")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installLSCPD]")
return 0

BIN
install/lscp.tar.gz Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CyberPanel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2017-10-21 21:00+0200\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <info@reuhost.net>\n"
@@ -24,56 +24,62 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.1\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Engleski"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Kineski"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr ""
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr ""
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr ""
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr ""
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "English"
msgid "Polish"
msgstr "Engleski"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Ime datoteke"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1403,6 +1409,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "Upravljanje SSL-om"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Instalacija extenzija"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Instaliraj"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Upravljanje verzijama"
@@ -1592,6 +1617,7 @@ msgstr "Uključi"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Ime"
@@ -1675,6 +1701,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Tip"
@@ -2043,6 +2070,7 @@ msgstr "Upravljanje SSL-om"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr ""
@@ -3305,6 +3333,7 @@ msgid "Extension Name"
msgstr "Ime proširenja (extenzije)"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Opis"
@@ -3595,6 +3624,18 @@ msgstr "Detalji paketa su uspješno izvedeni"
msgid "Successfully Modified"
msgstr "Uspješno je izmijenjen"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Lista baza podataka - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Najnovija verzija"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Pristupni logovi - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CyberPanel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2017-10-29 19:32+0100\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
@@ -25,56 +25,62 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.4\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "英语"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "中文"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "保加利亚语"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "葡萄牙语"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "日语"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr "波斯尼亚语"
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "政策"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "文件名"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1371,6 +1377,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "管理SSL"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "安装扩展"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "安装"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "版本管理 - Cyberpanel"
@@ -1556,6 +1581,7 @@ msgstr "开启"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "名称"
@@ -1639,6 +1665,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "类型"
@@ -2001,6 +2028,7 @@ msgstr "管理SSL"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "无法查看网站, 错误信息:"
@@ -3251,6 +3279,7 @@ msgid "Extension Name"
msgstr "扩展名称"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "描述"
@@ -3534,6 +3563,18 @@ msgstr "套餐详情成功读取"
msgid "Successfully Modified"
msgstr "已成功修改"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "查看数据库 - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "最新版本"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "访问日志 - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2018-03-05 13:54+0000\n"
"Last-Translator: FFrancisco Galan <franciscorodriguezgalan@gmail.com>\n"
"Language-Team: \n"
@@ -24,56 +24,62 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Inglés"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Chino"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Bulgaro"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Portugués"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Japonés"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr ""
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "Politica"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Nombre del archivo"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1375,6 +1381,23 @@ msgstr ""
msgid "Manage FTP"
msgstr "Opciones SSL"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
msgid "Installed Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Instalar"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr ""
@@ -1560,6 +1583,7 @@ msgstr "Activar"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Nombre"
@@ -1643,6 +1667,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Tipo"
@@ -1998,6 +2023,7 @@ msgstr "Opciones SSL"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr ""
@@ -3232,6 +3258,7 @@ msgid "Extension Name"
msgstr ""
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Descripcion"
@@ -3509,6 +3536,16 @@ msgstr ""
msgid "Successfully Modified"
msgstr ""
#: pluginHolder/templates/pluginHolder/plugins.html:15
msgid "List of installed plugins on your CyberPanel."
msgstr ""
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "PHP version "
msgid "Version"
msgstr "Version PHP "
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr ""

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2018-07-30 15:35+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -25,56 +25,62 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.0.6\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Anglais"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Chinois"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Bulgare"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Portugais"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Japonais"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr "Bosniaque"
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr "Grec"
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr "Russe"
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr "Turc"
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr "Espanol"
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "Politique"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "Filename"
msgid "Vietnamese"
msgstr "Nom de fichier"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1335,6 +1341,25 @@ msgstr "Gérer Postfix"
msgid "Manage FTP"
msgstr "Gérer le FTP"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Installer des extensions"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Installer"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Gestion des versions - CyberPanel"
@@ -1522,6 +1547,7 @@ msgstr "Activer maintenant"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Nom"
@@ -1597,6 +1623,7 @@ msgid "Content"
msgstr "Contenu"
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Contenu"
@@ -1933,6 +1960,7 @@ msgstr "Gérer"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Impossible de lister les sites Web. Message d'erreur:"
@@ -3070,6 +3098,7 @@ msgid "Extension Name"
msgstr "Nom de l'extension"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr ""
@@ -3340,6 +3369,18 @@ msgstr "Détails du package récupérés avec succès"
msgid "Successfully Modified"
msgstr "Réussi avec succès"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Liste des bases de données - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Dernière version"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Accès aux journaux - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2018-01-04 22:12+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -24,56 +24,62 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.13\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Αγγλικά"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Κινέζικα"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Βουλγάρικα"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Πορτογαλικά"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Ιαπωνικά"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr ""
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "Πολιτική"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Όνομα Αρχείου"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1396,6 +1402,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "Διαχείριση SSL"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Εγκατάσταση Eπεκτάσεων"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Εγκατάσταση"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Διαχείριση έκδοσης - CyberPanel"
@@ -1590,6 +1615,7 @@ msgstr "Ενεργοποίηση"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Όνομα"
@@ -1673,6 +1699,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Μορφή"
@@ -2045,6 +2072,7 @@ msgstr "Διαχείριση SSL"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Δεν είναι δυνατή η λίστα ιστότοπων. Μήνυμα λάθους:"
@@ -3337,6 +3365,7 @@ msgid "Extension Name"
msgstr "Όνομα Επέκτασης"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Περιγραφή"
@@ -3636,6 +3665,18 @@ msgstr "Επιτυχής λήψη στοιχείων του πακέτου"
msgid "Successfully Modified"
msgstr "Τροποποιήθηκε με Επιτυχία"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Λίστα Βάσεων Δεδομένων - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Τελευταία έκδοση"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Αρχεία καταγραφής πρόσβασης - CyberPanel"

Binary file not shown.

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,54 +25,58 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr ""
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr ""
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr ""
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr ""
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr ""
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr ""
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
msgid "Polish"
msgstr ""
#: CyberCP/settings.py:183
msgid "Vietnamese"
msgstr ""
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1313,6 +1317,21 @@ msgstr ""
msgid "Manage FTP"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
msgid "Installed Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
msgid "Installed"
msgstr ""
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr ""
@@ -1496,6 +1515,7 @@ msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr ""
@@ -1571,6 +1591,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr ""
@@ -1897,6 +1918,7 @@ msgstr ""
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr ""
@@ -2995,6 +3017,7 @@ msgid "Extension Name"
msgstr ""
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr ""
@@ -3260,6 +3283,14 @@ msgstr ""
msgid "Successfully Modified"
msgstr ""
#: pluginHolder/templates/pluginHolder/plugins.html:15
msgid "List of installed plugins on your CyberPanel."
msgstr ""
#: pluginHolder/templates/pluginHolder/plugins.html:31
msgid "Version"
msgstr ""
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,54 +25,60 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Angielski"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Chiński"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Bułgarski"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Portugalski"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Japoński"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr "Bośniacki"
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr "Grecki"
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr "Rosyjski"
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr "Turecki"
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr "Hiszpański"
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr "Francuski"
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
msgid "Polish"
msgstr "Polski"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "Filename"
msgid "Vietnamese"
msgstr "Nazwa pliku"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1323,6 +1329,25 @@ msgstr "Zarządzaj Postfix"
msgid "Manage FTP"
msgstr "Zarządzaj FTP"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Zainstaluj rozszerzenia"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Zainstaluj"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Aktualizacje - CyberPanel"
@@ -1510,6 +1535,7 @@ msgstr "Włącz teraz"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Nazwa"
@@ -1585,6 +1611,7 @@ msgid "Content"
msgstr "Zawartość"
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Typ"
@@ -1918,6 +1945,7 @@ msgstr "Zarządzaj"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Nie można wyświetlać stron internetowych. Komunikat o błędzie:"
@@ -3034,6 +3062,7 @@ msgid "Extension Name"
msgstr "Nazwa rozszerzenia"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Opis"
@@ -3305,6 +3334,18 @@ msgstr "Detale pakietów zostały pomyślnie pobrane"
msgid "Successfully Modified"
msgstr "Pomyślnie zmodyfikowano"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Lista baz danych - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Najnowsza wersja"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Logi dostępu - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CyberPanel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2017-10-21 00:03+0100\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
@@ -24,56 +24,62 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.4\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Inglês"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Chinês"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr ""
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr ""
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr ""
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr ""
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "English"
msgid "Polish"
msgstr "Inglês"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Nome do Ficheiro"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1403,6 +1409,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "Gerir SSL"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Instalar Extensões"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Instalar"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Gestão de Versões - CyberPanel"
@@ -1594,6 +1619,7 @@ msgstr "Ativar"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Nome"
@@ -1677,6 +1703,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Tipo"
@@ -2047,6 +2074,7 @@ msgstr "Gerir SSL"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Impossível listar websites. Mensagem de erro:"
@@ -3316,6 +3344,7 @@ msgid "Extension Name"
msgstr "Nome da Extensão"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Descrição"
@@ -3606,6 +3635,18 @@ msgstr "Detalhes do Pacato Obtidos com Sucesso"
msgid "Successfully Modified"
msgstr "Alterado com Sucesso"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Listar Bases de Dos - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Última Versão"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Logs de Acesso - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CyberPanel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2017-11-12 17:56+0200\n"
"Last-Translator: aleks <alex.webcolor@gmail.com>\n"
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
@@ -26,56 +26,62 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "Английский"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Китайский"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Болгарский"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Португальский"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Японский"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr "Боснийский"
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr "Русский"
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "Политика"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Имя файла"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1377,6 +1383,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "Управление SSL"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Установка расширений"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Установить"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Управление версиями - CyberPanel"
@@ -1566,6 +1591,7 @@ msgstr "Включить"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "Имя"
@@ -1649,6 +1675,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Тип"
@@ -2020,6 +2047,7 @@ msgstr "Управление SSL"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Не удается перечислить веб-сайты. Сообщение об ошибке:"
@@ -3294,6 +3322,7 @@ msgid "Extension Name"
msgstr "Название Расширения"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Описание"
@@ -3583,6 +3612,18 @@ msgstr "Детали пакета успешно доставлены"
msgid "Successfully Modified"
msgstr "Успешно модифицировано"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Список баз данных - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Последняя версия"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Лог-журналы доступа - CyberPanel"

Binary file not shown.

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CyberPanel 1.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
"PO-Revision-Date: 2018-02-04 04:34+0300\n"
"Last-Translator: Burak BOZ\n"
"Language-Team: Burak BOZ <burakboz@icloud.com>\n"
@@ -25,56 +25,62 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.8.7.1\n"
#: CyberCP/settings.py:170
#: CyberCP/settings.py:171
msgid "English"
msgstr "İngilizce"
#: CyberCP/settings.py:171
#: CyberCP/settings.py:172
msgid "Chinese"
msgstr "Çince"
#: CyberCP/settings.py:172
#: CyberCP/settings.py:173
msgid "Bulgarian"
msgstr "Bulgar"
#: CyberCP/settings.py:173
#: CyberCP/settings.py:174
msgid "Portuguese"
msgstr "Portekizce"
#: CyberCP/settings.py:174
#: CyberCP/settings.py:175
msgid "Japanese"
msgstr "Japonca"
#: CyberCP/settings.py:175
#: CyberCP/settings.py:176
msgid "Bosnian"
msgstr "Boşnakça"
#: CyberCP/settings.py:176
#: CyberCP/settings.py:177
msgid "Greek"
msgstr ""
#: CyberCP/settings.py:177
#: CyberCP/settings.py:178
msgid "Russian"
msgstr ""
#: CyberCP/settings.py:178
#: CyberCP/settings.py:179
msgid "Turkish"
msgstr ""
#: CyberCP/settings.py:179
#: CyberCP/settings.py:180
msgid "Spanish"
msgstr ""
#: CyberCP/settings.py:180
#: CyberCP/settings.py:181
msgid "French"
msgstr ""
#: CyberCP/settings.py:181
#: CyberCP/settings.py:182
#, fuzzy
#| msgid "Policy"
msgid "Polish"
msgstr "Politika"
#: CyberCP/settings.py:183
#, fuzzy
#| msgid "File Name"
msgid "Vietnamese"
msgstr "Dosya Adı"
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
#: backup/templates/backup/backup.html:21
msgid "Back up Website"
@@ -1363,6 +1369,25 @@ msgstr ""
msgid "Manage FTP"
msgstr "SSL Yönetimi"
#: baseTemplate/templates/baseTemplate/index.html:579
#: baseTemplate/templates/baseTemplate/index.html:581
#: pluginHolder/templates/pluginHolder/plugins.html:14
#: pluginHolder/templates/pluginHolder/plugins.html:21
msgid "Plugins"
msgstr ""
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install Extensions"
msgid "Installed Plugins"
msgstr "Uzantıları Yükle"
#: baseTemplate/templates/baseTemplate/index.html:586
#, fuzzy
#| msgid "Install"
msgid "Installed"
msgstr "Kur"
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
msgid "Version Management - CyberPanel"
msgstr "Sürüm Yönetimi - CyberPanel"
@@ -1551,6 +1576,7 @@ msgstr "Etkinleştir"
#: dns/templates/dns/addDeleteDNSRecords.html:328
#: filemanager/templates/filemanager/index.html:212
#: firewall/templates/firewall/firewall.html:136
#: pluginHolder/templates/pluginHolder/plugins.html:28
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
msgid "Name"
msgstr "İsim"
@@ -1634,6 +1660,7 @@ msgid "Content"
msgstr ""
#: dns/templates/dns/addDeleteDNSRecords.html:327
#: pluginHolder/templates/pluginHolder/plugins.html:29
msgid "Type"
msgstr "Tür"
@@ -2002,6 +2029,7 @@ msgstr "SSL Yönetimi"
#: emailPremium/templates/emailPremium/emailLimits.html:172
#: emailPremium/templates/emailPremium/emailPage.html:179
#: emailPremium/templates/emailPremium/listDomains.html:73
#: pluginHolder/templates/pluginHolder/plugins.html:51
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
msgid "Cannot list websites. Error message:"
msgstr "Web siteleri listelenemiyor. Hata mesajı:"
@@ -3207,6 +3235,7 @@ msgid "Extension Name"
msgstr "Uzantı Adı"
#: managePHP/templates/managePHP/installExtensions.html:65
#: pluginHolder/templates/pluginHolder/plugins.html:30
msgid "Description"
msgstr "Açıklama"
@@ -3494,6 +3523,18 @@ msgstr "Paket Ayrıntıları Başarıyla Getirildi"
msgid "Successfully Modified"
msgstr "Başarıyla Değiştirildi"
#: pluginHolder/templates/pluginHolder/plugins.html:15
#, fuzzy
#| msgid "List Databases - CyberPanel"
msgid "List of installed plugins on your CyberPanel."
msgstr "Veritabanlarını Listele - CyberPanel"
#: pluginHolder/templates/pluginHolder/plugins.html:31
#, fuzzy
#| msgid "Latest Version"
msgid "Version"
msgstr "Son Sürüm"
#: serverLogs/templates/serverLogs/accessLogs.html:3
msgid "Access Logs - CyberPanel"
msgstr "Erişim Günlükleri - CyberPanel"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -158,7 +158,7 @@ def loadLoginPage(request):
firstName="Cyber",lastName="Panel", acl=acl)
admin.save()
vers = version(currentVersion="1.7",build=1)
vers = version(currentVersion="1.7",build=2)
vers.save()
package = Package(admin=admin, packageName="Default", diskSpace=1000,
@@ -214,4 +214,4 @@ def logout(request):
del request.session['userID']
return render(request, 'loginSystem/login.html', {})
except:
return render(request,'loginSystem/login.html',{})
return render(request,'loginSystem/login.html',{})

View File

@@ -386,18 +386,24 @@ class MailServerManager:
data = json.loads(self.request.body)
domainName = data['domainName']
path = "/etc/opendkim/keys/" + domainName + "/default.txt"
command = "sudo cat " + path
output = subprocess.check_output(shlex.split(command))
try:
path = "/etc/opendkim/keys/" + domainName + "/default.txt"
command = "sudo cat " + path
output = subprocess.check_output(shlex.split(command))
path = "/etc/opendkim/keys/" + domainName + "/default.private"
command = "sudo cat " + path
privateKey = subprocess.check_output(shlex.split(command))
path = "/etc/opendkim/keys/" + domainName + "/default.private"
command = "sudo cat " + path
privateKey = subprocess.check_output(shlex.split(command))
data_ret = {'fetchStatus': 1, 'keysAvailable': 1, 'publicKey': output[53:269],
'privateKey': privateKey, 'dkimSuccessMessage': 'Keys successfully fetched!',
'error_message': "None"}
json_data = json.dumps(data_ret)
data_ret = {'fetchStatus': 1, 'keysAvailable': 1, 'publicKey': output[53:269],
'privateKey': privateKey, 'dkimSuccessMessage': 'Keys successfully fetched!',
'error_message': "None"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException, msg:
data_ret = {'fetchStatus': 1, 'keysAvailable': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException, msg:

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

View File

@@ -198,4 +198,4 @@ class PackagesManager:
except BaseException, msg:
data_ret = {'saveStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
return HttpResponse(json_data)

View File

@@ -30,7 +30,6 @@ class CSF(multi.Thread):
def installCSF(self):
try:
##
command = 'wget ' + CSF.csfURL
@@ -106,6 +105,7 @@ class CSF(multi.Thread):
try:
##
os.chdir('/etc/csf')
command = './uninstall.sh'
@@ -116,6 +116,19 @@ class CSF(multi.Thread):
#
command = 'systemctl unmask firewalld'
subprocess.call(shlex.split(command))
#
command = 'systemctl start firewalld'
subprocess.call(shlex.split(command))
##
command = 'systemctl enable firewalld'
subprocess.call(shlex.split(command))
return 1
except BaseException, msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[removeCSF]")
@@ -291,4 +304,4 @@ def main():
CSF.modifyPorts(args.protocol, args.ports)
if __name__ == "__main__":
main()
main()

View File

@@ -208,7 +208,7 @@ class FTPUtilities:
command = "sudo chown -R nobody:cyberpanel " + directory
command = "sudo chown -R lscpd:cyberpanel " + directory
cmd = shlex.split(command)

View File

@@ -75,13 +75,13 @@ class mailUtilities:
if not os.path.exists(finalPath):
shutil.copy(path, finalPath)
command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/rainloop'
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/rainloop/data/_data_'
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/data/_data_'
cmd = shlex.split(command)
@@ -529,6 +529,9 @@ milter_default_action = accept
if not os.path.exists('/etc/systemd/system/cpecs.service'):
shutil.copy("/usr/local/CyberCP/postfixSenderPolicy/cpecs.service", "/etc/systemd/system/cpecs.service")
command = 'systemctl enable cpecs'
subprocess.call(shlex.split(command))
command = 'systemctl start cpecs'
subprocess.call(shlex.split(command))

View File

@@ -501,6 +501,9 @@ WantedBy=multi-user.target"""
Upgrade.stdOut("Settings file backed up.")
if os.path.exists('/usr/local/CyberCP/bin'):
shutil.rmtree('/usr/local/CyberCP/bin')
## Extract Latest files
count = 1
@@ -520,15 +523,24 @@ WantedBy=multi-user.target"""
break
## Copy settings file
data = open("/usr/local/settings.py", 'r').readlines()
pluginCheck = 1
for items in data:
if items.find('pluginHolder') > -1:
pluginCheck = 0
Upgrade.stdOut('Restoring settings file!')
data = open("/usr/local/settings.py", 'r').readlines()
writeToFile = open("/usr/local/CyberCP/CyberCP/settings.py", 'w')
for items in data:
if items.find("'filemanager',") > -1:
writeToFile.writelines(items)
if pluginCheck == 1:
writeToFile.writelines(" 'pluginHolder',\n")
if Version.currentVersion == '1.6':
writeToFile.writelines(" 'emailPremium',\n")
else:
@@ -573,6 +585,113 @@ WantedBy=multi-user.target"""
Upgrade.stdOut(str(msg) + " [installTLDExtract]")
return 0
@staticmethod
def installLSCPD():
try:
Upgrade.stdOut("Starting LSCPD installation..")
count = 0
while(1):
command = 'yum -y install gcc gcc-c++ make autoconf glibc rcs'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
Upgrade.stdOut("Trying to install LSCPD prerequisites, trying again, try number: " + str(count))
if count == 3:
Upgrade.stdOut("Failed to install LSCPD prerequisites.")
os._exit(0)
else:
Upgrade.stdOut("LSCPD prerequisites successfully installed!")
break
count = 0
while(1):
command = 'yum -y install pcre-devel openssl-devel expat-devel geoip-devel zlib-devel udns-devel which curl'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
Upgrade.stdOut("Trying to install LSCPD prerequisites, trying again, try number: " + str(count))
if count == 3:
Upgrade.stdOut("Failed to install LSCPD prerequisites.")
os._exit(0)
else:
Upgrade.stdOut("LSCPD prerequisites successfully installed!")
break
command = 'wget https://cyberpanel.net/lscp.tar.gz'
cmd = shlex.split(command)
subprocess.call(cmd)
count = 0
while(1):
command = 'tar zxf lscp.tar.gz -C /usr/local/'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
count = count + 1
Upgrade.stdOut("Trying to configure LSCPD, trying again, try number: " + str(count))
if count == 3:
Upgrade.stdOut("Failed to configure LSCPD, exiting installer! [installLSCPD]")
os._exit(0)
else:
Upgrade.stdOut("LSCPD successfully configured!")
break
try:
os.remove("/usr/local/lscp/fcgi-bin/lsphp")
shutil.copy("/usr/local/lsws/lsphp70/bin/lsphp","/usr/local/lscp/fcgi-bin/lsphp")
except:
pass
command = 'adduser lscpd -M -d /usr/local/lscp'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'groupadd lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'usermod -a -G lscpd lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'usermod -a -G lsadm lscpd'
cmd = shlex.split(command)
res = subprocess.call(cmd)
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel'
cmd = shlex.split(command)
subprocess.call(cmd)
command = 'systemctl daemon-reload'
cmd = shlex.split(command)
subprocess.call(cmd)
command = 'systemctl restart lscpd'
cmd = shlex.split(command)
subprocess.call(cmd)
Upgrade.stdOut("LSCPD successfully installed!")
Upgrade.stdOut("LSCPD successfully installed!")
except OSError, msg:
Upgrade.stdOut(str(msg) + " [installLSCPD]")
return 0
except ValueError, msg:
Upgrade.stdOut(str(msg) + " [installLSCPD]")
return 0
return 1
@staticmethod
def upgrade():
@@ -635,6 +754,7 @@ WantedBy=multi-user.target"""
Upgrade.upgradeOpenLiteSpeed()
Upgrade.setupCLI()
Upgrade.installLSCPD()
time.sleep(3)
## Upgrade version
@@ -651,4 +771,4 @@ WantedBy=multi-user.target"""
Upgrade.upgrade()
Upgrade.upgrade()

View File

@@ -80,7 +80,7 @@ class vhost:
try:
os.makedirs(pathLogs)
command = "chown " + "nobody" + ":" + "nobody" + " " + pathLogs
command = "chown " + "lscpd" + ":" + "lscpd" + " " + pathLogs
cmd = shlex.split(command)
subprocess.call(cmd, stdout=FNULL, stderr=subprocess.STDOUT)
@@ -424,7 +424,6 @@ rewrite {
writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'a')
writeDataToFile.writelines("\n")
writeDataToFile.writelines("virtualHost " + virtualHostName + " {\n")
writeDataToFile.writelines(" vhRoot /home/$VH_NAME\n")
writeDataToFile.writelines(" configFile $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf\n")
@@ -488,16 +487,16 @@ rewrite {
@staticmethod
def deleteCoreConf(virtualHostName, numberOfSites):
virtualHostPath = "/home/" + virtualHostName
if os.path.exists(virtualHostPath):
shutil.rmtree(virtualHostPath)
confPath = vhost.Server_root + "/conf/vhosts/" + virtualHostName
if os.path.exists(confPath):
shutil.rmtree(confPath)
try:
virtualHostPath = "/home/" + virtualHostName
if os.path.exists(virtualHostPath):
shutil.rmtree(virtualHostPath)
confPath = vhost.Server_root + "/conf/vhosts/" + virtualHostName
if os.path.exists(confPath):
shutil.rmtree(confPath)
data = open("/usr/local/lsws/conf/httpd_config.conf").readlines()
writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'w')
@@ -507,11 +506,9 @@ rewrite {
for items in data:
if numberOfSites == 1:
if (items.find(virtualHostName) > -1 and items.find(
" map " + virtualHostName) > -1):
if (items.find(' ' + virtualHostName) > -1 and items.find(" map " + virtualHostName) > -1):
continue
if (items.find(' ' + virtualHostName) > -1 and (
items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
if (items.find(' ' + virtualHostName) > -1 and (items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
check = 0
if items.find("listener") > -1 and items.find("SSL") > -1:
sslCheck = 0
@@ -521,11 +518,9 @@ rewrite {
check = 1
sslCheck = 1
else:
if (items.find(virtualHostName) > -1 and items.find(
" map " + virtualHostName) > -1):
if (items.find(' ' + virtualHostName) > -1 and items.find(" map " + virtualHostName) > -1):
continue
if (items.find(virtualHostName) > -1 and (
items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
if (items.find(' ' + virtualHostName) > -1 and (items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
check = 0
if (check == 1):
writeDataToFile.writelines(items)
@@ -708,6 +703,7 @@ rewrite {
writeToFile = open(confPath, 'w')
sslCheck = 0
for items in data:
if (items.find("listener SSL") > -1):
sslCheck = 1
@@ -989,4 +985,3 @@ rewrite {
logging.CyberCPLogFileWriter.writeToFile(
str(msg) + "223 [IO Error with main config file [createConfigInMainDomainHostFile]]")
return [0, "223 [IO Error with main config file [createConfigInMainDomainHostFile]]"]

View File

@@ -576,7 +576,7 @@ class virtualHostUtilities:
for items in data:
if items.find("listener") > -1 and items.find("Default") > -1:
listenerTrueCheck = 1
if items.find(masterDomain) > -1 and items.find('map') > -1 and listenerTrueCheck == 1:
if items.find(' ' + masterDomain) > -1 and items.find('map') > -1 and listenerTrueCheck == 1:
data = filter(None, items.split(" "))
if data[1] == masterDomain:
writeToFile.writelines(items.rstrip('\n') + ", " + aliasDomain + "\n")
@@ -1078,4 +1078,4 @@ def main():
virtualHostUtilities.deleteDomain(args.virtualHostName)
if __name__ == "__main__":
main()
main()

View File

@@ -18,7 +18,7 @@
<div class="panel">
<div class="panel-body">
<h3 class="title-hero">
{% trans "Websites" %}
{% trans "Plugins" %}
</h3>
<div ng-controller="listWebsites" class="example-box-wrapper">
@@ -80,4 +80,4 @@
{% endblock %}
{% endblock %}

View File

@@ -13,17 +13,18 @@ def installed(request):
pluginPath = '/home/cyberpanel/plugins'
pluginList = []
for plugin in os.listdir(pluginPath):
data = {}
completePath = '/usr/local/CyberCP/' + plugin + '/meta.xml'
pluginMetaData = ElementTree.parse(completePath)
if os.path.exists(pluginPath):
for plugin in os.listdir(pluginPath):
data = {}
completePath = '/usr/local/CyberCP/' + plugin + '/meta.xml'
pluginMetaData = ElementTree.parse(completePath)
data['name'] = pluginMetaData.find('name').text
data['type'] = pluginMetaData.find('type').text
data['desc'] = pluginMetaData.find('description').text
data['version'] = pluginMetaData.find('version').text
data['name'] = pluginMetaData.find('name').text
data['type'] = pluginMetaData.find('type').text
data['desc'] = pluginMetaData.find('description').text
data['version'] = pluginMetaData.find('version').text
pluginList.append(data)
pluginList.append(data)
return render(request, 'pluginHolder/plugins.html',{'plugins': pluginList})

View File

@@ -69,9 +69,7 @@ class HandleRequest(multi.Thread):
def manageRequest(self, completeData):
try:
completeData = completeData.split('\n')
for items in completeData:
tempData = items.split('=')
if tempData[0] == 'sasl_username':
@@ -81,6 +79,9 @@ class HandleRequest(multi.Thread):
emailAddress = tempData[1]
domainName = emailAddress.split('@')[1]
elif tempData[0] == 'recipient':
if len(tempData[1]) == 0:
self.connection.sendall('action=dunno\n\n')
return
destination = tempData[1]

View File

@@ -39,7 +39,6 @@ class SetupConn:
uid = pwd.getpwnam("postfix").pw_uid
gid = grp.getgrnam("postfix").gr_gid
os.chown(self.server_addr, uid, gid)
os.chmod(self.server_addr, 0755)
logging.writeToFile('CyberPanel Email Policy Server Successfully started!')

View File

@@ -35,7 +35,7 @@
</div>
<div class="serviceDetails">
<div class="serviceHeading">
<h5><b>LiteSpeed Ent</b></h5>
<h5><b>OpenLiteSpeed</b></h5>
<span class="help-block" ng-bind="olsStatus">Stopped</span>
</div>
<div class="serviceActionBtn">