dot dot dotfiles
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