HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/tmp/cyberpanel_settings_backup.py
"""
Django settings for CyberCP project.

Generated by 'django-admin startproject' using Django 1.11.3.

For more information on this file, see
https://docs.djangoproject.com/en/1.11/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.11/ref/settings/
"""

import os
from django.utils.translation import gettext_lazy as _

# Load environment variables from .env file
try:
    from dotenv import load_dotenv
    load_dotenv()
except ImportError:
    # dotenv not available, continue without it
    pass

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
# Resolve order: env var -> persistent key file -> generate once and persist.
# This removes the previously hard-coded (public) fallback key, which let anyone
# forge session/CSRF/password-reset tokens on installs that never set the env var.
SECRET_KEY = os.getenv('SECRET_KEY')
if not SECRET_KEY:
    _secret_key_path = os.getenv('CYBERPANEL_SECRET_KEY_FILE', '/usr/local/CyberCP/secret_key')
    try:
        with open(_secret_key_path) as _skf:
            SECRET_KEY = _skf.read().strip()
    except OSError:
        SECRET_KEY = ''

    if not SECRET_KEY:
        import secrets as _secrets
        SECRET_KEY = _secrets.token_urlsafe(50)
        try:
            _fd = os.open(_secret_key_path, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600)
            with os.fdopen(_fd, 'w') as _skf:
                _skf.write(SECRET_KEY)
        except FileExistsError:
            # Another worker created it first; reuse that key so all workers agree.
            try:
                with open(_secret_key_path) as _skf:
                    SECRET_KEY = _skf.read().strip() or SECRET_KEY
            except OSError:
                pass
        except OSError:
            # Could not persist (e.g. permissions); use the in-memory key for now.
            pass

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.getenv('DEBUG', 'False').lower() == 'true'

# Allow configuration via environment variable, with wildcard fallback for universal compatibility
ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS', '*').split(',')

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'baseTemplate',
    'firewall',
    'loginSystem',
    'packages',
    'websiteFunctions',
    'tuning',
    'serverStatus',
    'dns',
    'ftp',
    'userManagment',
    'databases',
    'mailServer',
    'serverLogs',
    'backup',
    'managePHP',
    'manageSSL',
    'api',
    'filemanager',
    'manageServices',
    'pluginHolder',
    'emailPremium',
    'emailMarketing',
    'cloudAPI',
    'highAvailability',
    's3Backups',
    'dockerManager',
    'containerization',
    'CLManager',
    'IncBackups',
    'aiScanner',
    'webmail',
    'emailDelivery',
    #    'WebTerminal'
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'CyberCP.secMiddleware.secMiddleware'
]

ROOT_URLCONF = 'CyberCP.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'baseTemplate.context_processors.version_context',
                'baseTemplate.context_processors.cosmetic_context',
            ],
        },
    },
]

WSGI_APPLICATION = 'CyberCP.wsgi.application'

# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'cyberpanel',
        'USER': 'cyberpanel',
        'PASSWORD': 'SLTUIUxqhulwsh',
        'HOST': 'localhost',
        'PORT':'3306'
    },
    'rootdb': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql',
        'USER': 'root',
        'PASSWORD': 'SLTUIUxqhulwsh',
        'HOST': 'localhost',
        'PORT': '3306',
    },
}
DATABASE_ROUTERS = ['backup.backupRouter.backupRouter']

# Password validation
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

# Internationalization
# https://docs.djangoproject.com/en/1.11/topics/i18n/

LANGUAGE_CODE = 'en'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

STATIC_URL = '/static/'

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)

LANGUAGES = (
    ('en', _('English')),
    ('cn', _('Chinese')),
    ('br', _('Bulgarian')),
    ('pt', _('Portuguese')),
    ('ja', _('Japanese')),
    ('bs', _('Bosnian')),
    ('gr', _('Greek')),
    ('ru', _('Russian')),
    ('tr', _('Turkish')),
    ('es', _('Spanish')),
    ('fr', _('French')),
    ('pl', _('Polish')),
    ('vi', _('Vietnamese')),
    ('it', _('Italian')),
    ('de', _('Deutsch')),
    ('id', _('Indonesian')),
    ('bn', _('Bangla')),
    ('nb', _('Norwegian Bokmål')),
)

MEDIA_URL = '/usr/local/CyberCP/tmp/'
MEDIA_ROOT = MEDIA_URL
DATA_UPLOAD_MAX_MEMORY_SIZE = 2147483648

# Security settings
X_FRAME_OPTIONS = 'SAMEORIGIN'