Files
CyberPanel/WebTerminal/views.py

77 lines
2.3 KiB
Python
Raw Normal View History

2019-11-02 19:29:02 +05:00
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
2019-11-03 19:31:21 +05:00
from django.shortcuts import render, redirect, HttpResponse
2019-11-02 19:29:02 +05:00
from plogical.acl import ACLManager
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
from loginSystem.views import loadLoginPage
from random import randint
import os
from plogical.processUtilities import ProcessUtilities
2019-11-03 19:31:21 +05:00
from plogical.firewallUtilities import FirewallUtilities
from firewall.models import FirewallRules
import json
2019-11-02 19:29:02 +05:00
# Create your views here.
def terminal(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
verifyPath = "/home/cyberpanel/" + str(randint(100000, 999999))
writeToFile = open(verifyPath, 'w')
writeToFile.writelines('code')
writeToFile.close()
2019-11-03 19:31:21 +05:00
2019-11-02 19:29:02 +05:00
## setting up ssh server
path = '/etc/systemd/system/cpssh.service'
curPath = '/usr/local/CyberCP/WebTerminal/cpssh.service'
if not os.path.exists(path):
command = 'mv %s %s' % (curPath, path)
ProcessUtilities.executioner(command)
command = 'systemctl start cpssh'
ProcessUtilities.executioner(command)
2019-11-03 19:31:21 +05:00
FirewallUtilities.addRule('tcp', '5678', '0.0.0.0/0')
newFWRule = FirewallRules(name='terminal', proto='tcp', port='5678', ipAddress='0.0.0.0/0')
newFWRule.save()
2019-11-02 19:29:02 +05:00
return render(request, 'WebTerminal/WebTerminal.html', {'verifyPath': verifyPath})
except BaseException, msg:
logging.writeToFile(str(msg))
2019-11-03 19:31:21 +05:00
return redirect(loadLoginPage)
def restart(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadErrorJson()
command = 'systemctl restart cpssh'
ProcessUtilities.executioner(command)
data_ret = {'status': 1, 'error_message': 'None'}
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)