Skip to content

Commit ac0cf31

Browse files
feat: unified CLI entry point for all tools
1 parent d81f1f5 commit ac0cf31

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

cli.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env python3
2+
"""
3+
android-intelligence CLI -- Master entry point
4+
Usage: android-cli <command> [options]
5+
"""
6+
import sys, argparse, subprocess
7+
8+
COMMANDS = {
9+
"audit": "Run permission audit",
10+
"backup": "Backup device",
11+
"restore": "Restore from backup",
12+
"debloat": "Interactive debloater",
13+
"harden": "Privacy hardening",
14+
"monitor": "System monitor",
15+
}
16+
17+
def main():
18+
parser = argparse.ArgumentParser(prog="android-cli")
19+
parser.add_argument("command", choices=list(COMMANDS.keys()), help="Command to run")
20+
parser.add_argument("--verbose", action="store_true")
21+
args = parser.parse_args()
22+
23+
# Route to appropriate tool
24+
mapping = {
25+
"audit": "python3 ../android-permission-auditor/permission_audit.py",
26+
"backup": "bash ../android-backup-vault/backup.sh",
27+
"restore": "bash ../android-backup-vault/restore.sh",
28+
"debloat": "bash ../android-toolkit-scripts/smart_debloat.sh",
29+
"harden": "python3 ../android-privacy-hardener/harden.py",
30+
"monitor": "python3 ../android-toolkit-scripts/network_monitor.py",
31+
}
32+
33+
cmd = mapping.get(args.command)
34+
if cmd:
35+
subprocess.run(cmd, shell=True)
36+
37+
if __name__ == "__main__":
38+
main()

0 commit comments

Comments
 (0)