2017-10-24 19:16:36 +05:00
|
|
|
# -*- coding: utf-8 -*-
|
2019-12-10 15:09:10 +05:00
|
|
|
|
2017-10-24 19:16:36 +05:00
|
|
|
|
2018-11-14 13:36:34 +05:00
|
|
|
from django.shortcuts import render
|
2017-10-24 19:16:36 +05:00
|
|
|
from django.http import HttpResponse
|
2019-12-11 10:40:35 +05:00
|
|
|
from .models import Administrator
|
2017-10-24 19:16:36 +05:00
|
|
|
from plogical import hashPassword
|
|
|
|
|
import json
|
|
|
|
|
from packages.models import Package
|
|
|
|
|
from firewall.models import FirewallRules
|
|
|
|
|
from baseTemplate.models import version
|
|
|
|
|
from plogical.getSystemInformation import SystemInformation
|
|
|
|
|
from django.utils.translation import LANGUAGE_SESSION_KEY
|
|
|
|
|
import CyberCP.settings as settings
|
2019-12-11 10:40:35 +05:00
|
|
|
from .models import ACL
|
2018-08-18 00:39:10 +05:00
|
|
|
from plogical.acl import ACLManager
|
2019-07-16 23:23:16 +05:00
|
|
|
from django.views.decorators.csrf import ensure_csrf_cookie
|
2019-07-24 22:37:37 +05:00
|
|
|
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
2017-10-24 19:16:36 +05:00
|
|
|
# Create your views here.
|
|
|
|
|
|
|
|
|
|
def verifyLogin(request):
|
|
|
|
|
try:
|
|
|
|
|
userID = request.session['userID']
|
|
|
|
|
data = {'userID' : userID, 'loginStatus': 1, 'error_message':"None"}
|
|
|
|
|
json_data = json.dumps(data)
|
|
|
|
|
return HttpResponse(json_data)
|
|
|
|
|
except KeyError:
|
|
|
|
|
username = "not logged in"
|
|
|
|
|
password = ""
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
if request.method == "POST":
|
|
|
|
|
data = json.loads(request.body)
|
|
|
|
|
|
|
|
|
|
username = data['username']
|
|
|
|
|
password = data['password']
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
if data['languageSelection'] == "English":
|
|
|
|
|
user_Language = "en"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Chinese":
|
|
|
|
|
user_Language = "cn"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Bulgarian":
|
|
|
|
|
user_Language = "br"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Portuguese":
|
|
|
|
|
user_Language = "pt"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Japanese":
|
|
|
|
|
user_Language = "ja"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Bosnian":
|
|
|
|
|
user_Language = "bs"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
2018-02-16 00:57:46 +05:00
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Greek":
|
|
|
|
|
user_Language = "gr"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Russian":
|
|
|
|
|
user_Language = "ru"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "Turkish":
|
|
|
|
|
user_Language = "tr"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
2017-10-24 19:16:36 +05:00
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2018-05-14 22:26:25 +05:00
|
|
|
elif data['languageSelection'] == "Spanish":
|
|
|
|
|
user_Language = "es"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
2018-07-30 04:40:39 +05:00
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
|
|
|
|
elif data['languageSelection'] == "French":
|
|
|
|
|
user_Language = "fr"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
2018-05-14 22:26:25 +05:00
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2018-08-28 01:19:34 +05:00
|
|
|
elif data['languageSelection'] == "Polish":
|
|
|
|
|
user_Language = "pl"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2018-09-28 14:23:02 +05:00
|
|
|
elif data['languageSelection'] == "Vietnamese":
|
|
|
|
|
user_Language = "vi"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2019-02-03 13:37:14 +05:00
|
|
|
elif data['languageSelection'] == "Italian":
|
|
|
|
|
user_Language = "it"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2019-10-27 18:08:10 +05:00
|
|
|
elif data['languageSelection'] == "German":
|
|
|
|
|
user_Language = "de"
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
|
|
|
|
request.COOKIES['django_language'] = user_Language
|
|
|
|
|
settings.LANGUAGE_CODE = user_Language
|
2017-10-24 19:16:36 +05:00
|
|
|
except:
|
|
|
|
|
request.session[LANGUAGE_SESSION_KEY] = "en"
|
|
|
|
|
request.COOKIES['django_language'] = "en"
|
|
|
|
|
settings.LANGUAGE_CODE = "en"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin = Administrator.objects.get(userName=username)
|
|
|
|
|
|
|
|
|
|
if hashPassword.check_password(admin.password, password):
|
|
|
|
|
|
|
|
|
|
request.session['userID'] = admin.pk
|
2019-07-24 22:37:37 +05:00
|
|
|
|
|
|
|
|
ipAddr = request.META.get('REMOTE_ADDR')
|
|
|
|
|
|
|
|
|
|
if ipAddr.find(':') > -1:
|
|
|
|
|
ipAddr = ipAddr.split(':')[:3]
|
|
|
|
|
request.session['ipAddr'] = ''.join(ipAddr)
|
|
|
|
|
else:
|
|
|
|
|
request.session['ipAddr'] = request.META.get('REMOTE_ADDR')
|
|
|
|
|
|
2019-07-16 23:23:16 +05:00
|
|
|
request.session.set_expiry(3600)
|
2017-10-24 19:16:36 +05:00
|
|
|
data = {'userID': admin.pk, 'loginStatus': 1, 'error_message': "None"}
|
|
|
|
|
json_data = json.dumps(data)
|
|
|
|
|
return HttpResponse(json_data)
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
data = {'userID': 0, 'loginStatus': 0, 'error_message': "wrong-password"}
|
|
|
|
|
json_data = json.dumps(data)
|
|
|
|
|
return HttpResponse(json_data)
|
|
|
|
|
|
2019-12-10 15:09:10 +05:00
|
|
|
except BaseException as msg:
|
2017-10-24 19:16:36 +05:00
|
|
|
data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
|
|
|
|
|
json_data = json.dumps(data)
|
|
|
|
|
return HttpResponse(json_data)
|
|
|
|
|
|
2019-07-16 23:23:16 +05:00
|
|
|
@ensure_csrf_cookie
|
2017-10-24 19:16:36 +05:00
|
|
|
def loadLoginPage(request):
|
|
|
|
|
try:
|
|
|
|
|
userID = request.session['userID']
|
2018-08-18 00:39:10 +05:00
|
|
|
currentACL = ACLManager.loadedACL(userID)
|
2017-10-24 19:16:36 +05:00
|
|
|
|
|
|
|
|
cpuRamDisk = SystemInformation.cpuRamDisk()
|
|
|
|
|
|
2018-08-18 00:39:10 +05:00
|
|
|
if currentACL['admin'] == 1:
|
|
|
|
|
admin = 1
|
|
|
|
|
else:
|
|
|
|
|
admin = 0
|
|
|
|
|
|
|
|
|
|
finaData = {"admin": admin, 'ramUsage': cpuRamDisk['ramUsage'], 'cpuUsage': cpuRamDisk['cpuUsage'],
|
2017-10-24 19:16:36 +05:00
|
|
|
'diskUsage': cpuRamDisk['diskUsage']}
|
|
|
|
|
|
|
|
|
|
return render(request, 'baseTemplate/homePage.html', finaData)
|
|
|
|
|
except KeyError:
|
|
|
|
|
|
|
|
|
|
numberOfAdministrator = Administrator.objects.count()
|
|
|
|
|
password = hashPassword.hash_password('1234567')
|
2019-03-30 14:21:52 +05:00
|
|
|
noOfRules = FirewallRules.objects.count()
|
2017-10-24 19:16:36 +05:00
|
|
|
|
2019-03-30 14:21:52 +05:00
|
|
|
if noOfRules == 0:
|
2017-10-24 19:16:36 +05:00
|
|
|
newFWRule = FirewallRules(name="panel", proto="tcp", port="8090")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="http", proto="tcp", port="80")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="https", proto="tcp", port="443")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="ftp", proto="tcp", port="21")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
2019-03-26 16:19:03 +05:00
|
|
|
newFWRule = FirewallRules(name="smtp", proto="tcp", port="25")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="smtps", proto="tcp", port="587")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="ssmtp", proto="tcp", port="465")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="pop3", proto="tcp", port="110")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="imap", proto="tcp", port="143")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="simap", proto="tcp", port="993")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="dns", proto="udp", port="53")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
|
|
|
|
newFWRule = FirewallRules(name="dnstcp", proto="tcp", port="53")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
2017-12-09 22:30:10 +05:00
|
|
|
newFWRule = FirewallRules(name="ftptls", proto="tcp", port="40110-40210")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
2019-07-24 22:37:37 +05:00
|
|
|
newFWRule = FirewallRules(name="quic", proto="udp", port="443")
|
|
|
|
|
newFWRule.save()
|
|
|
|
|
|
2019-03-30 14:21:52 +05:00
|
|
|
if numberOfAdministrator == 0:
|
|
|
|
|
ACLManager.createDefaultACLs()
|
|
|
|
|
acl = ACL.objects.get(name='admin')
|
|
|
|
|
|
|
|
|
|
token = hashPassword.generateToken('admin', '1234567')
|
|
|
|
|
|
|
|
|
|
email = 'usman@cyberpersons.com'
|
|
|
|
|
admin = Administrator(userName="admin", password=password, type=1,email=email,
|
|
|
|
|
firstName="Cyber",lastName="Panel", acl=acl, token=token)
|
|
|
|
|
admin.save()
|
|
|
|
|
|
2020-01-03 16:24:28 +05:00
|
|
|
vers = version(currentVersion="1.9", build=3)
|
2019-03-30 14:21:52 +05:00
|
|
|
vers.save()
|
|
|
|
|
|
|
|
|
|
package = Package(admin=admin, packageName="Default", diskSpace=1000,
|
|
|
|
|
bandwidth=1000, ftpAccounts=1000, dataBases=1000,
|
|
|
|
|
emailAccounts=1000,allowedDomains=20)
|
|
|
|
|
package.save()
|
2017-10-24 19:16:36 +05:00
|
|
|
return render(request, 'loginSystem/login.html', {})
|
|
|
|
|
else:
|
|
|
|
|
return render(request, 'loginSystem/login.html', {})
|
|
|
|
|
|
2019-07-16 23:23:16 +05:00
|
|
|
@ensure_csrf_cookie
|
2017-10-24 19:16:36 +05:00
|
|
|
def logout(request):
|
|
|
|
|
try:
|
|
|
|
|
del request.session['userID']
|
|
|
|
|
return render(request, 'loginSystem/login.html', {})
|
|
|
|
|
except:
|
2018-10-12 18:18:10 +05:00
|
|
|
return render(request,'loginSystem/login.html',{})
|