opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
defence360agent
/
utils
➕ New
📤 Upload
✎ Editing:
doctor.py
← Back
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
💾 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