-
-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathsetup
More file actions
62 lines (50 loc) · 3.15 KB
/
setup
File metadata and controls
62 lines (50 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
# create garudrecon directory if not exit
mkdir -p "$HOME/.garudrecon"
# delete all files/directory in $HOME/.garudrecon except scans directory
find $HOME/.garudrecon -mindepth 1 -maxdepth 1 ! -name scans ! -name cronjobscan -exec rm -rf {} +
# send important files
mv cmd/ configuration/ workflow/ $HOME/.garudrecon
# make it garudrecon globally
mv garudrecon /usr/bin/
# make it excutble
chmod +x $HOME/.garudrecon/cmd/* /usr/bin/garudrecon
# make fleetsetup executable if it exists
if [[ -f "fleetsetup" ]]; then
chmod +x fleetsetup
mv fleetsetup /usr/bin/ 2>/dev/null || cp fleetsetup /usr/bin/ 2>/dev/null || true
fi
# Get total RAM in GB (for display purposes only)
# Try dmidecode first
TOTAL_RAM_GB=$(dmidecode -t memory 2>/dev/null | grep -E "^\s*Size:" | grep -v "No Module Installed" | awk '{sum+=$2} END {print sum}' || echo "0")
if [[ -z "$TOTAL_RAM_GB" || "$TOTAL_RAM_GB" == "0" ]]; then
TOTAL_RAM_GB=$(free -t 2>/dev/null | awk '/^Mem:/ {printf "%.0f\n", $2/1e6}' || echo "16")
fi
# Use unified config file (RAM detection is now handled inside the config file)
CONFIG="garudrecon.cfg"
# Update garudrecon script to use correct paths for cmd scripts
sed -i -e "s|source \"configuration/garudrecon.cfg\"|source \"$HOME/.garudrecon/configuration/$CONFIG\"|" -e 's|bash "$(dirname "\$0")/cmd/\(.*\)"|bash "$HOME/.garudrecon/cmd/\1"|' /usr/bin/garudrecon
# Update directory paths in scripts
sed -i -e 's|BASEDIR="scans"|BASEDIR="$HOME/.garudrecon/scans"|' $HOME/.garudrecon/cmd/smallscope
sed -i -e 's|BASEDIR="scans"|BASEDIR="$HOME/.garudrecon/scans"|' $HOME/.garudrecon/cmd/mediumscope
sed -i -e 's|BASEDIR="scans"|BASEDIR="$HOME/.garudrecon/scans"|' $HOME/.garudrecon/cmd/largescope
sed -i -e 's|BASEDIR="cronjobscan"|BASEDIR="$HOME/.garudrecon/cronjobscan"|' $HOME/.garudrecon/cmd/cronjobs
sed -i -e 's|INSTALLEDLOGFILE="installed.log"|INSTALLEDLOGFILE="$HOME/.garudrecon/installed.log"|' $HOME/.garudrecon/cmd/install
sed -i -e 's|mkdir -p wordlists|mkdir -p $HOME/.garudrecon/wordlists|' -e 's|mkdir -p takeovers|mkdir -p $HOME/.garudrecon/takeovers|' -e 's|mkdir -p templates|mkdir -p $HOME/.garudrecon/templates|' $HOME/.garudrecon/cmd/install
sed -i -e 's|cp -r ~/nuclei-templates/http/takeovers templates/takeovers|cp -r ~/nuclei-templates/http/takeovers $HOME/.garudrecon/templates/takeovers|' $HOME/.garudrecon/cmd/install
sed -i -e 's|templates/takeovers/\*\.yaml|$HOME/.garudrecon/templates/takeovers/*.yaml|' $HOME/.garudrecon/cmd/install
sed -i -e 's|WORDLIST_BASEDIR="wordlists"|WORDLIST_BASEDIR="$HOME/.garudrecon/wordlists"|' $HOME/.garudrecon/configuration/$CONFIG
sed -i -e 's|MODULES_DIR="workflow"|MODULES_DIR="$HOME/.garudrecon/workflow"|' $HOME/.garudrecon/cmd/workflow
# Run the installation command - always install ALL tools
garudrecon install -f ALL --no-binary
# Define colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
BOLD='\033[1m'
NC='\033[0m' # No Color
echo -e "\n${BOLD}${CYAN}==> System Info${NC}"
echo -e "${YELLOW}Detected System RAM:${NC} ${GREEN}${TOTAL_RAM_GB} GB${NC}"
echo -e "${YELLOW}Configuration file:${NC} ${GREEN}$CONFIG${NC} (auto-detects RAM and adjusts settings accordingly)"