mirror of
https://github.com/Matir/skel.git
synced 2026-05-25 21:19:09 -07:00
Basic tool installer.
This commit is contained in:
67
bin/install_tool
Executable file
67
bin/install_tool
Executable file
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ue
|
||||
|
||||
REINSTALL=0
|
||||
|
||||
while getopts -- "-:" a ; do
|
||||
case "${a}" in
|
||||
-)
|
||||
case "${OPTARG}" in
|
||||
reinstall)
|
||||
REINSTALL=1
|
||||
;;
|
||||
*)
|
||||
echo "Unknown long option ${OPTARG}" >/dev/stderr
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $# -ne 1 ] ; then
|
||||
echo "Usage: ${0} <tool>" >/dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
TOOL=${1}
|
||||
|
||||
function install_pkgs {
|
||||
if [ `id -u` -ne "0" ] ; then
|
||||
echo "Unable to install packages, please ensure these are installed." >/dev/stderr
|
||||
echo $*
|
||||
return 0
|
||||
fi
|
||||
apt-get -y install $*
|
||||
}
|
||||
|
||||
DESTDIR="${HOME}/tools/${TOOL}"
|
||||
|
||||
if [ -d ${DESTDIR} ] ; then
|
||||
if [ ${REINSTALL} -eq 1 ] ; then
|
||||
rm -ri ${DESTDIR}
|
||||
else
|
||||
echo "${DESTDIR} exists but not reinstalling." >/dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p ${DESTDIR}
|
||||
|
||||
case ${TOOL} in
|
||||
john)
|
||||
install_pkgs libssl-dev git build-essential yasm libgmp-dev libpcap-dev \
|
||||
pkg-config libbz2-dev libopenmpi-dev openmpi-bin libnss-dev \
|
||||
libkrb5-dev libgmp-dev
|
||||
jtemp=`mktemp -d`
|
||||
git clone https://github.com/magnumripper/JohnTheRipper.git ${jtemp}/john
|
||||
cd ${jtemp}/john/src
|
||||
./configure && make -sj2
|
||||
cp -r ${jtemp}/john/run/* ${DESTDIR}
|
||||
rm -rf ${jtemp}
|
||||
;;
|
||||
*)
|
||||
echo "Unknown tool: ${TOOL}" >/dev/stderr
|
||||
rmdir ${DESTDIR}
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user