185 lines
5.5 KiB
Markdown
185 lines
5.5 KiB
Markdown
# AutoRecon Modular Setup System
|
|
|
|
This directory contains a comprehensive Makefile-based setup system that automates AutoRecon installation, maintenance, and deployment across multiple operating systems.
|
|
|
|
**Contributor**: neur0map
|
|
**Compatible with**: AutoRecon by Tib3rius
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Complete local installation
|
|
make setup
|
|
|
|
# Docker-based setup
|
|
make setup-docker
|
|
|
|
# Update everything
|
|
make update
|
|
|
|
# Remove everything
|
|
make clean
|
|
```
|
|
|
|
## Operating System Support
|
|
|
|
| OS | Tools | Status |
|
|
|---|---|---|
|
|
| **Kali Linux** | 20+ security tools | ✅ Full Support |
|
|
| **Parrot OS** | 20+ security tools | ✅ Full Support |
|
|
| **Ubuntu/Debian** | 20+ security tools | ✅ Full Support |
|
|
| **macOS** | 15+ tools via Homebrew | ✅ Full Support |
|
|
| **Arch/Manjaro** | Basic tools only | ⚠️ Limited Support |
|
|
| **Windows WSL** | Use Docker | 🐳 Docker Recommended |
|
|
|
|
## Script Overview
|
|
|
|
| Script | Purpose | Key Features |
|
|
|--------|---------|--------------|
|
|
| `system-check.sh` | Prerequisites & OS detection | Exports `OS_ID`, `OS_ID_LIKE`, `WSL_DETECTED` |
|
|
| `install-tools.sh` | Installation router | Routes to OS-specific installers |
|
|
| `install-tools-debian.sh` | Debian/Ubuntu/Kali tools | 20+ security tools, WSL support |
|
|
| `install-tools-macos.sh` | macOS Homebrew tools | 15+ tools, Python packages |
|
|
| `install-tools-arch.sh` | Arch Linux basic tools | Core tools only |
|
|
| `setup-python.sh` | Virtual environment setup | Creates global `/usr/local/bin/autorecon` |
|
|
| `setup-docker.sh` | Docker management | Image building, container launching |
|
|
| `cleanup.sh` | Complete removal | Removes all components with confirmation |
|
|
| `update.sh` | Maintenance | Git pull, package updates, Docker rebuild |
|
|
|
|
## System Architecture
|
|
|
|
```
|
|
Makefile (Entry Point)
|
|
├── system-check.sh (Prerequisites & OS detection)
|
|
├── detect-os.sh (OS detection helper)
|
|
├── install-tools.sh (Installation router)
|
|
│ ├── install-tools-debian.sh (Debian/Ubuntu/Kali/Parrot)
|
|
│ ├── install-tools-macos.sh (macOS with Homebrew)
|
|
│ └── install-tools-arch.sh (Arch Linux/Manjaro)
|
|
├── setup-python.sh (Python environment & global command)
|
|
├── setup-docker.sh (Docker management)
|
|
├── update.sh (Maintenance & updates)
|
|
└── cleanup.sh (Complete removal)
|
|
```
|
|
|
|
## Workflow Dependencies
|
|
|
|
```
|
|
make setup:
|
|
system-check.sh → detect-os.sh → install-tools.sh → setup-python.sh
|
|
↓
|
|
OS-specific installer (debian/macos/arch)
|
|
|
|
make update:
|
|
update.sh → git pull → python update → tools update → docker rebuild
|
|
|
|
make clean:
|
|
cleanup.sh → remove venv → remove tools → remove docker → cleanup
|
|
```
|
|
|
|
## Command Reference
|
|
|
|
### Primary Commands
|
|
|
|
#### `make setup`
|
|
- Detects operating system automatically
|
|
- Installs appropriate security tools
|
|
- Creates Python virtual environment
|
|
- Installs global `autorecon` command
|
|
- Ready-to-use installation
|
|
|
|
#### `make setup-docker`
|
|
- Builds AutoRecon Docker image
|
|
- Launches interactive terminal
|
|
- Mounts results directory
|
|
- Full security toolkit in container
|
|
|
|
#### `make clean`
|
|
- Removes Python virtual environment
|
|
- Removes installed security tools (with confirmation)
|
|
- Removes Docker images and containers
|
|
- Cleans up temporary files
|
|
|
|
#### `make update`
|
|
- Updates git repository
|
|
- Updates Python packages
|
|
- Updates system security tools
|
|
- Rebuilds Docker image if needed
|
|
|
|
## Script Features
|
|
|
|
### Design Principles
|
|
- **Modular**: Single responsibility per script
|
|
- **Reusable**: Can be called independently or from Makefile
|
|
- **Error Handling**: Graceful failures with informative messages
|
|
- **Self-Documenting**: Clear output with emojis and status messages
|
|
|
|
## Usage Examples
|
|
|
|
### First Time Setup
|
|
```bash
|
|
git clone https://github.com/Tib3rius/AutoRecon.git
|
|
cd AutoRecon
|
|
make setup
|
|
autorecon --help
|
|
```
|
|
|
|
### Docker-Based Setup
|
|
```bash
|
|
make setup-docker
|
|
# Interactive container with full toolkit
|
|
```
|
|
|
|
### Direct Script Usage
|
|
```bash
|
|
# Check system requirements
|
|
./scripts/system-check.sh
|
|
|
|
# Install tools after system check
|
|
source ./scripts/system-check.sh
|
|
./scripts/install-tools.sh
|
|
|
|
# Setup Python environment
|
|
./scripts/setup-python.sh
|
|
|
|
# Full cleanup
|
|
./scripts/cleanup.sh
|
|
```
|
|
|
|
## Development Guidelines
|
|
|
|
### Adding New Features
|
|
1. Maintain single responsibility principle
|
|
2. Use consistent output formatting (emojis + clear messages)
|
|
3. Add proper error handling and exit codes
|
|
4. Update documentation
|
|
5. Test across multiple operating systems
|
|
|
|
### Testing Checklist
|
|
- [ ] `make setup` works on target OS
|
|
- [ ] `make setup-docker` builds and runs
|
|
- [ ] `make update` functions properly
|
|
- [ ] `make clean` removes everything
|
|
- [ ] Global `autorecon` command works
|
|
- [ ] Error handling for unsupported systems
|
|
- [ ] WSL compatibility verified
|
|
|
|
## Benefits
|
|
|
|
### For Users
|
|
- **Simplified Installation**: Single command setup
|
|
- **Cross-Platform**: Automated OS detection and tool installation
|
|
- **Maintenance**: Easy updates and cleanup
|
|
- **Docker Option**: Consistent environment across all systems
|
|
|
|
### For Developers
|
|
- **Consistent Environment**: Standardized setup across contributors
|
|
- **Modular Design**: Easy to modify and extend
|
|
- **Error Handling**: Graceful failures with helpful messages
|
|
- **Documentation**: Self-documenting with comprehensive help
|
|
|
|
---
|
|
|
|
**Contributor**: neur0map
|
|
**Original Project**: AutoRecon by Tib3rius
|
|
**Enhancement**: Modular setup system for improved accessibility and maintainability |