mirror of
https://github.com/nettitude/PoshC2
synced 2026-06-08 16:22:47 +00:00
93 lines
2.0 KiB
Bash
Executable File
93 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# trap ctrl-c and call ctrl_c()
|
|
trap ctrl_c INT
|
|
|
|
function ctrl_c() {
|
|
popd > /dev/null
|
|
exit
|
|
}
|
|
|
|
# A POSIX variable
|
|
OPTIND=1 # Reset in case getopts has been used previously in the shell.
|
|
|
|
# Initialize our own variables:
|
|
GIT_BRANCH="master"
|
|
MANUAL_BRANCH_SET=false
|
|
SKIP_INSTALL=false
|
|
|
|
show_help(){
|
|
echo "*** PoshC2 Update Script ***"
|
|
echo "Usage:"
|
|
echo "posh-update -b <git branch>"
|
|
echo "posh-update-core -b <git branch>"
|
|
echo "posh-update-core -b <git branch> -x (Skips running install script)"
|
|
echo ""
|
|
echo "Default is the master branch"
|
|
}
|
|
|
|
while getopts "xh?b:" opt; do
|
|
case "$opt" in
|
|
h|\?)
|
|
show_help
|
|
exit 0
|
|
;;
|
|
b) GIT_BRANCH="$OPTARG"
|
|
MANUAL_BRANCH_SET=true
|
|
;;
|
|
x) SKIP_INSTALL=true
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
|
|
source /usr/local/bin/_posh-common
|
|
get_posh_dir
|
|
|
|
pushd $POSH_DIR >/dev/null
|
|
|
|
if [ "$?" -eq "0" ]; then
|
|
|
|
if [ "$MANUAL_BRANCH_SET" == "false" ]; then
|
|
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
|
|
fi
|
|
|
|
echo ""
|
|
echo -e """\033[92m
|
|
__________ .__. _________ ________
|
|
\_______ \____ _____| |__ \_ ___ \ \_____ \\
|
|
| ___/ _ \/ ___/ | \ / \ \/ / ____/
|
|
| | ( <_> )___ \| Y \ \ \____/ \\
|
|
|____| \____/____ >___| / \______ /\_______ \\
|
|
\/ \/ \/ \/
|
|
================= www.PoshC2.co.uk ================"""
|
|
echo ""
|
|
echo "[+] Updating PoshC2"
|
|
echo ""
|
|
|
|
if [[ $(id -u) -ne 0 ]]; then
|
|
echo -e "You must run this installer as root.\nQuitting!";
|
|
exit 1;
|
|
fi
|
|
|
|
echo ""
|
|
echo "[+] Updating Posh Installation to latest $GIT_BRANCH"
|
|
git fetch
|
|
git reset --hard origin/"$GIT_BRANCH"
|
|
|
|
if [ "$SKIP_INSTALL" == "false" ]; then
|
|
|
|
echo ""
|
|
echo "[+] Running Install script"
|
|
./Install.sh -b "$GIT_BRANCH" -p "$POSH_DIR"
|
|
|
|
fi
|
|
|
|
echo ""
|
|
echo "[+] Update complete"
|
|
echo ""
|
|
|
|
popd > /dev/null
|
|
fi
|