Bash3lper/install-script-git.sh

189 lines
3.8 KiB
Bash
Raw Permalink Normal View History

2023-03-29 20:10:53 +02:00
#!/bin/bash
#***************************************************
# $ ./superTool.sh install|uninstall|update
#***************************************************
readonly PROGNAME=$(basename $0)
readonly PROGDIR=$(readlink -m $(dirname $0))
readonly ARGS="$@"
PATH_DEST="$PROGDIR/source"
NAME_PROGRAM="
Arachni/arachni
scrapy/dirbot
fwaeytens/dnsenum
golismero/golismero
NikolaiT/GoogleScraper
rapid7/metasploit-framework
sullo/nikto
rfunix/Pompem
smicallef/spiderfoot
sqlmapproject/sqlmap
vanhauser-thc/thc-hydra
andresriancho/w3af
anestisb/WeBaCoo
urbanadventurer/WhatWeb
wpscanteam/wpscan
epsylon/xsser
"
write_header_acsii() {
cat <<-"EOFB"
____ _ ____ _
| _ \ | | |___ \| |
| |_) | __ _ ___| |__ __) | |_ __ ___ _ __
| _ < / _` / __| '_ \ |__ <| | '_ \ / _ \ '__|
| |_) | (_| \__ \ | | |___) | | |_) | __/ |
|____/ \__,_|___/_| |_|____/|_| .__/ \___|_|
| |
|_|
EOFB
}
##### Header
write_header() {
tput clear
local h="$@"
# Move cursor to screen location Y,X (top left is 0,0)
tput setaf 6
tput cup 0 0
write_header_acsii
tput sgr0
tput cup 7 18
# Set a foreground colour using ANSI escape
tput setaf 3
echo " "
tput sgr0
tput cup 7 52
# Set a foreground colour using ANSI escape
tput setaf 3
echo " V0.32"
tput sgr0
# Set reverse video mode
tput cup 11 12
tput rev
echo -e "${h}"
tput sgr0
# rc revenir position initial
#tput rc
#tput cup 13 16
}
write_header
write_header " I N S T A L L A T I O N "
echo >&2
echo -e " ✌ Will install all ressources needed "
echo >&2
echo -e " Arachni, dirbot, dnsenum, GoLismero, GoogleScraper, "
echo -e " metasploit, nikto, Pompem, spiderfoot, sqlmap, "
echo -e " thc-hydra, W3AF, WeBacoo, WhatWeb, WPScan y XSSer."
echo >&2
if [ ! "${UID}" = 0 ]
then
echo >&2
echo >&2
echo >&2 "Only user root can run superTool."
echo >&2
exit 1
fi
which_cmd() {
local block=1
if [ "a${1}" = "a-n" ]
then
local block=0
shift
fi
unalias $2 >/dev/null 2>&1
local cmd=`which $2 2>/dev/null | head -n 1`
if [ $? -gt 0 -o ! -x "${cmd}" ]
then
if [ ${block} -eq 1 ]
then
echo >&2
echo >&2 "ERROR: Command '$2' not found in the system path."
echo >&2
echo >&2 " which $2"
exit 1
fi
return 1
fi
eval $1=${cmd}
return 0
}
# Commands.
which_cmd GIT git
which_cmd AWK awk
which_cmd RM rm
repository_clone() {
# $1 PATH_DEST
# $2 Name Program
# $3 GitHub
$GIT clone git://github.com/$3.git $1/$2
}
repository_install() {
for name in $NAME_PROGRAM
do
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
repository_clone ${PATH_DEST} $DIRECTORY $name
done
}
repository_uninstall() {
for name in $NAME_PROGRAM
do
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
if [ -d ${PATH_DEST}/$DIRECTORY ];
then
echo -e "Remove " $PATH_DEST/$DIRECTORY
$RM ${PATH_DEST}/$DIRECTORY -r
fi
done
}
repository_update() {
for name in $NAME_PROGRAM
do
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
if [ -d $PATH_DEST/$DIRECTORY ];
then
cd ${PATH_DEST}/$DIRECTORY
$GIT pull origin --verbose --progress
fi
done
}
case "$1" in
install)
repository_install
;;
uninstall)
repository_uninstall
;;
update)
repository_update
;;
*)
echo -e >&2 "Usage: install|uninstall|update \n"
;;
esac
exit 0