PATH:
opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
defence360agent
/
utils
from pathlib import Path from defence360agent.subsys.persistent_state import save_state from defence360agent.utils import CheckRunError, check_run from defence360agent.contracts.config import Packaging DOCTOR_CMD = ( "bash <(wget -qq -O - " "https://repo.imunify360.cloudlinux.com/defence360/imunify-doctor.sh)" ) async def _package_get_doctor_key(): dir_ = Packaging.DATADIR if not Path(dir_).is_dir(): dir_ = "/opt/imunify360/venv/share/imunify360" out = await check_run([Path(dir_, "scripts", "imunify-doctor.sh")]) key = out.decode().strip() return key async def _repo_get_doctor_key(): out = await check_run(DOCTOR_CMD, shell=True) key = out.decode().strip() if not key: raise ValueError("Doctor key is empty") return key async def get_doctor_key(): try: key = await _repo_get_doctor_key() except (CheckRunError, ValueError): key = await _package_get_doctor_key() save_state("doctor_key", {"doctor_key": key}) return key
[-] sshutil.py
[edit]
[+]
..
[-] config.py
[edit]
[-] importer.py
[edit]
[-] safe_fileops.py
[edit]
[-] doctor.py
[edit]
[-] async_utils.py
[edit]
[-] validate.py
[edit]
[-] _shutil.py
[edit]
[-] antivirus_mode.py
[edit]
[-] support.py
[edit]
[-] cronjob.py
[edit]
[-] parsers.py
[edit]
[-] serialization.py
[edit]
[-] common.py
[edit]
[-] benchmark.py
[edit]
[+]
__pycache__
[-] threads.py
[edit]
[-] subprocess.py
[edit]
[-] ipecho.py
[edit]
[-] check_lock.py
[edit]
[-] wordpress_mu_plugin.py
[edit]
[-] cli.py
[edit]
[-] __init__.py
[edit]
[-] resource_limits.py
[edit]
[-] json.py
[edit]
[-] check_db.py
[edit]
[-] hyperscan.py
[edit]
[-] kwconfig.py
[edit]
[-] safe_sequence.py
[edit]
[-] whmcs.py
[edit]
[-] buffer.py
[edit]