From 19aa3c3a421c6f0c437cf762383c223f762456b5 Mon Sep 17 00:00:00 2001 From: punix Date: Tue, 14 Nov 2023 19:54:51 +0100 Subject: [PATCH] =?UTF-8?q?Variablen=20alle=20gro=C3=9Fschreibung=20(zwisc?= =?UTF-8?q?hencommit)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- installer1.0.5 | 14 ++--- uninstaller1.0.0 | 5 +- wg_stop | 27 ++++---- wire_g | 158 +++++++++++++++++++++++------------------------ 4 files changed, 98 insertions(+), 106 deletions(-) diff --git a/installer1.0.5 b/installer1.0.5 index d19ba02..185d496 100755 --- a/installer1.0.5 +++ b/installer1.0.5 @@ -13,28 +13,26 @@ ############################################################################################################ ############################################################################################################ -# Angemeldeten Benutzer ermitteln -a_user=$(whoami) # abfrage ob benötigte pakete installiert sind, wenn nicht dann installiere automatisch die benötigten Pakete. if grep -i 'mint\|debian\|ubuntu\|pop|' /etc/os-release > /dev/null 2>&1 then echo Wire-G wird installiert... - mkdir -p /home/"$a_user"/.icons ; cp icons/* /home/"$a_user"/.icons/ ; mkdir -p /home/"$a_user"/.config/wg_nmcli + mkdir -p /home/"$USER"/.icons ; cp icons/* /home/"$USER"/.icons/ ; mkdir -p /home/"$USER"/.config/wg_nmcli if ! which yad > /dev/null ; then sudo apt install yad -y > /dev/null 2>&1 ; echo yad wird installiert. Bitte warten... ; fi if ! which notify-send > /dev/null ; then sudo apt install libnotify-bin -y > /dev/null 2>&1 ; echo libnotify wird installiert. Bitte warten... ; fi elif grep -i 'arch\|manjaro\|garuda\|endeavour|' /etc/os-release > /dev/null 2>&1 then echo Wire-G wird installiert... - mkdir -p /home/"$a_user"/.icons ; cp icons/* /home/"$a_user"/.icons/ ; mkdir -p /home/"$a_user"/.config/wg_nmcli + mkdir -p /home/"$USER"/.icons ; cp icons/* /home/"$USER"/.icons/ ; mkdir -p /home/"$USER"/.config/wg_nmcli if ! which yad > /dev/null ; then sudo pacman -S --noconfirm yad > /dev/null 2>&1 ; echo yad wird installiert. Bitte warten... ; fi if ! which notify-send > /dev/null ; then sudo pacman -S --noconfirm libnotify > /dev/null 2>&1 ; echo libnotify wird installiert. Bitte warten... ; fi elif grep -i 'fedora' /etc/os-release > /dev/null 2>&1 then echo Wire-G wird installiert... - mkdir -p /home/"$a_user"/.icons ; cp icons/* /home/"$a_user"/.icons/ ; mkdir -p /home/"$a_user"/.config/wg_nmcli + mkdir -p /home/"$USER"/.icons ; cp icons/* /home/"$USER"/.icons/ ; mkdir -p /home/"$USER"/.config/wg_nmcli if ! which yad > /dev/null ; then sudo dnf install yad > /dev/null 2>&1 ; echo yad wird installiert. Bitte warten... ; fi if ! which notify-send > /dev/null ; then sudo dnf install libnotify > /dev/null 2>&1 ; echo libnotify wird installiert. Bitte warten... ; fi @@ -46,11 +44,11 @@ elif grep -i 'suse' /etc/os-release > /dev/null 2>&1 echo yad und libnotify müssen sie selbst installieren, wenn sie fortfahren! echo da diese Pakete offiziell nicht verfügbar sind. echo - read -p "Geben Sie i für die installation ein und die Eingabetaste, Abbruch mit jeder anderen Taste ..." response - if [ "$response" == "i" ] + read -p "Geben Sie i für die installation ein und die Eingabetaste, Abbruch mit jeder anderen Taste ..." RESPONSE + if [ "$RESPONSE" == "i" ] then echo Wire-G wird installiert... - mkdir -p /home/"$a_user"/.icons ; cp icons/* /home/"$a_user"/.icons/ ; mkdir -p /home/"$a_user"/.config/wg_nmcli + mkdir -p /home/"$USER"/.icons ; cp icons/* /home/"$USER"/.icons/ ; mkdir -p /home/"$USER"/.config/wg_nmcli else exit 1 fi diff --git a/uninstaller1.0.0 b/uninstaller1.0.0 index 8107363..372e936 100755 --- a/uninstaller1.0.0 +++ b/uninstaller1.0.0 @@ -10,11 +10,10 @@ ######################################################## ######################################################## -a_user=$(whoami) cd || exit -rm -f /home/"$a_user"/.icons/wg-active.png wg-stop.png wg-vpn.png wg-import.png wg-trash.png wg-info.png +rm -f /home/"$USER"/.icons/wg-active.png wg-stop.png wg-vpn.png wg-import.png wg-trash.png wg-info.png wait; -rm -r /home/"$a_user"/.config/wg_nmcli +rm -r /home/"$USER"/.config/wg_nmcli wait; sudo rm /usr/share/icons/Arch-Symbole/wg-vpn.png wait; diff --git a/wg_stop b/wg_stop index 9ddbad7..e2a3188 100755 --- a/wg_stop +++ b/wg_stop @@ -14,28 +14,27 @@ Encoding=UTF-8 # i18n - Internationalization - Internationalisierung -export textdomain=wire-g -export textdomaindir="/usr/share/locale" +export TEXTDOMAIN=wire-g +export TEXTDOMAINDIR="/usr/share/locale" ############################################################################################################ ############################################################################################################ - a_user=$(whoami) - wg_wdir="/home/$a_user/.config/wg_nmcli/" - wg_pic="/home/$a_user/.icons/" + WG_WDIR="/home/$USER/.config/wg_nmcli/" + WG_PIC="/home/$USER/.icons/" #Dieser befehl ist notwendig da nach dem import (erster Start) gestartete Tunnel nicht in der .tunnel Datei stehen. - nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' > ${wg_wdir}.tunnel.txt - #Damit wird der inhalt von /home/$a_user/.config/wg_nmcli/.tunnel.txt in ein Array gespeichert - IFS=$'\n' lines=( $(cat ${wg_wdir}.tunnel.txt) ) + nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' > ${WG_WDIR}.tunnel.txt + #Damit wird der inhalt von /home/$USER/.config/wg_nmcli/.tunnel.txt in ein Array gespeichert + IFS=$'\n' lines=( $(cat ${WG_WDIR}.tunnel.txt) ) #echo ${lines[0]} #Damit wird der Inhalt ausgelesen. (Index angeben) - wert=$"*_*" - for wert in "${lines[@]}" + VALUE=$"*_*" + for VALUE in "${lines[@]}" do - # hier wird die Ausgabe von nmcli für die auswertung in die .stop.txt gespeichert - nmcli connection down "$wert" &> ${wg_wdir}.stop.txt - if disable=$(grep -i 'deaktiviert\|deactivated' ${wg_wdir}.stop.txt) + # hier wird die Ausgabe von nmcli für die ausVALUEung in die .stop.txt gespeichert + nmcli connection down "$VALUE" &> ${WG_WDIR}.stop.txt + if disable=$(grep -i 'deaktiviert\|deactivated' ${WG_WDIR}.stop.txt) then - notify-send --icon=${wg_pic}wg-stop.png $"$wert Connection disconnected" + notify-send --icon=${WG_PIC}wg-stop.png $"$VALUE Connection disconnected" fi done pkill yad diff --git a/wire_g b/wire_g index 3c93ec1..ad09dfc 100755 --- a/wire_g +++ b/wire_g @@ -1,7 +1,7 @@ #!/bin/bash ######################################################## ######################################################## -# Wire-G App for simple management a Wireguard Tunnel ## +# Wire-G App for simple management a Wireguard TUNNEL ## # Author: Désiré Werner Menrath ## # Email: polunga40@unity-mail.de ## # Translate German to English with LibreTranslate ## @@ -19,46 +19,43 @@ export TEXTDOMAINDIR="/usr/share/locale" ############################################################################################################ ############################################################################################################ -version=3.1.3 -# Angemeldeten Benutzer ermitteln -a_user=$(whoami) +VERSION=3.1.5 # wg_workdir Arbeitsverzeichnis wg -wg_wdir="/home/$a_user/.config/wg_nmcli/" +WG_WDIR="/home/$USER/.config/wg_nmcli/" # Pfad wg Icons -wg_pic="/home/$a_user/.icons/" -# Wireguard tunnel auslesen mit grep nur Wireguard zeigen -# mit sed alles nach dem ersten Leerzeichen bis Zeilenende weggeschneiden und .tunnel.txt schreiben -nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' > ${wg_wdir}.tunnel.txt -# Variable der verfügbaren Tunnelanzeige für Yad -tunnel=$(nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') -# Variable der aktiven Tunnelanzeige für Yad -active=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') +WG_PIC="/home/$USER/.icons/" +# Wireguard TUNNEL auslesen mit grep nur Wireguard zeigen +# mit sed alles nach dem ersten Leerzeichen bis Zeilenende weggeschneiden und .TUNNEL.txt schreiben +nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' > ${WG_WDIR}.TUNNEL.txt +# Variable der verfügbaren TUNNELanzeige für Yad +TUNNEL=$(nmcli connection show | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') +# Variable der aktiven TUNNELanzeige für Yad +ACTIVE=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') ############################################################################################################ ############################################################################################################ wg_notify(){ - a_user=$(whoami) - active=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') - wg_pic="/home/$a_user/.icons/" + ACTIVE=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') + WG_PIC="/home/$USER/.icons/" case $LANG in - de_DE.UTF-8) open=öffnen ;; + de_DE.UTF-8) OPEN=öffnen ;; - *) open=open ;; + *) OPEN=open ;; esac - notify-send --icon=${wg_pic}wg-vpn.png $"$active powered" + notify-send --icon=${WG_PIC}wg-vpn.png $"$ACTIVE powered" # autoconnect wird hier abgeschalten damit auch neu importierte nach einem Systemneustart nicht aktiv sind nmcli con mod $active connection.autoconnect no yad --notification \ - --image="${wg_pic}wg-vpn.png" \ + --image="${WG_PIC}wg-vpn.png" \ --icon-size=32 --no-middle \ - --text=$"$active activ" \ - --menu="Wire-G $open!/sbin/wire_g - |$active stop!/sbin/wg_stop" \ + --text=$"$ACTIVE activ" \ + --menu="Wire-G $OPEN!/sbin/wire_g + |$ACTIVE stop!/sbin/wg_stop" \ --command="menu" } @@ -70,35 +67,35 @@ export -f wg_notify # funktion wireguard import import_wg(){ - a_user=$(whoami) - wg_pic="/home/$a_user/.icons/" - wg_wdir="/home/$a_user/.config/wg_nmcli/" - if wgconf=$(yad --file --separator=" \n" \ + + WG_PIC="/home/$USER/.icons/" + WG_WDIR="/home/$USER/.config/wg_nmcli/" + if WG_CONF=$(yad --file --separator=" \n" \ --button="OK" --button=$"Cancel" \ --width=1200 --height=800 --no-klick \ - --window-icon=${wg_pic}wg-import.png \ + --window-icon=${WG_PIC}wg-import.png \ --title=$"Wireguard .conf Select file") then - case "$wgconf" in + case "$WG_CONF" in - *_*.conf) if grep -i 'PEER\|PublicKey' $wgconf > /dev/null && grep -i 'Interface\|PrivateKey' $wgconf > /dev/null + *_*.conf) if grep -i 'PEER\|PublicKey' $WG_CONF > /dev/null && grep -i 'Interface\|PrivateKey' $WG_CONF > /dev/null then - active=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') - if [[ -n $active ]] + ACTIVE=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') + if [[ -n $ACTIVE ]] then wg_stop - nmcli connection import type wireguard file $wgconf &> ${wg_wdir}.tmp.txt + nmcli connection import type wireguard file $WG_CONF &> ${WG_WDIR}.tmp.txt wg_notify else pkill yad - nmcli connection import type wireguard file $wgconf &> ${wg_wdir}.tmp.txt + nmcli connection import type wireguard file $WG_CONF &> ${WG_WDIR}.tmp.txt wg_notify fi fi ;; *) yad --button=$"OK" --title=$"Wireguard .conf Select file" \ - --window-icon=${wg_pic}wg-stop.png --image=${wg_pic}wg-info.png \ + --window-icon=${WG_PIC}wg-stop.png --image=${WG_PIC}wg-info.png \ --center --buttons-layout=center --borders=8 --width=350 --height=60 \ --text $"Oh, something went wrong. \n No valid Wireguard file. \n @@ -115,26 +112,26 @@ export -f import_wg remove(){ - nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' &> ${wg_wdir}.wg_noactive.txt - active=$(cat ${wg_wdir}.wg_noactive.txt) + nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//' &> ${WG_WDIR}.wg_noactive.txt + ACTIVE=$(cat ${WG_WDIR}.wg_noactive.txt) - nmcli connection delete $selection &> ${wg_wdir}.tmp.txt - if success=$(grep -i 'erfolgreich gelöscht\|successfully deleted' ${wg_wdir}.tmp.txt) + nmcli connection delete $SELECTION &> ${WG_WDIR}.tmp.txt + if success=$(grep -i 'erfolgreich gelöscht\|successfully deleted' ${WG_WDIR}.tmp.txt) then - yad --window-icon=${wg_pic}wg-trash.png \ - --image-on-top --image=${wg_pic}wg-info.png \ - --text=$"Your tunnel $selection was successfully deleted." \ + yad --window-icon=${WG_PIC}wg-trash.png \ + --image-on-top --image=${WG_PIC}wg-info.png \ + --text=$"Your TUNNEL $SELECTION was successfully deleted." \ --text-align=center --button=$"OK" --title "Wire-G Trash" \ --center --buttons-layout=center --borders=8 else - yad --window-icon=${wg_pic}wg-trash.png \ - --image-on-top --image=${wg_pic}wg-info.png \ - --text=$"Oh something went wrong.\nPlease delete tunnel in the network manager." \ + yad --window-icon=${WG_PIC}wg-trash.png \ + --image-on-top --image=${WG_PIC}wg-info.png \ + --text=$"Oh something went wrong.\nPlease delete TUNNEL in the network manager." \ --text-align=center --button=$"OK" --title "Wire-G Trash" \ --center --buttons-layout=center --borders=8 fi - if [ "$selection" = "$active" ] + if [ "$SELECTION" = "$ACTIVE" ] then pkill yad fi } @@ -143,18 +140,19 @@ remove(){ # function end ############################################################################################################ ############################################################################################################ -#funktion for active tunnel a stop +#funktion for active TUNNEL a stop up_or_down(){ - a_user=$(whoami) - wg_pic="/home/$a_user/.icons/" - active=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') - if [[ -z $active ]] + + WG_PIC="/home/$USER/.icons/" + ACTIVE=$(nmcli connection show --active | grep -iPo "(.*)(wireguard)" | sed 's/ .*//') + if [[ -z $ACTIVE ]] then - yad --image-on-top --image=${wg_pic}wg-info.png \ - --text=$"There is no active tunnel that you could stop." \ - --text-align=center --button=$"OK" --title "Wire-G" \ - --center --buttons-layout=center --borders=8 + yad --image-on-top --image=${WG_PIC}wg-info.png \ + --text=$"\There is no active TUNNEL that you could stop." \ + --text-align=center --no-buttons --title "Wire-G" \ + --borders=8 --undecorated \ + --timeout 4 --timeout-indicator=bottom --skip-taskbar else wg_stop wire_g @@ -168,18 +166,18 @@ export -f up_or_down # function button "more" about(){ - a_user=$(whoami) - wg_pic="/home/$a_user/.icons/" - version=3.1.3 + + WG_PIC="/home/$USER/.icons/" + VERSION=3.1.5 yad --title="Wire-G" --center \ - --borders=8 --close-on-unfocus \ - --buttons-layout=center --text-align=center \ - --button=$"OK" --fixed \ - --separator="" --window-icon=${wg_pic}wg-vpn.png \ - --text=$"Wire-G Author: Désiré Werner Menrath \n + --borders=8 --buttons-layout=center --text-align=center \ + --button=$"OK" --undecorated \ + --image-on-top --image=${WG_PIC}wg-vpn.png \ + --separator="" --window-icon=${WG_PIC}wg-vpn.png \ + --text=$"Wire-G Author: Désiré Werner Menrath \n E-Mail: polunga40@unity-mail.de \n -At all tunnels, the auto start is disabled. \n -Version: $version \n +At all Tunnels, the auto start is disabled. \n +Version: $VERSION \n Use without warranty. \n Download Wire-G \n" @@ -193,33 +191,33 @@ export -f about connect(){ - if success=$(grep -i 'erfolgreich aktiviert\|successfully activated' ${wg_wdir}.tmp.txt) + if SUCCESS=$(grep -i 'erfolgreich aktiviert\|successfully activated' ${WG_WDIR}.tmp.txt) then pkill yad - nmcli con mod $selection connection.autoconnect no + nmcli con mod $SELECTION connection.autoconnect no wg_notify fi } # function end ############################################################################################################ -############################################################################################################ # --text "Aktiver Tunnel: $active # mit gewünschtes wort wird fett geschrieben. -# Farbe für Variable $active festgelegt mit fetter Schrift. (bei --text zwischen " ") +############################################################################################################ # --text "Aktiver TUNNEL: $ACTIVE # mit gewünschtes wort wird fett geschrieben. +# Farbe für Variable $ACTIVE festgelegt mit fetter Schrift. (bei --text zwischen " ") -selection=$(yad --no-klick --list --center \ +SELECTION=$(yad --no-klick --list --center \ --height=300 --width=60 --title="Wire-G" \ --buttons-layout=center \ --button=$"Start:0" --button=$"Stop":"bash -c up_or_down" \ --button=$"Import":"bash -c import_wg" \ --button=$"Remove:4" --separator="" \ --button=$"About":"bash -c about" \ - --window-icon=${wg_pic}wg-vpn.png \ - --borders=8 --image-on-top --image=${wg_pic}wg-active.png \ - --column=$"Selection" $tunnel \ - --text=$"Activ Tunnel: $active + --window-icon=${WG_PIC}wg-vpn.png \ + --borders=8 --image-on-top --image=${WG_PIC}wg-active.png \ + --column=$"Selection" $TUNNEL \ + --text=$"Activ Tunnel: $ACTIVE ---------------------------------------------------------------------------------- -If no tunnels are listed, -so they have to import their tunnel beforehand.") +If no Tunnels are listed, +so they have to import their Tunnel beforehand.") ret=$? [[ $? -eq 1 ]] && exit 0 @@ -231,19 +229,17 @@ fi if [[ $ret -eq 0 ]] then - if [[ -n $active ]] + if [[ -n $ACTIVE ]] then wg_stop - nmcli connection up $selection &> ${wg_wdir}.tmp.txt + nmcli connection up $SELECTION &> ${WG_WDIR}.tmp.txt connect else - nmcli connection up $selection &> ${wg_wdir}.tmp.txt + nmcli connection up $SELECTION &> ${WG_WDIR}.tmp.txt connect fi fi - - ############################################ END ##########################################################