62 lines
1.8 KiB
Bash
Executable File
62 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Security Tools Installation Script (Main Router)
|
||
# Usage: ./scripts/install-tools.sh [OS_ID] [OS_ID_LIKE] [WSL_DETECTED]
|
||
|
||
# Get script directory
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
||
# Source system info from environment or parameters
|
||
OS_ID=${1:-$OS_ID}
|
||
OS_ID_LIKE=${2:-$OS_ID_LIKE}
|
||
WSL_DETECTED=${3:-$WSL_DETECTED}
|
||
|
||
install_fallback_tools() {
|
||
echo "ℹ️ Unsupported Linux distribution: $OS_ID"
|
||
echo "ℹ️ Installing basic requirements..."
|
||
sudo apt update -qq 2>/dev/null || true
|
||
sudo apt install -y python3-venv python3-pip curl wget git 2>/dev/null || true
|
||
echo "ℹ️ Please install security tools manually or use Docker setup"
|
||
}
|
||
|
||
# Main installation logic
|
||
main() {
|
||
if [ -z "$OS_ID" ]; then
|
||
echo "❌ OS_ID not provided. Run system-check.sh first or provide OS_ID as parameter."
|
||
exit 1
|
||
fi
|
||
|
||
# Export variables for sub-scripts
|
||
export OS_ID OS_ID_LIKE WSL_DETECTED
|
||
|
||
case "$OS_ID" in
|
||
kali|parrot)
|
||
"$SCRIPT_DIR/install-tools-debian.sh" "$WSL_DETECTED"
|
||
;;
|
||
ubuntu|debian)
|
||
if echo "$OS_ID_LIKE" | grep -q "debian\|ubuntu"; then
|
||
"$SCRIPT_DIR/install-tools-debian.sh" "$WSL_DETECTED"
|
||
else
|
||
install_fallback_tools
|
||
fi
|
||
;;
|
||
arch|manjaro)
|
||
"$SCRIPT_DIR/install-tools-arch.sh"
|
||
;;
|
||
macos)
|
||
"$SCRIPT_DIR/install-tools-macos.sh"
|
||
;;
|
||
*)
|
||
if [ -f /etc/os-release ] && echo "$OS_ID_LIKE" | grep -q "debian\|ubuntu"; then
|
||
"$SCRIPT_DIR/install-tools-debian.sh" "$WSL_DETECTED"
|
||
else
|
||
install_fallback_tools
|
||
fi
|
||
;;
|
||
esac
|
||
}
|
||
|
||
# Run if script is executed directly
|
||
if [ "${BASH_SOURCE[0]}" = "${0}" ]; then
|
||
main "$@"
|
||
fi |