| Server IP : 213.136.93.164 / Your IP : 216.73.216.20 Web Server : Apache System : Linux m14200.contabo.net 5.14.0-611.54.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 6 18:03:03 EDT 2026 x86_64 User : ki692510 ( 1047) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clcagefslib/webisolation/ |
Upload File : |
# -*- coding: utf-8 -*-
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
"""
Triggers for website isolation.
"""
import os
import subprocess
import logging
def trigger_xray_ini_regeneration(user: str, domain: str):
"""
Call xray regeneration script if it exists.
This ensures xray.ini files are created in per-website directories
when website isolation is enabled.
"""
xray_regen_script = "/usr/share/alt-php-xray/cloudlinux-xray-regenerate-ini"
if not os.path.isfile(xray_regen_script):
# ok when xray is not installed
logging.debug("xray regeneration script not found: %s", xray_regen_script)
return
try:
subprocess.run(
[xray_regen_script, "--user", user, "--domain", domain],
capture_output=True,
timeout=30,
check=True,
)
except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as e:
logging.warning(f"Failed to regenerate xray ini for {user}: {e.stdout}")
def trigger_ssa_ini_regeneration(user: str):
"""
Call SSA regeneration script if it exists.
This ensures clos_ssa.ini files are created in per-website directories
when website isolation is enabled.
"""
ssa_regen_script = "/usr/share/clos_ssa/regenerate_clos_ssa_ini.py"
if not os.path.isfile(ssa_regen_script):
# ok when ssa is not installed
logging.debug("ssa regeneration script not found: %s", ssa_regen_script)
return
try:
subprocess.run(
[ssa_regen_script, f"--user={user}"],
capture_output=True,
timeout=30,
check=True
)
except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as e:
logging.warning(f"Failed to regenerate SSA ini for {user}: {e.stdout}")