31 lines
782 B
Python
31 lines
782 B
Python
import argparse
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
from config import load_config
|
|
from core.runner import run_audit
|
|
|
|
|
|
def parse_args() -> argparse.Namespace:
|
|
cwd = Path.cwd()
|
|
parser = argparse.ArgumentParser(
|
|
"hydrogen",
|
|
description="Lightweight highly extensible security framework for your server.",
|
|
)
|
|
|
|
parser.add_argument("-c", "--config", type=Path, default=cwd / "config.yaml")
|
|
parser.add_argument("-p", "--path", type=Path, default=cwd / "modules")
|
|
parser.add_argument("--package-prefix", default="modules")
|
|
|
|
return parser.parse_args()
|
|
|
|
|
|
def main() -> int:
|
|
args = parse_args()
|
|
config = load_config(args.config)
|
|
return run_audit(args.path, config, args.package_prefix)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|