NineSec Team Shell
Server IP : 184.107.3.203  /  Your IP : 216.73.216.51
Web Server : Apache
System : Linux dedicated2.avenfashion.com.ph 4.18.0-553.40.1.el8_10.x86_64 #1 SMP Mon Feb 10 12:11:18 EST 2025 x86_64
User : adminteladeoro ( 1015)
PHP Version : 8.2.28
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/doctor.py
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

NineSec Team - 2022