#!/usr/bin/env bash source bin/helpers/func.sh # Test for root privileges if [ "$EUID" -ne 0 ]; then printfe "%s\n" "red" "Please run as root" exit 1 fi # Firstly compile the sshtunnel binary printfe "%s\n" "cyan" "Compiling sshtunnel..." MAKE_OUTPUT=$(make 2>&1) MAKE_EXIT_CODE=$? if [ $MAKE_EXIT_CODE -ne 0 ]; then printfe "%s\n" "red" "Compilation failed. Please check the output below." echo "$MAKE_OUTPUT" exit 1 fi printfe "%s\n" "green" "Compilation successful." # Remove any existing sshtunnel installation printfe "%s\n" "cyan" "Removing existing sshtunnel installation..." if [ -f "/usr/local/bin/sshtunnel" ]; then log_and_run rm /usr/local/bin/sshtunnel fi if [ -f "/usr/share/bash-completion/completions/sshtunnel" ]; then log_and_run rm /usr/share/bash-completion/completions/sshtunnel fi if [ -f "/usr/local/share/sshtunnel/sshtunnel.version" ]; then log_and_run rm /usr/local/share/sshtunnel/sshtunnel.version fi # Copy binary files to /usr/local/bin printfe "%s\n" "cyan" "Installing sshtunnel..." log_and_run cp $(pwd)/bin/sshtunnel /usr/local/bin/sshtunnel log_and_run cp $(pwd)/bin/sshtunnel-completion.bash /usr/share/bash-completion/completions/sshtunnel # Copy version file to /usr/local/share/sshtunnel/sshtunnel.version mkdir -p /usr/local/share/sshtunnel log_and_run cp $(pwd)/bin/sshtunnel.version /usr/local/share/sshtunnel/sshtunnel.version # Clean up any compiled files printfe "%s\n" "cyan" "Cleaning up..." log_and_run rm $(pwd)/bin/sshtunnel log_and_run rm $(pwd)/bin/sshtunnel-completion.bash log_and_run rm $(pwd)/bin/sshtunnel.version printfe "%s\n" "green" "Installation complete."