📁
SKYSHELL MANAGER
PHP v8.2.30
Create
Create
Path:
root
/
home
/
qooetu
/
costes.qooetu.com
/
Name
Size
Perm
Actions
📁
.well-known
-
0755
🗑️
🏷️
🔒
📁
2e19d9
-
0755
🗑️
🏷️
🔒
📁
6b114
-
0755
🗑️
🏷️
🔒
📁
Modules
-
0755
🗑️
🏷️
🔒
📁
app
-
0755
🗑️
🏷️
🔒
📁
assets
-
0755
🗑️
🏷️
🔒
📁
bootstrap
-
0755
🗑️
🏷️
🔒
📁
cgi-bin
-
0755
🗑️
🏷️
🔒
📁
config
-
0755
🗑️
🏷️
🔒
📁
css
-
0755
🗑️
🏷️
🔒
📁
database
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
nbproject
-
0755
🗑️
🏷️
🔒
📁
public
-
0755
🗑️
🏷️
🔒
📁
resources
-
0755
🗑️
🏷️
🔒
📁
routes
-
0755
🗑️
🏷️
🔒
📁
storage
-
0755
🗑️
🏷️
🔒
📁
tests
-
0755
🗑️
🏷️
🔒
📁
uploads
-
0755
🗑️
🏷️
🔒
📁
vendor
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.htaccess
0.23 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
COOKIE.txt
0.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
X7ROOT.txt
0.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
defaults.php
1.29 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
engine.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
error_log
813.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
features.php
11.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
googlecfb82e09419fc0f6.html
0.05 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php0
1.56 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inputs.php
0.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kurd.html
1.07 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
library.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
min.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
p.php
2.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
php.ini
0.04 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
product.php
1.78 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
qpmwztts.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.32 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
tovmbkwh.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tyyffovi.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
veoxv.html
1.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: ve_config.py
#!/usr/bin/python # coding=utf-8 # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import os from xml.dom import minidom as xml from xml.parsers.expat import ExpatError from lxml import etree from .ve_lock import CONFIG_DIR, acquire_lock # Path to ve.cfg VE_CFG_PATH = os.path.join(CONFIG_DIR, 've.cfg') VE_CFG_PATH_TMP = VE_CFG_PATH + '.tmp' # It's effectively a tuple of ve_cfg and it's lve_config PARSED_XML_CACHE = (None, None,) class BadVeConfigException(Exception): def __init__(self, message='Nothing'): super().__init__( f"Unable to parse /etc/container/ve.cfg file, message: {message}" ) def get_xml_config(use_cache=True): """ Load xml config from ve.cfg 1. setup lock on file 2. read info 3. remove lock :type use_cache: bool :rtype: tuple[xml.Document, xml.Element] :raises: BadVeConfigException, LockFailedException """ global PARSED_XML_CACHE if PARSED_XML_CACHE != (None, None,) and use_cache: # Cache will be updated in save_xml() return PARSED_XML_CACHE with acquire_lock(): try: _ve_cfg = xml.parse(VE_CFG_PATH) _ve_lveconfig = _ve_cfg.getElementsByTagName("lveconfig")[0] except (OSError, IOError, ExpatError, IndexError) as e: raise BadVeConfigException('bad ve.cfg file') from e if use_cache: PARSED_XML_CACHE = _ve_cfg, _ve_lveconfig return _ve_cfg, _ve_lveconfig def get_xml_config_etree(): # type: () -> etree.ElementBase """ This method works same as get_xml_config, but returns etree object :rtype: etree.ElementTree :raises: BadVeConfigException, LockFailedException """ with acquire_lock(): try: tree = etree.parse(VE_CFG_PATH) return tree.getroot() except etree.ParseError as e: raise BadVeConfigException(str(e)) from e def save_xml(xml_document): # Update cache on save because we sometimes do re-read right after save global PARSED_XML_CACHE _ve_lveconfig = xml_document.getElementsByTagName("lveconfig")[0] PARSED_XML_CACHE = (xml_document, _ve_lveconfig,) xml_string = xml_document.toprettyxml(encoding='utf-8', indent='', newl='') xml_string = xml_string.replace(b"\n", b'').replace(b"\t", b'') new_xml = xml.parseString(xml_string) buf = new_xml.toprettyxml(encoding='utf-8') if not buf: # paranoia mode) raise RuntimeError(f"Rejected attempt to write empty {VE_CFG_PATH}") with open(VE_CFG_PATH_TMP, 'wb') as f: f.write(buf) f.flush() os.fsync(f.fileno()) os.rename(VE_CFG_PATH_TMP, VE_CFG_PATH)
Save