dot dot dotfiles
at main 40 lines 1.5 kB view raw
1#!/usr/bin/bash 2 3NC='\033[0m' 4ARG='\033[0;31m' # red 5TXT='\033[0;32m' # green, or 1;32m for light green 6SYM='\u2192' # right arrow 7 8MACHINE='machine-name' 9USER='user-name' 10MODEMURL='https://mymodel.myfritz.net:444/myfritz' 11 12STATUS=$(tailscale status | grep ${MACHINE}) 13 14if [ "$1" == "" ]; then 15 ssh ${USER}@${MACHINE} 16elif [ "$1" == "status" ]; then 17 if grep -q 'relay' <<< "${STATUS}"; then 18 echo -e "${SYM} ${ARG}${MACHINE}${TXT} is sleeping${NC}" 19 elif grep -q 'offline' <<< "${STATUS}"; then 20 echo -e "${SYM} ${ARG}${MACHINE}${TXT} is sleeping${NC}" 21 else 22 echo -e "${SYM} ${ARG}${MACHINE}${TXT} is active${NC}" 23 fi 24elif [ "$1" == "stop" ] || [ "$1" == "off" ]; then 25 ssh -t ${USER}@${MACHINE} 'sudo systemctl poweroff' 26elif [ "$1" == "suspend" ] || [ "$1" == "sleep" ]; then 27 ssh -t ${USER}@${MACHINE} 'sudo systemctl suspend' 28elif [ "$1" == "wake" ]; then 29 xdg-open ${MODEMURL} & 30elif [ "$1" == "help" ]; then 31 echo -e "${SYM} ${ARG}no arguments${NC} : ${TXT}Connect to ${MACHINE}.${NC}" 32 echo -e "${SYM} ${ARG}status${NC} : ${TXT}Display status of ${MACHINE}${NC}" 33 echo -e "${SYM} ${ARG}stop/off${NC} : ${TXT}Turn off ${MACHINE}.${NC}" 34 echo -e "${SYM} ${ARG}suspend/sleep${NC} : ${TXT}Suspend ${MACHINE}.${NC}" 35 echo -e "${SYM} ${ARG}wake${NC} : ${TXT}Wake ${MACHINE}.${NC}" 36 echo -e "${SYM} ${ARG}help${NC} : ${TXT}Display these help messages${NC}" 37else 38 echo "Parameter not recognised; see '${MACHINE} help' for details" 39 exit 1 40fi