38 lines
759 B
Bash
Executable File
38 lines
759 B
Bash
Executable File
#!/bin/bash
|
|
|
|
case $BLOCK_BUTTON in
|
|
1) ~/.dotfiles/bin/rofi-tscale ;;
|
|
esac
|
|
|
|
icon=""
|
|
|
|
if ! ip a show tailscale0 &>/dev/null; then
|
|
icon=""
|
|
out="$icon no tailscale"
|
|
which tailscale &>/dev/null && out="$icon tailscale inactive"
|
|
echo -e "$out\n$out\n#606060"
|
|
exit
|
|
fi
|
|
|
|
exitnode=$(tailscale status --json | awk '/"ExitNodeStatus": /,/}/')
|
|
enstatus=""
|
|
tsip=$(ip a show tailscale0 | grep -Po 'inet \K((\d+\.){3}\d+)')
|
|
[ -z "$exitnode" ] && {
|
|
[ -z "$tsip" ] && {
|
|
icon=""
|
|
text="$icon offline"
|
|
color='#707070'
|
|
} || {
|
|
text="$icon $tsip"
|
|
COLOR='#8080ff'
|
|
}
|
|
} || {
|
|
enstatus=$(echo "$exitnode" | awk '/TailscaleIPs/,/]/' | grep -Po "(\d+\.){3}\d+")
|
|
icon=""
|
|
text="$icon $enstatus"
|
|
COLOR='#80ff80'
|
|
}
|
|
echo "$text"
|
|
echo "$text"
|
|
echo $COLOR
|