WatskeBart 3e67aaac00 Update install.sh
Check switch position already implemented in bunny_helpers.sh
2017-03-08 21:11:36 +01:00

75 lines
2.1 KiB
Bash

#!/usr/bin/env bash
# Based on bashbunnypayloads installer
# https://github.com/hak5/bashbunny-payloads/blob/master/payloads/library/tools_installer/install.sh
# Check Switch Position
source bunny_helpers.sh
TARGET_DIR='/root/tools'
RELEASE_ARCHIVE=$(find /root/udisk/payloads/${SWITCH_POSITION} -name DuckToolkit-*)
echo "Install Log:" > /tmp/duck_installer.log
echo "----------------" >> /tmp/duck_installer.log
if [ -f ${RELEASE_ARCHIVE} ]; then
echo "Found ${RELEASE_ARCHIVE}" >> /tmp/duck_installer.log
else
LED R
echo "No ducktoolkit release found" >> /tmp/duck_installer.log
exit 1
fi
# Set LED to purple blinking and move files
LED R B 100
# Backup Existing library
if [ -d "$TARGET_DIR/DuckToolkit" ]; then
echo "Library Exists; removing" >> /tmp/duck_installer.log
rm -rf ${TARGET_DIR}/DuckToolkit
fi
echo "Copying files to target dir" >> /tmp/duck_installer.log
cp ${RELEASE_ARCHIVE} ${TARGET_DIR}
cd ${TARGET_DIR}
tar zxf DuckToolkit-* && mv $(find . -name "DuckToolkit-*" ! -name "*.gz") DuckToolkit && rm DuckToolkit*.tar.gz
echo "Move Complete" >> /tmp/duck_installer.log
# Set LED to purple solid and check that move completed
LED R B
if ! [ -d "${TARGET_DIR}/DuckToolkit" ]; then
# Set LED to red on fail and exit
LED R
echo "Failed to copy files to target dir" >> /tmp/duck_installer.log
exit 1
else
# Set LED to amber blinking on setup
LED G R 100
# Set calling script executable
chmod +x ${TARGET_DIR}/DuckToolkit/bunnyducky.py
# Update Q and QUACK to use the new library
echo "Update Q" >> /tmp/duck_installer.log
cat <<'EOF' > /root/Q
#!/bin/sh
# Input parameters;
strparam="$@"
/root/tools/DuckToolkit/bunnyducky.py -l $DUCKY_LANG "$strparam" >> /root/ducklog.txt
exit 0
EOF
echo "Update QUACK" >> /tmp/duck_installer.log
cat <<'EOF' > /root/QUACK
#!/bin/sh
# Input parameters;
strparam="$@"
/root/tools/DuckToolkit/bunnyducky.py -l $DUCKY_LANG "$strparam" >> /root/ducklog.txt
exit 0
EOF
# LED To green for complete
LED R G B
fi
cp /tmp/duck_installer.log /root/udisk/payloads/${SWITCH_POSITION}/install_log.txt