94 lines
1.8 KiB
Bash
Executable File
94 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Checking if programms are available
|
|
case x"$@" in
|
|
x" Stop wireguard")
|
|
coproc (wg-quick down wg0 >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
x" Start wireguard")
|
|
coproc (wg-quick up wg0 >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
x" Stop netbird")
|
|
coproc (netbird down >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
x" Start netbird")
|
|
coproc (netbird up >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
x" Stop sing-box")
|
|
coproc (sudo systemctl stop sing-box >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
x" Start sing-box")
|
|
coproc (sudo systemctl start sing-box >/dev/null 2>&1) &
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
# Checking if programms are installed
|
|
wireguard_installed=true
|
|
if ! command -v wg-quick >/dev/null 2>&1; then
|
|
wireguard_installed=false
|
|
else
|
|
wireguard_installed=true
|
|
fi
|
|
|
|
netbird_installed=true
|
|
if ! command -v netbird >/dev/null 2>&1; then
|
|
netbird_installed=false
|
|
else
|
|
netbird_installed=true
|
|
fi
|
|
|
|
sing_box_installed=true
|
|
if ! systemctl list-unit-files -q sing-box.service >/dev/null 2>&1; then
|
|
sing_box_installed=false
|
|
else
|
|
sing_box_installed=true
|
|
fi
|
|
|
|
# active param
|
|
active="\0active\x1f"
|
|
|
|
# netbird
|
|
if $wireguard_installed; then
|
|
wireguard_status=$(sudo wg show interfaces)
|
|
if [ "$wireguard_status" != "wg0" ]; then
|
|
echo " Start wireguard"
|
|
else
|
|
active+="0"
|
|
echo " Stop wireguard"
|
|
fi
|
|
else
|
|
echo " Wireguard not installed"
|
|
fi
|
|
|
|
# netbird
|
|
if $netbird_installed; then
|
|
netbird_status=$(netbird status | grep "Networks" | cut -d: -f2 | sed "s/ -//")
|
|
if [ -z "$netbird_status" ]; then
|
|
echo " Start netbird"
|
|
else
|
|
active+="1"
|
|
echo " Stop netbird"
|
|
fi
|
|
else
|
|
echo " Netbird not installed"
|
|
fi
|
|
|
|
# sing-box
|
|
if $sing_box_installed; then
|
|
if systemctl status sing-box >/dev/null 2>&1; then
|
|
active+="2"
|
|
echo " Stop sing-box"
|
|
else
|
|
echo " Start sing-box"
|
|
fi
|
|
else
|
|
echo " Sing-box not installed"
|
|
fi
|
|
|
|
echo -en "$active\n"
|