opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
xray
➕ New
📤 Upload
✎ Editing:
shared_library.py
← Back
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserv # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ This module contains X-ray objects that we pass to other projects (such as SSA) for reuse """ import json from typing import Optional from xray.manager import initialize_manager from xray.internal.exceptions import XRayError, XRayMissingDomain from xray.internal.nginx_utils import NginxUserCache from xray.internal.utils import read_sys_id from xray.internal.types import DomainInfo try: xray_manager = initialize_manager(read_sys_id()) except XRayError as e: xray_manager = None # Passing an object to start autotracing start_autotracing = xray_manager.start_autotracing if xray_manager else None def tasks_list(): """Returns list of current tasks""" try: return json.loads(xray_manager.tasks_list())['data']['result'] except (json.JSONDecodeError, AttributeError, KeyError, XRayError): return list() def domain_info(domain_name: str) -> Optional[DomainInfo]: """ Passing an object to retrieve information about given domain from control panel environment """ try: return xray_manager.get_domain_info(domain_name) except (AttributeError, XRayMissingDomain): # if there is no such domain name among the existing ones return None
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel