REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 2.00 KB
Close
//opt/imunify360/venv/share/imunify360/scripts/migrate_csf/main.py
Text
Base64
#!/opt/imunify360/venv/bin/python import argparse import pathlib import subprocess import sys import logging from country import migrate_country_codes from smtp import migrate_smtp from ips import migrate_ips from logger_config import setup_logger, capture_exception def is_csf_running() -> bool: csf_app = "/usr/sbin/csf" if not pathlib.Path(csf_app).exists(): return False return ( subprocess.run( [csf_app, "--status"], capture_output=True, text=True ).returncode == 0 ) def csf_conf_exists() -> bool: return pathlib.Path("/etc/csf/csf.conf").exists() def should_migrate(logger: logging.Logger) -> bool: if not csf_conf_exists(): logger.error( "CSF configuration file does not exist, skipping migration" ) return False return True def parse_args(): """Parse command line arguments.""" parser = argparse.ArgumentParser( description="Migrate CSF configuration to Imunify360" ) parser.add_argument( "--debug", action="store_true", help="Enable debug logging output" ) return parser.parse_args() if __name__ == "__main__": args = parse_args() # Setup logger with debug flag (also initializes Sentry) logger = setup_logger(debug_enabled=args.debug) if not should_migrate(logger): sys.exit(1) try: logger.info("Starting CSF to Imunify migration") migrate_country_codes() migrate_smtp() migrate_ips() logger.info("CSF to Imunify migration done") if is_csf_running(): logger.warning(""" ################################################### CSF is running, please stop it by running: csf -x systemctl disable csf systemctl disable lfd ###################################################""") except Exception as e: logger.error(f"Fatal error during migration: {e}") capture_exception( e, {"migration_phase": "main", "script": "migrate_csf"} ) sys.exit(1)
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
country.py
4.05 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
csf_conf.py
1.34 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ips.py
24.55 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
logger_config.py
7.05 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
main.py
2.00 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
smtp.py
2.51 KB
lrwxr-xr-x
2026-05-26 21:25:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).