Пример #1
0
def cyberPanelVersion(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['username']
            adminPass = data['password']


            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):

                Version = version.objects.get(pk=1)

                data_ret = {"getVersion": 1,
                            'error_message': "Could not authorize access to API",
                            'currentVersion':Version.currentVersion,
                            'build':Version.build}

                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {"getVersion": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {"getVersion": 0,
                    'error_message': "Could not authorize access to API"}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #2
0
def FetchRemoteTransferStatus(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            dir = "/home/backup/transfer-"+str(data['dir'])+"/backup_log"

            try:
                command = "sudo cat "+ dir
                status = subprocess.check_output(shlex.split(command))

                admin = Administrator.objects.get(userName=username)
                if hashPassword.check_password(admin.password, password):

                    final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": status})
                    return HttpResponse(final_json)
                else:
                    data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"}
                    json_data = json.dumps(data_ret)
                    return HttpResponse(json_data)
            except:
                final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": "Just started.."})
                return HttpResponse(final_json)



    except BaseException, msg:
        data = {'fetchStatus': 0,'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #3
0
def fetchSSHkey(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                pubKey = os.path.join("/root", ".ssh", 'cyberpanel.pub')
                execPath = "sudo cat " + pubKey
                data = subprocess.check_output(shlex.split(execPath))

                data_ret = {
                    'pubKeyStatus': 1,
                    'error_message': "None",
                    'pubKey': data
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {
                    'pubKeyStatus': 0,
                    'error_message': "Could not authorize access to API."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'pubKeyStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #4
0
def changeUserPassAPI(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            websiteOwner = data['websiteOwner']
            ownerPassword = data['ownerPassword']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "changeStatus": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            websiteOwn = Administrator.objects.get(userName=websiteOwner)
            websiteOwn.password = hashPassword.hash_password(ownerPassword)
            websiteOwn.save()

            data_ret = {'changeStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'changeStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #5
0
def deleteWebsite(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            data['websiteName'] = data['domainName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"websiteDeleteStatus": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            website = Websites.objects.get(domain=data['websiteName'])
            websiteOwner = website.admin

            if admin.websites_set.all().count() == 0:
                websiteOwner.delete()

            ## Deleting master domain

            wm = WebsiteManager()
            return wm.submitWebsiteDeletion(admin.pk, data)

    except BaseException, msg:
        data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #6
0
def submitWebsiteStatus(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if admin.api == 0:
                data_ret = {
                    "websiteStatus": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "websiteStatus": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            wm = WebsiteManager()
            return wm.submitWebsiteStatus(admin.pk, json.loads(request.body))

    except BaseException, msg:
        data_ret = {'websiteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #7
0
def verifyConn(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if admin.api == 0:
                data_ret = {
                    "verifyConn": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, adminPass):
                data_ret = {"verifyConn": 1}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {"verifyConn": 0}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'verifyConn': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #8
0
def FetchRemoteTransferStatus(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            dir = "/home/backup/transfer-"+str(data['dir'])+"/backup_log"

            try:
                command = "sudo cat "+ dir
                status = subprocess.check_output(shlex.split(command))

                admin = Administrator.objects.get(userName=username)
                if hashPassword.check_password(admin.password, password):

                    final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": status})
                    return HttpResponse(final_json)
                else:
                    data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"}
                    json_data = json.dumps(data_ret)
                    return HttpResponse(json_data)
            except:
                final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": "Just started.."})
                return HttpResponse(final_json)



    except BaseException, msg:
        data = {'fetchStatus': 0,'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #9
0
def FetchRemoteTransferStatus(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            dir = "/home/backup/transfer-" + str(data['dir']) + "/backup_log"

            statusFile = open(dir, 'r')
            status = statusFile.read()
            statusFile.close()

            admin = Administrator.objects.get(userName=username)
            if hashPassword.check_password(admin.password, password):

                final_json = json.dumps({
                    'fetchStatus': 1,
                    'error_message': "None",
                    "status": status
                })

                return HttpResponse(final_json)
            else:
                data_ret = {
                    'fetchStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'fetchStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #10
0
def fetchSSHkey(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                keyPath = "/root/.ssh"
                pubKey = keyPath + "/cyberpanel.pub"

                execPath = "sudo cat " + pubKey



                data = subprocess.check_output(shlex.split(execPath))


                data_ret = {'pubKeyStatus': 1, 'error_message': "None", "pubKey":data}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {'pubKeyStatus': 0, 'error_message': "Invalid Credentials"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)


    except BaseException, msg:
        data = {'pubKeyStatus': 0,'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #11
0
def remoteTransfer(request):
    try:
        if request.method == "POST":

            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if admin.api == 0:
                data_ret = {
                    "transferStatus": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            ipAddress = data['ipAddress']
            accountsToTransfer = data['accountsToTransfer']

            if hashPassword.check_password(admin.password, password):
                dir = str(randint(1000, 9999))

                ##

                mailUtilities.checkHome()
                path = "/home/cyberpanel/accounts-" + str(randint(1000, 9999))
                writeToFile = open(path, 'w')

                for items in accountsToTransfer:
                    writeToFile.writelines(items + "\n")
                writeToFile.close()

                ## Accounts to transfer is a path to file, containing accounts.

                execPath = "/usr/local/CyberCP/bin/python2 " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py"
                execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + path
                ProcessUtilities.popenExecutioner(execPath)

                return HttpResponse(
                    json.dumps({
                        "transferStatus": 1,
                        "dir": dir
                    }))

                ##
            else:
                data_ret = {
                    'transferStatus': 0,
                    'error_message': "Could not authorize access to API."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'transferStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #12
0
def fetchAccountsFromRemoteServer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if admin.api == 0:
                data_ret = {
                    "fetchStatus": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, password):

                records = Websites.objects.all()

                json_data = "["
                checker = 0

                for items in records:
                    dic = {
                        'website': items.domain,
                        'php': items.phpSelection,
                        'package': items.package.packageName,
                        'email': items.adminEmail,
                    }

                    if checker == 0:
                        json_data = json_data + json.dumps(dic)
                        checker = 1
                    else:
                        json_data = json_data + ',' + json.dumps(dic)

                json_data = json_data + ']'
                final_json = json.dumps({
                    'fetchStatus': 1,
                    'error_message': "None",
                    "data": json_data
                })

                return HttpResponse(final_json)
            else:
                data_ret = {
                    'fetchStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'fetchStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #13
0
def getUserInfo(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['adminUser']
            adminPass = data['adminPass']
            username = data['username']

            admin = Administrator.objects.get(userName=adminUser)

            if admin.api == 0:
                data_ret = {
                    "status": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "status": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            try:
                user = Administrator.objects.get(userName=username)
                data_ret = {
                    'status': 1,
                    'firstName': user.firstName,
                    'lastName': user.lastName,
                    'email': user.email,
                    'adminStatus': user.acl.adminStatus,
                    'error_message': "None"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            except:
                data_ret = {
                    'status': 0,
                    'error_message': "User does not exists."
                }
                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)
Пример #14
0
def cancelRemoteTransfer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if admin.api == 0:
                data_ret = {
                    "cancelStatus": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            dir = "/home/backup/transfer-" + str(data['dir'])

            if hashPassword.check_password(admin.password, password):

                path = dir + "/pid"

                command = "cat " + path
                pid = ProcessUtilities.outputExecutioner(command)

                command = "kill -KILL " + pid
                ProcessUtilities.executioner(command)

                command = "rm -rf " + dir
                ProcessUtilities.executioner(command)

                data = {'cancelStatus': 1, 'error_message': "None"}
                json_data = json.dumps(data)
                return HttpResponse(json_data)

            else:
                data_ret = {
                    'cancelStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'cancelStatus': 1, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #15
0
def fetchSSHkey(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):
                keyPath = "/home/cyberpanel/.ssh"

                if not os.path.exists(keyPath):
                    os.makedirs(keyPath)
                    command = "ssh-keygen -f " + keyPath + "/cyberpanel -t rsa -N ''"
                    cmd = shlex.split(command)
                    res = subprocess.call(cmd)
                else:
                    if not os.path.exists(keyPath + "/cyberpanel"):
                        command = "ssh-keygen -f " + keyPath + "/cyberpanel -t rsa -N ''"
                        cmd = shlex.split(command)
                        res = subprocess.call(cmd)

                pubKey = keyPath + "/cyberpanel.pub"

                f = open(pubKey)
                data = f.read()

                data_ret = {
                    'pubKeyStatus': 1,
                    'error_message': "None",
                    "pubKey": data
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {
                    'pubKeyStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'pubKeyStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #16
0
def cancelRemoteTransfer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            dir = "/home/backup/transfer-" + str(data['dir'])

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                if os.path.exists(dir):

                    path = dir + "/pid"

                    pid = open(path, "r").readlines()[0]

                    try:
                        os.kill(int(pid), signal.SIGKILL)
                    except BaseException, msg:
                        logging.CyberCPLogFileWriter.writeToFile(
                            str(msg) + " [cancelRemoteTransfer]")

                    rmtree(dir)

                    data = {'cancelStatus': 1, 'error_message': "None"}
                    json_data = json.dumps(data)
                    return HttpResponse(json_data)

                else:
                    data = {'cancelStatus': 1, 'error_message': "None"}
                    json_data = json.dumps(data)
                    return HttpResponse(json_data)
            else:
                data_ret = {
                    'cancelStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'cancelStatus': 1, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #17
0
def loginAPI(request):
    try:
        username = request.POST['username']
        password = request.POST['password']

        admin = Administrator.objects.get(userName=username)

        if hashPassword.check_password(admin.password, password):
            request.session['userID'] = admin.pk
            return redirect(renderBase)
        else:
            return HttpResponse("Invalid Credentials.")

    except BaseException, msg:
        data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #18
0
def changePackageAPI(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            websiteName = data['websiteName']
            packageName = data['packageName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if admin.api == 0:
                data_ret = {
                    "changePackage": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "changePackage": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            website = Websites.objects.get(domain=websiteName)
            pack = Package.objects.get(packageName=packageName)

            website.package = pack
            website.save()

            data_ret = {'changePackage': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'changePackage': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #19
0
def remoteTransfer(request):
    try:
        if request.method == "POST":

            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            ipAddress = data['ipAddress']
            accountsToTransfer = data['accountsToTransfer']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):
                dir = str(randint(1000, 9999))

                ##

                accountsToTransfer = ','.join(accountsToTransfer)

                execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py"

                execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + accountsToTransfer

                subprocess.Popen(shlex.split(execPath))

                return HttpResponse(
                    json.dumps({
                        "transferStatus": 1,
                        "dir": dir
                    }))

                ##
            else:
                data_ret = {
                    'transferStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'transferStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #20
0
def deleteWebsite(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['domainName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"websiteDeleteStatus": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            website = Websites.objects.get(domain=websiteName)
            websiteOwner = website.admin

            if admin.websites_set.all().count() == 0:
                websiteOwner.delete()

            ## Deleting master domain

            numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count())


            execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py"

            execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + websiteName + \
                       " --numberOfSites " + numberOfWebsites

            subprocess.check_output(shlex.split(execPath))

            data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #21
0
def cyberPanelVersion(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['username']
            adminPass = data['password']

            admin = Administrator.objects.get(userName=adminUser)

            if admin.api == 0:
                data_ret = {
                    "getVersion": 0,
                    'error_message': "API Access Disabled."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if hashPassword.check_password(admin.password, adminPass):

                Version = version.objects.get(pk=1)

                data_ret = {
                    "getVersion": 1,
                    'error_message': "none",
                    'currentVersion': Version.currentVersion,
                    'build': Version.build
                }

                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {
                    "getVersion": 0,
                    'error_message': "Could not authorize access to API."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {"getVersion": 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #22
0
def deleteWebsite(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['domainName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "websiteDeleteStatus": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            numberOfWebsites = Websites.objects.count()

            virtualHostUtilities.deleteVirtualHostConfigurations(
                websiteName, numberOfWebsites)

            delWebsite = Websites.objects.get(domain=websiteName)
            databases = Databases.objects.filter(website=delWebsite)

            for items in databases:
                mysqlUtilities.deleteDatabase(items.dbName, items.dbUser)

            delWebsite.delete()

            installUtilities.reStartLiteSpeed()

            data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #23
0
def cancelRemoteTransfer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            dir = "/home/backup/transfer-"+str(data['dir'])

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                if os.path.exists(dir):

                    path = dir+"/pid"

                    pid = open(path, "r").readlines()[0]

                    try:
                        os.kill(int(pid), signal.SIGKILL)
                    except BaseException, msg:
                        logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [cancelRemoteTransfer]")

                    rmtree(dir)

                    data = {'cancelStatus': 1, 'error_message': "None"}
                    json_data = json.dumps(data)
                    return HttpResponse(json_data)

                else:
                    data = {'cancelStatus': 1, 'error_message': "None"}
                    json_data = json.dumps(data)
                    return HttpResponse(json_data)
            else:
                data_ret = {'cancelStatus': 0, 'error_message': "Invalid Credentials"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)


    except BaseException, msg:
        data = {'cancelStatus': 1, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #24
0
def fetchAccountsFromRemoteServer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)
            if hashPassword.check_password(admin.password, password):

                records = Websites.objects.all()

                json_data = "["
                checker = 0

                for items in records:
                    dic = {
                           'website': items.domain,
                           'php': items.phpSelection,
                           'package': items.package.packageName,
                           'email': items.adminEmail,
                           }

                    if checker == 0:
                        json_data = json_data + json.dumps(dic)
                        checker = 1
                    else:
                        json_data = json_data + ',' + json.dumps(dic)

                json_data = json_data + ']'
                final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "data": json_data})

                return HttpResponse(final_json)
            else:
                data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'fetchStatus': 0,'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #25
0
def submitWebsiteStatus(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['websiteName']
            state = data['state']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "websiteStatus": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            website = Websites.objects.get(domain=websiteName)

            if state == "Suspend":
                virtualHostUtilities.suspendVirtualHost(websiteName)
                installUtilities.reStartLiteSpeed()
                website.state = 0
            else:
                virtualHostUtilities.UnsuspendVirtualHost(websiteName)
                installUtilities.reStartLiteSpeed()
                website.state = 1

            website.save()

            data_ret = {'websiteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #26
0
def remoteTransfer(request):
    try:
        if request.method == "POST":

            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            ipAddress = data['ipAddress']
            accountsToTransfer = data['accountsToTransfer']

            admin = Administrator.objects.get(userName=username)
            if hashPassword.check_password(admin.password, password):
                dir = str(randint(1000, 9999))

                transferRequest = rBackup.remoteBackup.remoteTransfer(
                    ipAddress, dir, accountsToTransfer)

                if transferRequest[0] == 1:
                    return HttpResponse(
                        json.dumps({
                            "transferStatus": 1,
                            "dir": dir
                        }))
                else:
                    data_ret = {
                        'transferStatus': 0,
                        'error_message': transferRequest[1]
                    }
                    json_data = json.dumps(data_ret)
                    return HttpResponse(json_data)
            else:
                data_ret = {
                    'transferStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'transferStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #27
0
def remoteTransfer(request):
    try:
        if request.method == "POST":

            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            ipAddress = data['ipAddress']
            accountsToTransfer = data['accountsToTransfer']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):
                dir = str(randint(1000, 9999))

                ##

                accountsToTransfer = ','.join(accountsToTransfer)

                execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py"

                execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + accountsToTransfer



                subprocess.Popen(shlex.split(execPath))

                return HttpResponse(json.dumps({"transferStatus": 1, "dir": dir}))

                ##
            else:
                data_ret = {'transferStatus': 0, 'error_message': "Invalid Credentials"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)




    except BaseException, msg:
        data = {'transferStatus': 0,'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #28
0
def loginAPI(request):
    try:
        if request.method == "POST":

            username = request.POST['username']
            password = request.POST['password']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):
                request.session['userID'] = admin.pk
                return redirect(renderBase)
            else:
                return HttpResponse("Invalid Credentials.")


    except BaseException, msg:
        data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #29
0
 def clean(self):
     cleaned_data = super().clean()
     user_id = cleaned_data.get('user_id')
     cur_password = cleaned_data.get('cur_password')
     password = cleaned_data.get('password')
     re_password = cleaned_data.get('re_password')
     try:
         account = Account.objects.get(pk=user_id)
         if not hashPassword.check_password(account.password, cur_password):
             self.add_error('cur_password',
                            'Current Password is not correct!')
         if password == cur_password:
             self.add_error(
                 'password',
                 'The new password matches the current password')
         if password != re_password:
             self.add_error('re_password',
                            'Confirm Password entered incorrectly!')
     except ObjectDoesNotExist:
         self.add_error('user_id', 'User is not exits!')
Пример #30
0
def deleteWebsite(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['domainName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"websiteDeleteStatus": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            numberOfWebsites = Websites.objects.count()

            virtualHostUtilities.deleteVirtualHostConfigurations(websiteName, numberOfWebsites)

            delWebsite = Websites.objects.get(domain=websiteName)
            databases = Databases.objects.filter(website=delWebsite)

            for items in databases:
                mysqlUtilities.deleteDatabase(items.dbName, items.dbUser)

            delWebsite.delete()

            installUtilities.reStartLiteSpeed()

            data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #31
0
def submitWebsiteStatus(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['websiteName']
            state = data['state']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"websiteStatus": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            website = Websites.objects.get(domain=websiteName)

            if state == "Suspend":
                virtualHostUtilities.suspendVirtualHost(websiteName)
                installUtilities.reStartLiteSpeed()
                website.state = 0
            else:
                virtualHostUtilities.UnsuspendVirtualHost(websiteName)
                installUtilities.reStartLiteSpeed()
                website.state = 1

            website.save()

            data_ret = {'websiteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #32
0
def changePackageAPI(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            websiteName = data['websiteName']
            packageName = data['packageName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"changePackage": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)


            website = Websites.objects.get(domain=websiteName)
            pack = Package.objects.get(packageName=packageName)

            website.package = pack
            website.save()



            data_ret = {'changePackage': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'changePackage': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #33
0
def cancelRemoteTransfer(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']
            dir = "/home/backup/transfer-"+str(data['dir'])

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                path = dir + "/pid"

                command = "sudo cat " + path
                pid = subprocess.check_output(shlex.split(command))

                command = "sudo kill -KILL " + pid
                subprocess.call(shlex.split(command))

                command = "sudo rm -rf " + dir
                subprocess.call(shlex.split(command))

                data = {'cancelStatus': 1, 'error_message': "None"}
                json_data = json.dumps(data)
                return HttpResponse(json_data)

            else:
                data_ret = {'cancelStatus': 0, 'error_message': "Invalid Credentials"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)


    except BaseException, msg:
        data = {'cancelStatus': 1, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #34
0
def changeUserPassAPI(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)


            websiteOwner = data['websiteOwner']
            ownerPassword = data['ownerPassword']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"changeStatus": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)


            websiteOwn = Administrator.objects.get(userName=websiteOwner)
            websiteOwn.password = hashPassword.hash_password(ownerPassword)
            websiteOwn.save()



            data_ret = {'changeStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'changeStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #35
0
def fetchSSHkey(request):
    try:
        if request.method == "POST":
            data = json.loads(request.body)
            username = data['username']
            password = data['password']

            admin = Administrator.objects.get(userName=username)

            if hashPassword.check_password(admin.password, password):

                keyPath = "/root/.ssh"
                pubKey = keyPath + "/cyberpanel.pub"

                execPath = "sudo cat " + pubKey

                data = subprocess.check_output(shlex.split(execPath))

                data_ret = {
                    'pubKeyStatus': 1,
                    'error_message': "None",
                    "pubKey": data
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {
                    'pubKeyStatus': 0,
                    'error_message': "Invalid Credentials"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data = {'pubKeyStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data)
        return HttpResponse(json_data)
Пример #36
0
def verifyConn(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)
            adminUser = data['adminUser']
            adminPass = data['adminPass']


            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                data_ret = {"verifyConn": 1}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {"verifyConn": 0}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'verifyConn': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #37
0
def createWebsite(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['adminUser']
            adminPass = data['adminPass']
            domain = data['domainName']
            adminEmail = data['ownerEmail']
            packageName = data['packageName']
            websiteOwner = data['websiteOwner']
            ownerPassword = data['ownerPassword']
            externalApp = "".join(re.findall("[a-zA-Z]+", domain))[:7]

            try:
                website = Websites.objects.get(domain=domain)
                data_ret = {
                    "existsStatus": 0,
                    'createWebSiteStatus': 0,
                    'error_message': "Website Already Exists"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            except:
                pass

            try:
                website = ChildDomains.objects.get(domain=domain)
                data_ret = {
                    "existsStatus": 0,
                    'createWebSiteStatus': 0,
                    'error_message': "Website Already Exists"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            except:
                pass

            phpSelection = "PHP 7.0"

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "existsStatus": 0,
                    'createWebSiteStatus': 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if adminEmail is None:
                adminEmail = "*****@*****.**"

            try:
                websiteOwn = Administrator(
                    userName=websiteOwner,
                    password=hashPassword.hash_password(ownerPassword),
                    email=adminEmail,
                    type=3,
                    owner=admin.pk,
                    initWebsitesLimit=1)
                websiteOwn.save()
            except BaseException, msg:
                pass

            ## Create Configurations

            numberOfWebsites = str(Websites.objects.count() +
                                   ChildDomains.objects.count())
            sslpath = "/home/" + domain + "/public_html"

            execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py"

            execPath = execPath + " createVirtualHost --virtualHostName " + domain + " --administratorEmail " + adminEmail + " --phpVersion '" + phpSelection + "' --virtualHostUser " + externalApp + " --numberOfSites " + numberOfWebsites + " --ssl " + str(
                '0') + " --sslPath " + sslpath

            output = subprocess.check_output(shlex.split(execPath))

            if output.find("1,None") > -1:
                pass
            else:
                data_ret = {
                    'createWebSiteStatus': 0,
                    'error_message': output,
                    "existsStatus": 0
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            ## Create Configurations ends here

            selectedPackage = Package.objects.get(packageName=packageName)

            websiteOwn = Administrator.objects.get(userName=websiteOwner)

            website = Websites(admin=websiteOwn,
                               package=selectedPackage,
                               domain=domain,
                               adminEmail=adminEmail,
                               phpSelection=phpSelection,
                               ssl=0,
                               externalApp=externalApp)

            website.save()

            data_ret = {
                'createWebSiteStatus': 1,
                'error_message': "None",
                "existsStatus": 0
            }
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {
            'createWebSiteStatus': 0,
            'error_message': str(msg),
            "existsStatus": 0
        }
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #38
0
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 = "******"
        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
                        request.COOKIES['django_language'] = user_Language
                        settings.LANGUAGE_CODE = user_Language
                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
                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)

        except BaseException,msg:
            data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
            json_data = json.dumps(data)
            return HttpResponse(json_data)
Пример #39
0
def deleteWebsite(request):
    try:
        if request.method == 'POST':
            data = json.loads(request.body)
            websiteName = data['domainName']
            adminUser = data['adminUser']
            adminPass = data['adminPass']

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "websiteDeleteStatus": 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            numberOfWebsites = str(Websites.objects.count() +
                                   ChildDomains.objects.count())

            ## Deleting master domain

            execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py"

            execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + websiteName + " --numberOfSites " + numberOfWebsites

            subprocess.check_output(shlex.split(execPath))

            delWebsite = Websites.objects.get(domain=websiteName)
            databases = Databases.objects.filter(website=delWebsite)

            childDomains = delWebsite.childdomains_set.all()

            ## Deleting child domains

            for items in childDomains:
                numberOfWebsites = str(Websites.objects.count() +
                                       ChildDomains.objects.count())
                execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py"
                execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + items.domain + " --numberOfSites " + numberOfWebsites

                subprocess.check_output(shlex.split(execPath))

            for items in databases:
                mysqlUtilities.deleteDatabase(items.dbName, items.dbUser)

            delWebsite.delete()

            try:
                delZone = Domains.objects.get(name=websiteName)
                delZone.delete()
            except:
                pass

            installUtilities.reStartLiteSpeed()

            data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #40
0
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 = "******"
        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
                        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
                        request.COOKIES['django_language'] = user_Language
                        settings.LANGUAGE_CODE = user_Language
                    elif data['languageSelection'] == "Spanish":
                        user_Language = "es"
                        request.session[LANGUAGE_SESSION_KEY] = user_Language
                        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
                        request.COOKIES['django_language'] = user_Language
                        settings.LANGUAGE_CODE = user_Language
                    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
                    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
                    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
                    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
                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

                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')

                request.session.set_expiry(3600)
                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)

        except BaseException, msg:
            data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
            json_data = json.dumps(data)
            return HttpResponse(json_data)
Пример #41
0
def putSSHkey(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['username']
            adminPass = data['password']
            pubKey = data['putSSHKey']


            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                keyPath = "/home/cyberpanel/.ssh"

                if not os.path.exists(keyPath):
                    os.makedirs(keyPath)


                ## writeKey

                authorized_keys = keyPath+"/authorized_keys"
                presenseCheck = 0
                try:
                    data = open(authorized_keys, "r").readlines()
                    for items in data:
                        if items.find(pubKey) > -1:
                            presenseCheck = 1
                except:
                    pass

                if presenseCheck == 0:
                    writeToFile = open(authorized_keys, 'a')
                    writeToFile.writelines("#Added by CyberPanel\n")
                    writeToFile.writelines("\n")
                    writeToFile.writelines(pubKey)
                    writeToFile.writelines("\n")
                    writeToFile.close()

                ##

                command = "sudo chmod g-w /home/cyberpanel"
                cmd = shlex.split(command)
                res = subprocess.call(cmd)

                os.chmod(keyPath,0700)
                os.chmod(authorized_keys, 0600)


                data_ret = {"putSSHKey": 1,
                            'error_message': "None",}

                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {"putSSHKey": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {"putSSHKey": 0,
                    'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #42
0
def putSSHkey(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['username']
            adminPass = data['password']
            pubKey = data['putSSHKey']


            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                keyPath = "/home/cyberpanel/.ssh"

                if not os.path.exists(keyPath):
                    os.makedirs(keyPath)


                ## writeKey

                authorized_keys = keyPath+"/authorized_keys"
                presenseCheck = 0
                try:
                    data = open(authorized_keys, "r").readlines()
                    for items in data:
                        if items.find(pubKey) > -1:
                            presenseCheck = 1
                except:
                    pass

                if presenseCheck == 0:
                    writeToFile = open(authorized_keys, 'a')
                    writeToFile.writelines("#Added by CyberPanel\n")
                    writeToFile.writelines("\n")
                    writeToFile.writelines(pubKey)
                    writeToFile.writelines("\n")
                    writeToFile.close()

                ##

                command = "sudo chmod g-w /home/cyberpanel"
                cmd = shlex.split(command)
                res = subprocess.call(cmd)

                os.chmod(keyPath,0700)
                os.chmod(authorized_keys, 0600)


                data_ret = {"putSSHKey": 1,
                            'error_message': "None",}

                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            else:
                data_ret = {"putSSHKey": 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

    except BaseException, msg:
        data_ret = {"putSSHKey": 0,
                    'error_message': str(msg)}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #43
0
def createWebsite(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['adminUser']
            adminPass = data['adminPass']
            domain = data['domainName']
            adminEmail = data['ownerEmail']
            packageName = data['packageName']
            websiteOwner = data['websiteOwner']
            ownerPassword = data['ownerPassword']


            try:
                website = Websites.objects.get(domain=domain)
                data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
                            'error_message': "Website Already Exists"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            except:
                pass

            phpSelection = "PHP 7.0"

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
                            'error_message': "Could not authorize access to API"}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if adminEmail is None:
                adminEmail = "*****@*****.**"

            try:
                websiteOwn = Administrator(userName=websiteOwner, password=hashPassword.hash_password(ownerPassword),
                                           email=adminEmail, type=3, owner=admin.pk,
                                           initWebsitesLimit=1)
                websiteOwn.save()
            except BaseException,msg:
                pass


            if virtualHostUtilities.checkIfVirtualHostExists(domain) == 1:
                data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0,
                            'error_message': "This domain already exists in Litespeed Configurations, first delete the domain to perform sweap."}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if virtualHostUtilities.createDirectoryForVirtualHost(domain, adminEmail, phpSelection) != 1:
                numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count()
                virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites)
                data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0,
                            'error_message': "Can not create configurations, see CyberCP main log file."}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if virtualHostUtilities.createConfigInMainVirtualHostFile(domain) != 1:
                numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count()
                virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites)
                data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0,
                            'error_message': "Can not create configurations, see CyberCP main log file."}
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            installUtilities.reStartLiteSpeed()

            selectedPackage = Package.objects.get(packageName=packageName)

            websiteOwn = Administrator.objects.get(userName=websiteOwner)

            website = Websites(admin=websiteOwn, package=selectedPackage, domain=domain, adminEmail=adminEmail,
                               phpSelection=phpSelection, ssl=0)

            website.save()

            shutil.copy("/usr/local/CyberCP/index.html", "/home/" + domain + "/public_html/index.html")

            data_ret = {'createWebSiteStatus': 1, 'error_message': "None", "existsStatus": 0}
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count()
        virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites)
        data_ret = {'createWebSiteStatus': 0, 'error_message': str(msg), "existsStatus": 0}
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)
Пример #44
0
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 = "******"
        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
                        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
                        request.COOKIES['django_language'] = user_Language
                        settings.LANGUAGE_CODE = user_Language
                    elif data['languageSelection'] == "Spanish":
                        user_Language = "es"
                        request.session[LANGUAGE_SESSION_KEY] = user_Language
                        request.COOKIES['django_language'] = user_Language
                        settings.LANGUAGE_CODE = user_Language
                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
                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)

        except BaseException, msg:
            data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)}
            json_data = json.dumps(data)
            return HttpResponse(json_data)
Пример #45
0
def createWebsite(request):
    try:
        if request.method == 'POST':

            data = json.loads(request.body)

            adminUser = data['adminUser']
            adminPass = data['adminPass']
            domain = data['domainName']
            adminEmail = data['ownerEmail']
            packageName = data['packageName']
            websiteOwner = data['websiteOwner']
            ownerPassword = data['ownerPassword']

            try:
                website = Websites.objects.get(domain=domain)
                data_ret = {
                    "existsStatus": 0,
                    'createWebSiteStatus': 0,
                    'error_message': "Website Already Exists"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)
            except:
                pass

            phpSelection = "PHP 7.0"

            admin = Administrator.objects.get(userName=adminUser)

            if hashPassword.check_password(admin.password, adminPass):
                pass
            else:
                data_ret = {
                    "existsStatus": 0,
                    'createWebSiteStatus': 0,
                    'error_message': "Could not authorize access to API"
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if adminEmail is None:
                adminEmail = "*****@*****.**"

            try:
                websiteOwn = Administrator(
                    userName=websiteOwner,
                    password=hashPassword.hash_password(ownerPassword),
                    email=adminEmail,
                    type=3,
                    owner=admin.pk,
                    initWebsitesLimit=1)
                websiteOwn.save()
            except BaseException, msg:
                pass

            if virtualHostUtilities.checkIfVirtualHostExists(domain) == 1:
                data_ret = {
                    "existsStatus":
                    1,
                    'createWebSiteStatus':
                    0,
                    'error_message':
                    "This domain already exists in Litespeed Configurations, first delete the domain to perform sweap."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if virtualHostUtilities.createDirectoryForVirtualHost(
                    domain, adminEmail, phpSelection) != 1:
                numberOfWebsites = Websites.objects.count(
                ) + ChildDomains.objects.count()
                virtualHostUtilities.deleteVirtualHostConfigurations(
                    domain, numberOfWebsites)
                data_ret = {
                    "existsStatus":
                    1,
                    'createWebSiteStatus':
                    0,
                    'error_message':
                    "Can not create configurations, see CyberCP main log file."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            if virtualHostUtilities.createConfigInMainVirtualHostFile(
                    domain) != 1:
                numberOfWebsites = Websites.objects.count(
                ) + ChildDomains.objects.count()
                virtualHostUtilities.deleteVirtualHostConfigurations(
                    domain, numberOfWebsites)
                data_ret = {
                    "existsStatus":
                    1,
                    'createWebSiteStatus':
                    0,
                    'error_message':
                    "Can not create configurations, see CyberCP main log file."
                }
                json_data = json.dumps(data_ret)
                return HttpResponse(json_data)

            installUtilities.reStartLiteSpeed()

            selectedPackage = Package.objects.get(packageName=packageName)

            websiteOwn = Administrator.objects.get(userName=websiteOwner)

            website = Websites(admin=websiteOwn,
                               package=selectedPackage,
                               domain=domain,
                               adminEmail=adminEmail,
                               phpSelection=phpSelection,
                               ssl=0)

            website.save()

            shutil.copy("/usr/local/CyberCP/index.html",
                        "/home/" + domain + "/public_html/index.html")

            data_ret = {
                'createWebSiteStatus': 1,
                'error_message': "None",
                "existsStatus": 0
            }
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except BaseException, msg:
        numberOfWebsites = Websites.objects.count(
        ) + ChildDomains.objects.count()
        virtualHostUtilities.deleteVirtualHostConfigurations(
            domain, numberOfWebsites)
        data_ret = {
            'createWebSiteStatus': 0,
            'error_message': str(msg),
            "existsStatus": 0
        }
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)