diff --git a/wirebash.sh b/wirebash.sh index 12e6cba..b808e24 100755 --- a/wirebash.sh +++ b/wirebash.sh @@ -7,6 +7,35 @@ sudo apt-get upgrade -y # Installiere Wireguard sudo apt-get install wireguard-tools -y clear + +wireguard_off="#!/bin/bash +sudo wg-quick down wg0 +sudo systemctl stop wg-quick@wg0.service" + +wireguard_on="#!/bin/bash +sudo wg-quick up wg0 +sudo systemctl start wg-quick@wg0.service" + +wireguard_icon="https://static-00.iconduck.com/assets.00/wireguard-icon-256x256-bdlmygje.png" + +wireguard_app_start="[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=true +Exec=/bin/bash /media/wireguard/wireguard_an.sh +Name=Wireguard AN +Icon=/media/wireguard/wireguard.png" + +wireguard_app_stop="[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=true +Exec=/bin/bash /media/wireguard/wireguard_aus.sh +Name=Wireguard AUS +Icon=/media/wireguard/wireguard.png" + echo "Gebe hier nun die Wireguard Konfiguration ein: (Beende eingabe mit strg+d)" # Lese die Config Zeile bei Zeile config="" @@ -24,6 +53,42 @@ sudo systemctl enable wg-quick@wg0.service sudo systemctl daemon-reload sudo systemctl start wg-quick@wg0 +if ! [ -d /media/wireguard ]; then + sudo mkdir /media/wireguard + sudo chown nobody:nogroup /media/wireguard + sudo chmod a+w /media/wireguard +fi + +wget "$wireguard_icon" -O /media/wireguard/wireguard.png + +userlist=$(getent passwd | awk -F: '$3>=1000 && $1!="nobody" && $1!="pxadmin" {print $1}') + +for user in $userlist; do + # Allow wg-quick usage + if sudo grep -q "$user ALL = (ALL) NOPASSWD:/usr/bin/wg-quick" /etc/sudoers; then + echo "$user darf bereits wg-quick ausführen" + else + sudo echo "$user ALL = (ALL) NOPASSWD:/usr/bin/wg-quick" | sudo tee -a /etc/sudoers + fi + # Allow stopping wg service + if sudo grep -q "$user ALL = (ALL) NOPASSWD:/bin/systemctl stop wg-quick@wg0.service" /etc/sudoers; then + echo "$user darf bereits wg-quick ausführen" + else + sudo echo "$user ALL = (ALL) NOPASSWD:/bin/systemctl stop wg-quick@wg0.service" | sudo tee -a /etc/sudoers + fi + # Allow starting wg service + if sudo grep -q "$user ALL = (ALL) NOPASSWD:/bin/systemctl start wg-quick@wg0.service" /etc/sudoers; then + echo "$user darf bereits wg-quick ausführen" + else + sudo echo "$user ALL = (ALL) NOPASSWD:/bin/systemctl start wg-quick@wg0.service" | sudo tee -a /etc/sudoers + fi + echo "$wireguard_app_start" >~/.local/share/applications/wireguard_an.desktop + echo "$wireguard_app_stop" >~/.local/share/applications/wireguard_aus.desktop +done + +echo "$wireguard_on" >/media/wireguard/wireguard_an.sh +echo "$wireguard_off" >/media/wireguard/wireguard_aus.sh + if ping -c2 10.200.100.1 >/dev/null; then echo "Wireguard wurde erfolgreich eingerichtet" else