fluxion/install/install.sh

217 lines
6.2 KiB
Bash
Executable File

#!/bin/bash
########## DEBUG Mode ##########
## ##
if [ -z ${INSTALLER_DEBUG+x} ]; then INSTALLER_DEBUG=0
else INSTALLER_DEBUG=1
fi
## ##
################################
#Config
version=2
revision=8
#Colors
red='\e[1;31m'
blue='\e[1;34m'
yellow='\e[1;33m'
transparent="\e[0m"
function conditional_clear() {
if [[ "$INSTALLER_output_device" != "/dev/stdout" ]]; then clear; fi
}
#Config_END
if [ $INSTALLER_DEBUG = 1 ]; then
## Developer Mode
export INSTALLER_output_device=/dev/stdout
HOLD="-hold"
else
## Normal Mode
export INSTALLER_output_device=/dev/null
HOLD=""
fi
#Check root
if [[ $EUID -ne 0 ]]; then
echo -e "\e[1;31mYou don't have admin privilegies, execute the script as root."$transparent
exit
fi
clear
#Check for X display
if [ -z "${DISPLAY:-}" ]; then
echo -e "\e[1;31mThe script should be executed inside a X (graphical) session."$transparent""
exit 1
fi
function mostrarheader(){
conditional_clear
echo -e "$red[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]"
echo -e "$red[ ]"
echo -e "$red[ $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > "${blue}"]"
echo -e "$blue[ ]"
echo -e "$blue[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]""$transparent"
echo
echo
}
function setresolution {
function resA {
TOPLEFT="-geometry 90x13+0+0"
TOPRIGHT="-geometry 83x26-0+0"
BOTTOMLEFT="-geometry 90x24+0-0"
BOTTOMRIGHT="-geometry 75x12-0-0"
TOPLEFTBIG="-geometry 91x42+0+0"
TOPRIGHTBIG="-geometry 83x26-0+0"
}
function resB {
TOPLEFT="-geometry 92x14+0+0"
TOPRIGHT="-geometry 68x25-0+0"
BOTTOMLEFT="-geometry 92x36+0-0"
BOTTOMRIGHT="-geometry 74x20-0-0"
TOPLEFTBIG="-geometry 100x52+0+0"
TOPRIGHTBIG="-geometry 74x30-0+0"
}
function resC {
TOPLEFT="-geometry 100x20+0+0"
TOPRIGHT="-geometry 109x20-0+0"
BOTTOMLEFT="-geometry 100x30+0-0"
BOTTOMRIGHT="-geometry 109x20-0-0"
TOPLEFTBIG="-geometry 100x52+0+0"
TOPRIGHTBIG="-geometry 109x30-0+0"
}
function resD {
TOPLEFT="-geometry 110x35+0+0"
TOPRIGHT="-geometry 99x40-0+0"
BOTTOMLEFT="-geometry 110x35+0-0"
BOTTOMRIGHT="-geometry 99x30-0-0"
TOPLEFTBIG="-geometry 110x72+0+0"
TOPRIGHTBIG="-geometry 99x40-0+0"
}
function resE {
TOPLEFT="-geometry 130x43+0+0"
TOPRIGHT="-geometry 68x25-0+0"
BOTTOMLEFT="-geometry 130x40+0-0"
BOTTOMRIGHT="-geometry 132x35-0-0"
TOPLEFTBIG="-geometry 130x85+0+0"
TOPRIGHTBIG="-geometry 132x48-0+0"
}
function resF {
TOPLEFT="-geometry 100x17+0+0"
TOPRIGHT="-geometry 90x27-0+0"
BOTTOMLEFT="-geometry 100x30+0-0"
BOTTOMRIGHT="-geometry 90x20-0-0"
TOPLEFTBIG="-geometry 100x70+0+0"
TOPRIGHTBIG="-geometry 90x27-0+0"
}
detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3)
## A) 1024x600
## B) 1024x768
## C) 1280x768
## D) 1280x1024
## E) 1600x1200
case $detectedresolution in
"1024x600" ) resA ;;
"1024x768" ) resB ;;
"1280x768" ) resC ;;
"1366x768" ) resC ;;
"1280x1024" ) resD ;;
"1600x1200" ) resE ;;
"1366x768" ) resF ;;
* ) resA ;;
esac
}
# Installer function
function installer {
echo -ne "$1.............................." | cut -z -b1-30
echo "[*] Installing $1" >> /tmp/fluxionlog.txt
xterm $HOLD -title "Installing $1" -e "apt-get --yes install $1 | tee -a /tmp/fluxionlog.txt; echo \${PIPESTATUS[0]} > isok"
if [ "$(cat isok)" == "0" ]; then
echo -e "\e[1;32mOK!"$transparent
else
echo -e "\e[1;31mError (Check /tmp/fluxionlog.txt)."$transparent
fi
echo >> /tmp/fluxionlog.txt
rm -f isok
}
#Install Main
conditional_clear
mostrarheader
#Check internet connection
wget -q --spider http://google.com
internet=$?
if [ "$internet" != "0" ]; then
echo "Waiting for internet connection..."
while [ "$internet" != "0" ]
do
sleep 1
wget -q --spider http://google.com
internet=$?
done
fi
echo "Updating system..."
# adding repository and keys
if [ "$(cat /etc/apt/sources.list | grep 'deb http://http.kali.org/kali kali-rolling main contrib non-free')" = "" ]; then
gpg --keyserver hkp://keys.gnupg.net --recv-key 7D8D0BF6
apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6
echo "deb http://http.kali.org/kali kali-rolling main contrib non-free # by fluxion" >> /etc/apt/sources.list
else
echo "[*] Kali repository already exist, skipping."
fi
#cleaning up
rm -f /tmp/fluxionlog.txt
sudo apt-get install -f -y | tee -a /tmp/fluxionlog.txt
sudo apt-get autoremove -y | tee -a /tmp/fluxionlog.txt
sudo apt-get autoclean -y | tee -a /tmp/fluxionlog.txt
sudo apt-get clean -y | tee -a /tmp/fluxionlog.txt
sudo apt-get update | tee -a /tmp/fluxionlog.txt
sudo apt-get install xterm --yes | tee -a /tmp/fluxionlog.txt
sleep 3
clear
mostrarheader
##############################
installer software-properties-common
installer aircrack-ng
installer gawk
installer curl
#installer dhcpd
installer isc-dhcp-server
installer hostapd
installer lighttpd
installer macchanger
installer mdk3
installer nmap
installer openssl
installer php-cgi
installer pyrit
installer python
installer rfkill
installer unzip
installer binutils
installer psmisc
installer git
installer net-tools
# removing repository
echo "$(cat /etc/apt/sources.list | grep -v 'deb http://http.kali.org/kali kali-rolling main contrib non-free # by fluxion')" > /etc/apt/sources.list