2025-08-01 14:56:30 +05:00
|
|
|
#!/usr/local/CyberCP/bin/python
|
|
|
|
|
import os.path
|
|
|
|
|
import sys
|
|
|
|
|
import django
|
|
|
|
|
sys.path.append('/usr/local/CyberCP')
|
|
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
|
|
|
|
|
django.setup()
|
|
|
|
|
import argparse
|
|
|
|
|
from loginSystem.models import Administrator, ACL
|
|
|
|
|
from plogical import hashPassword
|
|
|
|
|
from plogical.acl import ACLManager
|
|
|
|
|
from packages.models import Package
|
|
|
|
|
from baseTemplate.models import version
|
|
|
|
|
|
|
|
|
|
VERSION = '2.4'
|
2025-09-01 13:11:42 +05:00
|
|
|
BUILD = 4
|
2025-08-01 14:56:30 +05:00
|
|
|
|
|
|
|
|
if not os.geteuid() == 0:
|
|
|
|
|
sys.exit("\nOnly root can run this script\n")
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser(description='Reset admin user password!')
|
|
|
|
|
parser.add_argument('--password', help='New Password')
|
|
|
|
|
parser.add_argument('--api', help='Enable/Disable API')
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
|
|
if args.api != None:
|
|
|
|
|
if args.api == '1':
|
|
|
|
|
admin = Administrator.objects.get(userName="admin")
|
|
|
|
|
admin.api = 1
|
|
|
|
|
admin.save()
|
|
|
|
|
print("API Enabled.")
|
|
|
|
|
else:
|
|
|
|
|
admin = Administrator.objects.get(userName="admin")
|
|
|
|
|
admin.api = 0
|
|
|
|
|
admin.save()
|
|
|
|
|
print("API Disabled.")
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
|
|
adminPass = args.password
|
|
|
|
|
|
|
|
|
|
numberOfAdministrator = Administrator.objects.count()
|
|
|
|
|
if numberOfAdministrator == 0:
|
|
|
|
|
|
|
|
|
|
ACLManager.createDefaultACLs()
|
|
|
|
|
acl = ACL.objects.get(name='admin')
|
|
|
|
|
token = hashPassword.generateToken('admin', adminPass)
|
|
|
|
|
|
2025-08-08 00:56:41 +05:00
|
|
|
email = 'admin@cyberpanel.net'
|
2025-08-01 14:56:30 +05:00
|
|
|
admin = Administrator(userName="admin", password=hashPassword.hash_password(adminPass), type=1, email=email,
|
|
|
|
|
firstName="Cyber", lastName="Panel", acl=acl, token=token)
|
|
|
|
|
admin.save()
|
|
|
|
|
|
|
|
|
|
vers = version(currentVersion=VERSION, build=BUILD)
|
|
|
|
|
vers.save()
|
|
|
|
|
|
|
|
|
|
package = Package(admin=admin, packageName="Default", diskSpace=1000,
|
|
|
|
|
bandwidth=1000, ftpAccounts=1000, dataBases=1000,
|
|
|
|
|
emailAccounts=1000, allowedDomains=20)
|
|
|
|
|
package.save()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print("Admin password successfully changed!")
|
|
|
|
|
return 1
|
|
|
|
|
|
|
|
|
|
token = hashPassword.generateToken('admin', adminPass)
|
|
|
|
|
admin = Administrator.objects.get(userName="admin")
|
|
|
|
|
admin.password = hashPassword.hash_password(adminPass)
|
|
|
|
|
admin.token = token
|
|
|
|
|
admin.save()
|
|
|
|
|
|
|
|
|
|
print("Admin password successfully changed!")
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
main()
|