Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ## Configuration ##
- # VPN über das Script mit einem Argument starten, zb.: (vpn.sh -v) angeben. -- HAUPTVERBINDUNG wird gestartet
- # Für die Überwachung ist die HAUPTVERBINDUNG Server Nr. 1 und die ERSATZSERVER_* werden genommen wenn
- # keine Verbindung zum HAUPTVERBINDUNG erstellt werden konnte
- HAUPTVERBINDUNG="Nuremberg"
- ERSATZSERVER_1="Erfurt"
- ERSATZSERVER_2="Berlin"
- # Muss für den Killswitch angepasst werden (mit "ifconfig" oder mit "cat /proc/net/dev" Anzeigen lassen)
- # Und ein 2tes für zb wlan oder eine 2te Netzwerkkarte, es werden dort nur die Server-Ip's eingetragen
- # Auch für den macchanger benötigt
- NETZINTERFACE_1="enp6s0"
- NETZINTERFACE_2="wlp3s0"
- # Der Netzwerk Manager, wenn ein anderer genutzt wird oder einen anderer Befehl bevorzugt wird, bitte ändern.
- # Das stoppen und starten wird für das ändern der Mac-Adresse benötigt.
- # Oder auskommentieren, dann muss das Netzwerk manuell gestoppt und gestartet werden.
- NETZMANAGER_START="nmcli networking on"
- NETZMANAGER_STOP="nmcli networking off"
- # openvpn Verzeichnis mit pp Configs.
- OPENVPN_DIR="/etc/openvpn"
- # VPN_OPTION1 und VPN_OPTION2 Auskommentieren, wenn updown.sh nicht genutzt wird.
- # Multi-hop funktioniert dann nicht.
- VPN_OPTION1="--config"
- VPN_OPTION2="--script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec"
- # Standort und Name vom script
- # wird für die VPN-Überwachung benötigt
- SCRIPT=$(readlink -f $0)
- ## von den Tools die man benutzen und nicht benutzen möchte,
- ## die Meldungen und die Funktionen an und ausschalten.
- ## "true" ist an und "false" ist aus.
- # macchanger zum ändern der MAC-Adresse
- ON_OFF_MACCHANGER="true"
- # ufw firewall ist für die Killswitch
- ON_OFF_UFW="true"
- # wget um die IP zu prüfen
- ON_OFF_WGET="true"
- # curl um den Serverstatus ab zu rufen
- ON_OF_CURL="true"
- # tail für kurze logs
- ON_OFF_TAIL="true"
- # less um den laufenden log anzuschauen
- # wenn man im der log ist mit "STRG+C" um frei im log zu stöbern und danach "q" um zu beenden
- # mehr unter der Dokumentation "man less"
- # wird auch von anderen tools benötigt (macchanger, ufw, Serverstatus, etc)
- ON_OFF_LESS="true"
- ##
- # Program tmux
- SESSION="tmux"
- SESSION_NAME="openvpn-pp"
- TAIL_SLEEP="sleep 2"
- #############################
- clear
- START="Enter"
- STOP="C-c Enter"
- OPENVPN_TMP_DIR="/tmp/.openvpn-pp"
- mkdir "$OPENVPN_TMP_DIR" 2>/dev/zero
- LOG_ID1="$OPENVPN_TMP_DIR/openvpn-pp-1.log"
- LOG_ID2="$OPENVPN_TMP_DIR/openvpn-pp-2.log"
- LOG_ID3="$OPENVPN_TMP_DIR/openvpn-pp-3.log"
- VU_SVR_CACHE="$OPENVPN_TMP_DIR/openvpn-pp-vu.cache"
- VU_PID_CACHE="$OPENVPN_TMP_DIR/vu_PID"
- find $LOG_ID1 || echo -e "vpn_status=Offline\n" > $LOG_ID1
- find $LOG_ID2 || echo -e "vpn_status=Offline\n" > $LOG_ID2
- find $LOG_ID3 || echo -e "vpn_status=Offline\n" > $LOG_ID3
- if [ -e $VU_SVR_CACHE ] 2>/dev/zero
- then
- # datei auslesen und variable aktualisieren
- HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
- ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
- ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
- else
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- sleep 0.2
- fi
- if [ -e $VU_PID_CACHE ]
- then
- test
- else
- echo "PID=" > $VU_PID_CACHE
- fi
- IP_CHECK=""
- IP_ECHO="echo -e \c"
- IP_CHECK_ANZEIGE=""
- echo
- cd $OPENVPN_DIR
- FENSTER_ID_1="1"
- FENSTER_ID_2="2"
- FENSTER_ID_3="3"
- FENSTER_ID_4="4"
- FENSTER_ID_5="5"
- ###
- $SESSION has-session -t $SESSION_NAME
- if [ $? -eq 0 ]
- then
- echo "$SESSION_NAME in $SESSION aktiv."
- else
- echo "$SESSION_NAME wird in $SESSION gestartet"
- $SESSION new -d -s $SESSION_NAME && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_1 "hopID1"
- $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_2 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_2 "hopID2"
- $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_3 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_3 "hopID3"
- $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_4 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_4 "hopID4"
- $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_5 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_5 "VU"
- fi
- $SESSION has-session -t $SESSION_NAME:0 2>/dev/zero
- if [ $? -eq 0 ]
- then
- FENSTER_ID_1="0"
- FENSTER_ID_2="1"
- FENSTER_ID_3="2"
- FENSTER_ID_4="3"
- FENSTER_ID_5="4"
- fi
- ###
- SEND_KEYS_ID1="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1"
- SEND_KEYS_ID2="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2"
- SEND_KEYS_ID3="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3"
- #SEND_KEYS_ID4="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_4"
- VPN_ID1="$SEND_KEYS_ID1 openvpn "
- VPN_ID2="$SEND_KEYS_ID2 openvpn "
- VPN_ID3="$SEND_KEYS_ID3 openvpn "
- #VPN_ID4="$SEND_KEYS_ID4 openvpn "
- while [[ $# > 0 ]]
- do
- case "$1" in
- -v|--vpn)
- clear
- echo -e "vpn_status=$HAUPTVERBINDUNG\n" > $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$HAUPTVERBINDUNG.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
- echo "$HAUPTVERBINDUNG"
- exit 0
- ;;
- -vu|--verbindungs-ueberwachung)
- clear
- while true
- do
- clear
- AUSLOESER="false"
- #
- UE="0"
- VERSUCHE_SERVER="0"
- VERSUCHE_GESAMT="0"
- AUSLOESER_1=$(ps -e | grep "openvpn")
- AUSLOESER_2=$(grep "Sequence" $LOG_ID1)
- AUSLOESER_3=$(grep "Recursive routing detected" $LOG_ID1)
- AUSLOESER_4=$(grep "Inactivity timeout" $LOG_ID1)
- echo
- date
- if [ $AUSLOESER_1 = ] 2> /dev/zero
- then
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_2 = ] 2>/dev/zero
- then
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_3 = ] 2> /dev/zero
- then
- # false
- test
- else
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_4 = ] 2> /dev/zero
- then
- # false
- test
- else
- AUSLOESER="true"
- fi
- if [ $AUSLOESER = "true" ] 2> /dev/zero
- then
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- echo -e "" > $LOG_ID1
- sleep 0.2
- PGREP_HOP2=$(pgrep -alf "hopid 2")
- PGREP_HOP3=$(pgrep -alf "hopid 3")
- if [ $PGREP_HOP2 = ] 2>/dev/zero
- then
- test
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
- fi
- if [ $PGREP_HOP3 = ] 2>/dev/zero
- then
- test
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
- fi
- if [ -e $VU_SVR_CACHE ] 2>/dev/zero
- then
- # datei auslesen und variable aktualisieren
- HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
- ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
- ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
- SERVER=$HAUPTVERBINDUNG
- else
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- SERVER=$HAUPTVERBINDUNG
- sleep 0.2
- fi
- fi
- if [ $AUSLOESER = "true" ]
- then
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2>/dev/zero && [ $UE -ne 10 ] 2>/dev/zero && [ $UE -ne 21 ] 2>/dev/zero && [ $UE -ne 32 ] 2>/dev/zero
- then
- clear
- echo "Reconnect hop1"
- UE=$((UE+1))
- VERSUCHE_SERVER=$((VERSUCHE_SERVER+1))
- VERSUCHE_GESAMT=$((VERSUCHE_GESAMT+1))
- echo "Versuch aktueller Server: $VERSUCHE_SERVER"
- echo "Server: $SERVER"
- echo "Versuche gesamt: $VERSUCHE_GESAMT"
- echo -e "vpn_status=$SERVER\n" > $LOG_ID1
- echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$SERVER.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.5
- sleep 9
- elif [ $UE -eq 10 ] 2>/dev/zero
- then
- UE=$((UE+1))
- VERSUCHE_SERVER="0"
- SERVER=$ERSATZSERVER_1
- elif [ $UE -eq 21 ] 2>/dev/zero
- then
- UE=$((UE+1))
- VERSUCHE_SERVER="0"
- SERVER=$ERSATZSERVER_2
- elif [ $UE -eq 32 ] 2>/dev/zero
- then
- SERVER=$HAUPTVERBINDUNG
- VERSUCHE_SERVER="0"
- UE="0"
- else
- UE="0"
- VERSUCHE_SERVER="0"
- VERSUCHE_GESAMT="0"
- SERVER=$HAUPTVERBINDUNG
- AUSLOESER="false"
- echo "Mit hop1 Verbunden"
- sleep 2
- break
- fi
- done
- else
- # Auslöserer sind false und fängt wieder von vorne an
- sleep 11
- fi
- done
- exit 0
- ;;
- -vh)
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- echo "Prozess ID \"$PID_VU_GREP\" Läuft"
- sleep 2
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
- PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
- echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
- fi
- exit 0
- ;;
- -s|--status)
- clear
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- echo
- echo "hop2: $VPN_STATUS_ID2 $HOPID2"
- echo "hop2 Sequence: $SEQUENCE_ID2"
- echo
- echo "hop3: $VPN_STATUS_ID3 $HOPID3"
- echo "hop3 Sequence: $SEQUENCE_ID3"
- echo
- exit 0
- ;;
- -ip)
- clear
- wget -q -O - https://checkip.perfect-privacy.com/csv
- exit 0
- ;;
- -svr|--server)
- curl https://www.perfect-privacy.com/de/serverstatus | egrep '.*(<td>|>frei|Wartung|AUSLASTUNG|>free|Maintenance|USED).*' | cut -d">" -f2 | cut -d"<" -f1 | cut -d"'" -f2 | less
- exit 0
- ;;
- *)
- clear
- echo
- echo "-v | Für VPN $HAUPTVERBINDUNG"
- echo "-vu | Verbindungsüberwachnung startet im Vordergrund"
- echo "-vh | Verbindungsüberwachnung startet im Hintergrund"
- echo "-s | Für Status"
- echo "-ip | IP-Check"
- echo "-svr | Serverstatus via less"
- echo
- exit 0
- ;;
- esac
- done
- if type $SESSION
- then
- test
- else
- echo ">>install $SESSION<<"
- exit 0
- fi
- if type openvpn
- then
- test
- else
- echo ">>install openvpn<<"
- exit 0
- fi
- CHECK_PROG="true"
- UFW_STATUS_ECHO_1="echo -e ufw "
- UFW_STATUS_ECHO_2="echo"
- if [ $ON_OFF_UFW = "true" ]
- then
- UFW_KILLSWITCH="ufw Killswitch"
- if type ufw
- then
- test
- else
- CHECK_PROG="false"
- UFW_STATUS_ECHO_1="echo -e \c"
- UFW_STATUS_ECHO_2="echo -e \c"
- CHECK_UFW="ufw"
- CHECK_UFW_2="ufw wird für den Killswitch benötigt"
- fi
- else
- UFW_KILLSWITCH=".............."
- fi
- if [ $ON_OFF_WGET = "true" ]
- then
- IP_CHECK_AKTUALISIEREN="IP-Check Aktualisieren"
- IP_CHECK_ENTFERNEN="IP-Check Entfernen"
- if type wget
- then
- test
- else
- CHECK_PROG="false"
- CHECK_WGET="wget"
- fi
- else
- IP_CHECK_AKTUALISIEREN="......................"
- IP_CHECK_ENTFERNEN=".................."
- fi
- if [ $ON_OF_CURL = true ]
- then
- SERVERSTATUS="Serverstatus"
- if type curl
- then
- test
- else
- CHECK_PROG="false"
- CHECK_CURL="curl"
- fi
- else
- SERVERSTATUS="............"
- fi
- if [ $ON_OFF_LESS = "true" ]
- then
- L1_3_LESS1_3_="l1-3|less1-3)"
- if type less
- then
- test
- else
- CHECK_PROG="false"
- CHECK_LESS="less"
- fi
- else
- L1_3_LESS1_3_="............."
- fi
- if [ $ON_OFF_TAIL = "true" ]
- then
- T1_3_TAIL1_3______T_TAIL__RUNDGANG="t1-3|tail1-3) t|tail) Rundgang"
- if type tail
- then
- test
- else
- CHECK_PROG="false"
- CHECK_TAIL="tail"
- fi
- else
- T1_3_TAIL1_3______T_TAIL__RUNDGANG=".................................."
- fi
- MACCHANGER_ECHO="echo"
- if [ $ON_OFF_MACCHANGER = "true" ]
- then
- MAC_ADRESSE="Mac-Adresse"
- if type macchanger
- then
- test
- else
- CHECK_PROG="false"
- CHECK_MACCHANGER="macchanger"
- MACCHANGER_ECHO="echo -e \c"
- fi
- else
- MACCHANGER_ECHO="echo -e \c"
- MAC_ADRESSE="..........."
- fi
- echo
- echo
- echo "######################"
- echo "# STRG+C zum Beenden #"
- echo "######################"
- echo
- sleep 2
- if [ $CHECK_PROG = "false" ]
- then
- echo
- echo "Es fehlen einige Programme"
- echo "$CHECK_UFW $CHECK_WGET $CHECK_CURL $CHECK_TAIL $CHECK_LESS $CHECK_MACCHANGER"
- echo "Für alle zusätzlichen Funktionen Installieren"
- echo
- echo "$CHECK_UFW_2"
- echo
- echo "\"ENTER\" um ohne $CHECK_UFW $CHECK_WGET $CHECK_CURL $CHECK_TAIL $CHECK_LESS $CHECK_MACCHANGER Fortzufahren"
- read CHECK_MENU
- case $CHECK_MENU in
- *)
- ;;
- esac
- fi
- while true
- do
- clear
- if [ $ON_OFF_MACCHANGER = "true" ]
- then
- MAC_STATUS_N1_CURRENT=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Current | cut -c 16-32)
- MAC_STATUS_N1_PERMA=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Permanent | cut -c 16-32)
- if [ $MAC_STATUS_N1_CURRENT = $MAC_STATUS_N1_PERMA ]
- then
- MAC_STATUS_N1=" |> $NETZINTERFACE_1 nicht geändert <| "
- else
- MAC_STATUS_N1="\"$NETZINTERFACE_1 geändert\""
- fi
- macchanger -s $NETZINTERFACE_1 &>/dev/zero || MAC_STATUS_N1=""
- MAC_STATUS_N2_CURRENT=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Current | cut -c 16-32)
- MAC_STATUS_N2_PERMA=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Permanent | cut -c 16-32)
- if [ $MAC_STATUS_N2_CURRENT = $MAC_STATUS_N2_PERMA ]
- then
- MAC_STATUS_N2=" |> $NETZINTERFACE_2 nicht geändert <| "
- else
- MAC_STATUS_N2="\"$NETZINTERFACE_2 geändert\""
- fi
- macchanger -s $NETZINTERFACE_2 &>/dev/zero || MAC_STATUS_N2=""
- else
- MAC_STATUS_N1=""
- MAC_STATUS_N2=""
- fi
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Aktiv\" PID: $PID_VU_GREP"
- else
- ECHO_PGREP_VPN_VU="VPN Überwachung ist \"inaktiv\""
- fi
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
- #HOPID4=$(grep "openvpn --config" $LOG_ID4 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- #VPN_STATUS_ID4=$(grep "vpn_status=" $LOG_ID4 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
- #SEQUENCE_ID4=$(grep "Sequence" $LOG_ID4)
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- echo
- echo "hop2: $VPN_STATUS_ID2 $HOPID2"
- echo "hop2 Sequence: $SEQUENCE_ID2"
- echo
- echo "hop3: $VPN_STATUS_ID3 $HOPID3"
- echo "hop3 Sequence: $SEQUENCE_ID3"
- $IP_ECHO
- $IP_ECHO "$IP_CHECK_ANZEIGE"
- $IP_ECHO "$IP_CHECK"
- if type ufw &> /dev/zero
- then
- UFW_STATUS=$(ufw status | grep "Status:")
- else
- UFW_STATUS=""
- fi
- $UFW_STATUS_ECHO_2
- $UFW_STATUS_ECHO_1 "$UFW_STATUS"
- $MACCHANGER_ECHO "MAC-Adresse: $MAC_STATUS_N1 $MAC_STATUS_N2"
- echo "$ECHO_PGREP_VPN_VU"
- echo
- echo "1) VPN 2) $SERVERSTATUS 3) $IP_CHECK_AKTUALISIEREN"
- echo "4) $UFW_KILLSWITCH 5) $MAC_ADRESSE 33) $IP_CHECK_ENTFERNEN"
- echo "6) VPN Überwachung"
- echo
- echo "$L1_3_LESS1_3_ $T1_3_TAIL1_3______T_TAIL__RUNDGANG"
- echo
- echo " 91) 92) 93) Stop VPN1-3"
- echo "999) Start / Stop und Zurücksetzen"
- echo
- read MENU
- clear
- case $MENU in
- 1|vpn|VPN)
- select SELECT in "[DEU] Berlin" "[DEU] Erfurt" "[DEU] Hamburg" "[DEU] Frankfurt" "[DEU] Nuremberg" "[NLD] Amsterdam" "[NLD] Rotterdam" "[CHE] Basel" "[CHE] Zurich" "[AUT] Vienna" "[DNK] Copenhagen" "[SWE] Malmoe" "[SWE] Stockholm" "[NOR] Oslo" "[ISL] Reykjavik" "[POL] Warsaw" "[SRB] Belgrade" "[FRA] Calais" "[FRA] Paris" "[GBR] London" "[GBR] Manchester" "[ESP] Madrid" "[CZE] Prague" "[LVA] Riga" "[RUS] Moscow" "[USA] Chicago" "[USA] Dallas" "[USA] LosAngeles" "[USA] Miami" "[USA] NewYork" "[ITA] Milan" "[SGP]Singapore" "[ISR] Jerusalem" "[AUS] Sydney" "[JPN] Tokyo" "[CAN] Montreal" "[CHN] Hongkong" "[###] hop Anzeigen 90" "[###] Zurück 00"
- do
- if [[ "$SELECT" ]]
- then
- echo -e "\n\"$SELECT\" wurde ausgewählt"
- SELECT_1=$(echo "$SELECT" | cut -c 7-50)
- else
- echo -e "\n\"$REPLY\" wurde ausgewählt"
- SELECT=$REPLY
- REPLY=$SELECT_1
- fi
- case "$SELECT" in
- *Berlin|*Erfurt|*Hamburg|*Frankfurt|*Nuremberg|*Amsterdam|*Rotterdam|*Basel|*Zurich|*Vienna|*Copenhagen|*Malmoe|*Stockholm|*Oslo|*Reykjavik|*Warsaw|*Belgrade|*Calais|*Paris|*London|*Manchester|*Madrid|*Prague|*Riga|*Moscow|*Chicago|*Dallas|*LosAngeles|*Miami|*NewYork|*Milan|*Singapore|*Jerusalem|*Sydney|*Tokyo|*Montreal|*Hongkong)
- echo ""
- while true
- do
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
- clear
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- echo
- echo "hop2: $VPN_STATUS_ID2 $HOPID2"
- echo "hop2 Sequence: $SEQUENCE_ID2"
- echo
- echo "hop3: $VPN_STATUS_ID3 $HOPID3"
- echo "hop3 Sequence: $SEQUENCE_ID3"
- echo
- echo
- echo "1) hop1 2) hop2 3) hop3 " #"4) hop4"
- echo "00 Zurück"
- echo "$SELECT"
- read STADT
- case $STADT in
- 1|hop1)
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- echo -e "vpn_status=$SELECT\n" > $LOG_ID1
- echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID1
- $VPN_ID1 \ $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 >> $LOG_ID1" $START
- break
- ;;
- 2|hop2)
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- echo -e "vpn_status=$SELECT\n" > $LOG_ID2
- echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID2
- $VPN_ID2 \ $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START
- break
- ;;
- 3|hop3)
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- echo -e "vpn_status=$SELECT\n" > $LOG_ID3
- echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID3
- $VPN_ID3 \ $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START
- break
- ;;
- 00)
- break
- ;;
- *)
- echo "Falsche Eingabe"
- ;;
- esac
- done
- ;;
- *90)
- clear
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- echo
- echo "hop2: $VPN_STATUS_ID2 $HOPID2"
- echo "hop2 Sequence: $SEQUENCE_ID2"
- echo
- echo "hop3: $VPN_STATUS_ID3 $HOPID3"
- echo "hop3 Sequence: $SEQUENCE_ID3"
- echo
- ;;
- *00)
- break
- ;;
- *)
- echo "Falsche Eingabe"
- ;;
- esac
- done
- ;;
- 2)
- if [ $ON_OF_CURL = true ]
- then
- curl https://www.perfect-privacy.com/de/serverstatus | egrep '.*(<td>|>frei|Wartung|AUSLASTUNG|>free|Maintenance|USED).*' | cut -d">" -f2 | cut -d"<" -f1 | cut -d"'" -f2 | less
- fi
- ;;
- 3)
- if [ $ON_OFF_WGET = "true" ]
- then
- IP_CHECK=$(wget -q -O - https://checkip.perfect-privacy.com/csv)
- IP_ECHO="echo"
- IP_CHECK_ANZEIGE=$($IP_ECHO "Derzeitige IP:")
- fi
- ;;
- 33)
- if [ $ON_OFF_WGET = "true" ]
- then
- IP_CHECK=""
- IP_ECHO="echo -e \c"
- IP_CHECK_ANZEIGE=""
- fi
- ;;
- 4)
- if [ $ON_OFF_UFW = "true" ]
- then
- clear
- while true
- do
- echo
- echo "Killswith mit ufw"
- echo
- echo "Netzwerk Interface 1 \"$NETZINTERFACE_1\" wurde angegeben, evtl. anpassen"
- echo "Netzwerk Interface 2 \"$NETZINTERFACE_2\" wurde angegeben, evtl. anpassen"
- echo
- echo "Stand der IP-Liste: 18. Mai 2023"
- echo -e "\n"
- if which ufw > /dev/zero
- then
- UFW_STATUS=$(ufw status | grep "Status:")
- else
- UFW_STATUS=""
- fi
- $UFW_STATUS_ECHO_1 "$UFW_STATUS"
- echo
- echo "111) Killswith Resetten, Neu einlesen und Aktivieren"
- echo "112) Für das 2te Netzwerk Interface !!-Es werden dort nur die Server-Ip's eingetragen-!!"
- echo " 1) ufw Aktivieren 2) ufw Deaktivieren"
- echo " 3) ufw-Regeln Anzeigen 00) Zurück"
- echo
- read IPT
- case $IPT in
- 111)
- clear
- # Script für IP-Leak Schutz - Killswitch
- #
- #
- # UFW reset mit --force bedeutet, dass keine Meldung zur Bestätigung kommt.
- # Der Befehl reset wird direkt ausgeführt.
- # Die Firewall wird zurückgesetzt und deaktiviert.
- ufw --force reset
- #
- # Eingang und Ausgang wird geschlossen. Alles dicht.
- ufw default deny incoming
- ufw default deny outgoing
- #
- # Für die VPN Verbindung tun0, Ausgang, öffnen wir alle Ports.
- ufw allow out on tun0 from any to any
- ufw allow out on tun1 from any to any
- ufw allow out on tun2 from any to any
- #
- # Das Netzwerk Interface (hier $NETZINTERFACE_1) bekommt Zugriff, Ausgang, zu den IP-Adressen der Perfect Privacy Server,
- # um eine Verbindung aufbauen zu könnnen.
- # Mit ifconfig im Terminal kann man das Netzwerk Interface auslesen, hier ist es $NETZINTERFACE_1.
- #
- # Ein DNS Server wird nicht benötigt, da der Zugruff direkt über die IP-Adressen erfolgt.
- #
- # Amsterdam Niederlande
- ufw allow out on $NETZINTERFACE_1 to 95.168.167.236
- ufw allow out on $NETZINTERFACE_1 to 95.211.95.233
- ufw allow out on $NETZINTERFACE_1 to 95.211.95.244
- ufw allow out on $NETZINTERFACE_1 to 37.48.94.1
- ufw allow out on $NETZINTERFACE_1 to 85.17.64.131
- ufw allow out on $NETZINTERFACE_1 to 85.17.28.145
- #
- # Basel Schweiz
- ufw allow out on $NETZINTERFACE_1 to 82.199.134.162
- ufw allow out on $NETZINTERFACE_1 to 80.255.7.66
- #
- # Belgrade Serbien
- ufw allow out on $NETZINTERFACE_1 to 152.89.160.98
- #
- # Berlin Deutschland
- ufw allow out on $NETZINTERFACE_1 to 80.255.7.98
- #
- # Calais Frankreich
- ufw allow out on $NETZINTERFACE_1 to 149.202.77.77
- #
- # Chicago USA
- ufw allow out on $NETZINTERFACE_1 to 104.237.193.26
- #
- # Copenhagen Dänemark
- ufw allow out on $NETZINTERFACE_1 to 185.152.32.66
- #
- # Dallas USA
- ufw allow out on $NETZINTERFACE_1 to 138.128.136.164
- #
- # Erfurt Deutschland
- ufw allow out on $NETZINTERFACE_1 to 217.114.218.18
- #
- # Frankfurt Deutschland
- ufw allow out on $NETZINTERFACE_1 to 78.159.106.214
- #
- # Hamburg Deutschland
- ufw allow out on $NETZINTERFACE_1 to 80.255.7.114
- #
- # Hongkong China
- ufw allow out on $NETZINTERFACE_1 to 209.58.188.129
- #
- # Jerusalem Israel
- ufw allow out on $NETZINTERFACE_1 to 82.81.85.231
- #
- # London Großbritanien
- ufw allow out on $NETZINTERFACE_1 to 82.199.130.34
- ufw allow out on $NETZINTERFACE_1 to 5.187.21.98
- #
- # Los Angeles USA
- ufw allow out on $NETZINTERFACE_1 to 162.245.206.242
- #
- # Madrid Spanien
- ufw allow out on $NETZINTERFACE_1 to 185.183.106.146
- #
- # Malmoe Schweden
- ufw allow out on $NETZINTERFACE_1 to 194.68.170.51
- #
- # Manchester Großbritanien
- ufw allow out on $NETZINTERFACE_1 to 217.138.196.98
- #
- # Miami USA
- ufw allow out on $NETZINTERFACE_1 to 38.132.118.66
- #
- # Milan Italien
- ufw allow out on $NETZINTERFACE_1 to 192.145.127.210
- #
- # Montreal Kanada
- ufw allow out on $NETZINTERFACE_1 to 167.114.209.103
- #
- # Moskau Russland
- ufw allow out on $NETZINTERFACE_1 to 192.162.100.240
- #
- # New York USA
- ufw allow out on $NETZINTERFACE_1 to 96.9.246.194
- #
- # Nürmberg Deutschland
- ufw allow out on $NETZINTERFACE_1 to 81.95.5.34
- ufw allow out on $NETZINTERFACE_1 to 80.255.10.194
- #
- # Oslo Norwegen
- ufw allow out on $NETZINTERFACE_1 to 91.205.187.186
- #
- # Paris Frankreich
- ufw allow out on $NETZINTERFACE_1 to 5.135.143.84
- #
- # Prague Tschechien
- ufw allow out on $NETZINTERFACE_1 to 195.138.249.2
- #
- # Reykjavik Island
- ufw allow out on $NETZINTERFACE_1 to 82.221.111.10
- #
- # Riga Lettland
- ufw allow out on $NETZINTERFACE_1 to 46.183.221.194
- #
- # Rotterdam Niederlande
- ufw allow out on $NETZINTERFACE_1 to 31.204.150.106
- ufw allow out on $NETZINTERFACE_1 to 31.204.150.138
- ufw allow out on $NETZINTERFACE_1 to 31.204.152.102
- ufw allow out on $NETZINTERFACE_1 to 31.204.152.189
- ufw allow out on $NETZINTERFACE_1 to 31.204.153.106
- #
- # Singapore Singapur
- ufw allow out on $NETZINTERFACE_1 to 209.58.162.197
- ufw allow out on $NETZINTERFACE_1 to 103.254.153.202
- #
- # Stockholm Schweden
- ufw allow out on $NETZINTERFACE_1 to 185.41.240.18
- ufw allow out on $NETZINTERFACE_1 to 185.217.1.2
- #
- # Sydney Australien
- ufw allow out on $NETZINTERFACE_1 to 66.203.112.47
- ufw allow out on $NETZINTERFACE_1 to 66.203.112.50
- #
- # Tokyo Japan
- ufw allow out on $NETZINTERFACE_1 to 31.204.145.166
- #
- # Vienna Österreich
- ufw allow out on $NETZINTERFACE_1 to 146.70.28.34
- #
- # Warsaw Polen
- ufw allow out on $NETZINTERFACE_1 to 146.70.85.162
- #
- # Zürich Schweiz
- ufw allow out on $NETZINTERFACE_1 to 152.89.162.226
- ufw allow out on $NETZINTERFACE_1 to 37.120.213.194
- ufw allow out on $NETZINTERFACE_1 to 37.120.213.210
- #
- # Zugang zum Heimnetzwerk IPv4
- ufw allow out to 127.0.0.0/8
- ufw allow in to 127.0.0.0/8
- ufw allow out to 10.0.0.0/8
- ufw allow in to 10.0.0.0/8
- ufw allow out to 172.16.0.0/12
- ufw allow in to 172.16.0.0/12
- ufw allow out to 192.168.0.0/16
- ufw allow in to 192.168.0.0/16
- ufw allow out to 224.0.0.0/24
- ufw allow in to 224.0.0.0/24
- ufw allow out to 239.0.0.0/8
- ufw allow in to 239.0.0.0/8
- # Zugang zum Heimnetzwerk IPv6
- ufw allow out to fe80::/64
- ufw allow in to fe80::/64
- ufw allow out to ff01::/16
- ufw allow in to ff01::/16
- ufw allow out to ff02::/16
- ufw allow in to ff02::/16
- ufw allow out to ff05::/16
- ufw allow in to ff05::/16
- #
- # UFW starten
- ufw enable
- #
- # Mit ufw status numbered kann man sich die Regeln im Terminal anschauen.
- clear
- ;;
- 112)
- clear
- # Amsterdam Niederlande
- ufw allow out on $NETZINTERFACE_2 to 95.168.167.236
- ufw allow out on $NETZINTERFACE_2 to 95.211.95.233
- ufw allow out on $NETZINTERFACE_2 to 95.211.95.244
- ufw allow out on $NETZINTERFACE_2 to 37.48.94.1
- ufw allow out on $NETZINTERFACE_2 to 85.17.64.131
- ufw allow out on $NETZINTERFACE_2 to 85.17.28.145
- #
- # Basel Schweiz
- ufw allow out on $NETZINTERFACE_2 to 82.199.134.162
- ufw allow out on $NETZINTERFACE_2 to 80.255.7.66
- #
- # Belgrade Serbien
- ufw allow out on $NETZINTERFACE_2 to 152.89.160.98
- #
- # Berlin Deutschland
- ufw allow out on $NETZINTERFACE_2 to 80.255.7.98
- #
- # Calais Frankreich
- ufw allow out on $NETZINTERFACE_2 to 149.202.77.77
- #
- # Chicago USA
- ufw allow out on $NETZINTERFACE_2 to 104.237.193.26
- #
- # Copenhagen Dänemark
- ufw allow out on $NETZINTERFACE_2 to 185.152.32.66
- #
- # Dallas USA
- ufw allow out on $NETZINTERFACE_2 to 138.128.136.164
- #
- # Erfurt Deutschland
- ufw allow out on $NETZINTERFACE_2 to 217.114.218.18
- #
- # Frankfurt Deutschland
- ufw allow out on $NETZINTERFACE_2 to 78.159.106.214
- #
- # Hamburg Deutschland
- ufw allow out on $NETZINTERFACE_2 to 80.255.7.114
- #
- # Hongkong China
- ufw allow out on $NETZINTERFACE_2 to 209.58.188.129
- #
- # Jerusalem Israel
- ufw allow out on $NETZINTERFACE_2 to 82.81.85.231
- #
- # London Großbritanien
- ufw allow out on $NETZINTERFACE_2 to 82.199.130.34
- ufw allow out on $NETZINTERFACE_2 to 5.187.21.98
- #
- # Los Angeles USA
- ufw allow out on $NETZINTERFACE_2 to 162.245.206.242
- #
- # Madrid Spanien
- ufw allow out on $NETZINTERFACE_2 to 185.183.106.146
- #
- # Malmoe Schweden
- ufw allow out on $NETZINTERFACE_2 to 194.68.170.51
- #
- # Manchester Großbritanien
- ufw allow out on $NETZINTERFACE_2 to 217.138.196.98
- #
- # Miami USA
- ufw allow out on $NETZINTERFACE_2 to 38.132.118.66
- #
- # Milan Italien
- ufw allow out on $NETZINTERFACE_2 to 192.145.127.210
- #
- # Montreal Kanada
- ufw allow out on $NETZINTERFACE_2 to 167.114.209.103
- #
- # Moskau Russland
- ufw allow out on $NETZINTERFACE_2 to 192.162.100.240
- #
- # New York USA
- ufw allow out on $NETZINTERFACE_2 to 96.9.246.194
- #
- # Nürmberg Deutschland
- ufw allow out on $NETZINTERFACE_2 to 81.95.5.34
- ufw allow out on $NETZINTERFACE_2 to 80.255.10.194
- #
- # Oslo Norwegen
- ufw allow out on $NETZINTERFACE_2 to 91.205.187.186
- #
- # Paris Frankreich
- ufw allow out on $NETZINTERFACE_2 to 5.135.143.84
- #
- # Prague Tschechien
- ufw allow out on $NETZINTERFACE_2 to 195.138.249.2
- #
- # Reykjavik Island
- ufw allow out on $NETZINTERFACE_2 to 82.221.111.10
- #
- # Riga Lettland
- ufw allow out on $NETZINTERFACE_2 to 46.183.221.194
- #
- # Rotterdam Niederlande
- ufw allow out on $NETZINTERFACE_2 to 31.204.150.106
- ufw allow out on $NETZINTERFACE_2 to 31.204.150.138
- ufw allow out on $NETZINTERFACE_2 to 31.204.152.102
- ufw allow out on $NETZINTERFACE_2 to 31.204.152.189
- ufw allow out on $NETZINTERFACE_2 to 31.204.153.106
- #
- # Singapore Singapur
- ufw allow out on $NETZINTERFACE_2 to 209.58.162.197
- ufw allow out on $NETZINTERFACE_2 to 103.254.153.202
- #
- # Stockholm Schweden
- ufw allow out on $NETZINTERFACE_2 to 185.41.240.18
- ufw allow out on $NETZINTERFACE_2 to 185.217.1.2
- #
- # Sydney Australien
- ufw allow out on $NETZINTERFACE_2 to 66.203.112.47
- ufw allow out on $NETZINTERFACE_2 to 66.203.112.50
- #
- # Tokyo Japan
- ufw allow out on $NETZINTERFACE_2 to 31.204.145.166
- #
- # Vienna Österreich
- ufw allow out on $NETZINTERFACE_2 to 146.70.28.34
- #
- # Warsaw Polen
- ufw allow out on $NETZINTERFACE_2 to 146.70.85.162
- #
- # Zürich Schweiz
- ufw allow out on $NETZINTERFACE_2 to 152.89.162.226
- ufw allow out on $NETZINTERFACE_2 to 37.120.213.194
- ufw allow out on $NETZINTERFACE_2 to 37.120.213.210
- ;;
- 1)
- clear
- echo
- ufw enable
- ;;
- 2)
- clear
- echo
- ufw disable
- ;;
- 3)
- clear
- ufw status numbered | less
- ;;
- 00)
- break
- ;;
- *)
- clear
- echo
- echo "Falsche Eingabe"
- ;;
- esac
- done
- fi
- ;;
- 5)
- if [ $ON_OFF_MACCHANGER = "true" ]
- then
- while true
- do
- clear
- echo
- echo "MAC Adresse in eine zufällige ändern, mit macchanger"
- echo
- echo "Netzwerk Interface 1 \"$NETZINTERFACE_1\" wurde angegeben, evtl. anpassen"
- macchanger -s $NETZINTERFACE_1 2> /dev/zero || echo "$NETZINTERFACE_1 nicht vorhanden"
- echo
- echo "Netzwerk Interface 2 \"$NETZINTERFACE_2\" wurde angegeben, evtl. anpassen"
- macchanger -s $NETZINTERFACE_2 2> /dev/zero || echo "$NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Wenn die Mac-Adresse geändert wird, werden die Verbindungen unterbrochen"
- echo "und die VPN muss neu Verbunden werden (reconnect)."
- echo
- echo " 1) $NETZINTERFACE_1 ändern 111) $NETZINTERFACE_1 Resetten auf Permanent"
- echo " 2) $NETZINTERFACE_2 ändern 222) $NETZINTERFACE_2 Resetten auf Permanent"
- echo
- echo " 3) $NETZINTERFACE_1 und $NETZINTERFACE_2 ändern"
- echo "333) $NETZINTERFACE_1 und $NETZINTERFACE_2 Resetten auf Permanent"
- echo
- echo " 00) Zurück"
- read MAC
- case $MAC in
- 1)
- while true
- do
- MAC_1_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
- if [ $MAC_1_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_1
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_1
- case $MAC_1 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_1_ERR
- case $MAC_1_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 111)
- while true
- do
- MAC_111_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_111_ERROR="false"
- if [ $MAC_111_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -p $NETZINTERFACE_1
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_111
- case $MAC_111 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_111_ERR
- case $MAC_111_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 2)
- while true
- do
- MAC_2_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
- if [ $MAC_2_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_2
- case $MAC_2 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_2_ERR
- case $MAC_2_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 222)
- while true
- do
- MAC_222_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_222_ERROR="false"
- if [ $MAC_222_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -p $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_222
- case $MAC_222 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_222_ERR
- case $MAC_222_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 3)
- while true
- do
- MAC_3_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
- if [ $MAC_3_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_1
- sleep 0.2
- macchanger -r $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_3
- case $MAC_3 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_3_ERR
- case $MAC_3_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 333)
- while true
- do
- MAC_333_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_333_ERROR="false"
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_333_ERROR="false"
- if [ $MAC_3_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -p $NETZINTERFACE_1
- sleep 0.2
- macchanger -p $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_333
- case $MAC_333 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_333_ERR
- case $MAC_333_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 00)
- break
- ;;
- *)
- clear
- ;;
- esac
- done
- fi
- ;;
- 51)
- while true
- do
- MAC_1_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
- if [ $MAC_1_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_1
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_1
- case $MAC_1 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_1_ERR
- case $MAC_1_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 52)
- while true
- do
- MAC_2_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
- if [ $MAC_2_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_2
- case $MAC_2 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_2_ERR
- case $MAC_2_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 53)
- while true
- do
- MAC_3_ERROR="true"
- clear
- macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
- macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
- if [ $MAC_3_ERROR = true ] > /dev/zero
- then
- $NETZMANAGER_STOP
- sleep 1
- macchanger -r $NETZINTERFACE_1
- sleep 0.2
- macchanger -r $NETZINTERFACE_2
- $NETZMANAGER_START
- echo
- echo "Weiter mit >ENTER<"
- read MAC_3
- case $MAC_3 in
- *)
- break
- ;;
- esac
- else
- echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
- echo
- echo "Weiter mit >ENTER<"
- read MAC_3_ERR
- case $MAC_3_ERR in
- *)
- break
- ;;
- esac
- fi
- break
- done
- ;;
- 6)
- while true
- do
- clear
- ECHO_HOP_VU=""
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Aktiv\" PID: $PID_VU_GREP"
- else
- ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Inaktiv\""
- fi
- echo
- echo "VPN Überwachung von openvpn-pp"
- echo
- echo "|> Dies ist kein Ersatz für eine Killswitch <|"
- echo "Es Unterstützt kein MultiHop"
- echo
- echo "############################"
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- echo
- echo "$ECHO_PGREP_VPN_VU"
- echo "############################"
- echo
- echo "Ausgewählte Server:"
- echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
- echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
- echo
- echo "1) Im Hinterrund Starten 2) Stop 3) Reconnect-Schleife erzwingen"
- echo "4) Server ändern"
- echo
- echo "11) zum Überwachungsskript |> es werden hop2 und hop3 geschlossen <|"
- echo "00) Zurück"
- read UEBERWACHUNG
- case $UEBERWACHUNG in
- 1)
- clear
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- echo "Prozess ID \"$PID_VU_GREP\" Läuft"
- sleep 2
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
- PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
- echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
- fi
- ;;
- 2)
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
- echo "PID=" > $VU_PID_CACHE
- ;;
- 3)
- echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
- ;;
- 4)
- clear
- echo
- echo "Serverauswahl für die Überwachung."
- echo
- echo "Die Änderung wird sofort in die cache geschrieben"
- echo "und beim nächsten Reconnect übernommen"
- echo "dabei wird die cache-Datei neu angelegt"
- echo
- echo "Weiter mit >ENTER<"
- read MENU_VU
- clear
- case $MENU_VU in
- *)
- select SELECT_VU in "[DEU] Berlin" "[DEU] Erfurt" "[DEU] Hamburg" "[DEU] Frankfurt" "[DEU] Nuremberg" "[NLD] Amsterdam" "[NLD] Rotterdam" "[CHE] Basel" "[CHE] Zurich" "[AUT] Vienna" "[DNK] Copenhagen" "[SWE] Malmoe" "[SWE] Stockholm" "[NOR] Oslo" "[ISL] Reykjavik" "[POL] Warsaw" "[SRB] Belgrade" "[FRA] Calais" "[FRA] Paris" "[GBR] London" "[GBR] Manchester" "[ESP] Madrid" "[CZE] Prague" "[LVA] Riga" "[RUS] Moscow" "[USA] Chicago" "[USA] Dallas" "[USA] LosAngeles" "[USA] Miami" "[USA] NewYork" "[ITA] Milan" "[SGP]Singapore" "[ISR] Jerusalem" "[AUS] Sydney" "[JPN] Tokyo" "[CAN] Montreal" "[CHN] Hongkong" "[###] Server Anzeigen 90" "[###] Zurück 00"
- do
- if [[ "$SELECT_VU" ]]
- then
- echo -e "\n\"$SELECT_VU\" wurde ausgewählt"
- SELECT_1_VU=$(echo "$SELECT_VU" | cut -c 7-50)
- else
- echo -e "\n\"$REPLY\" wurde ausgewählt"
- SELECT_VU=$REPLY
- REPLY=$SELECT_1_VU
- fi
- case "$SELECT_VU" in
- *Berlin|*Erfurt|*Hamburg|*Frankfurt|*Nuremberg|*Amsterdam|*Rotterdam|*Basel|*Zurich|*Vienna|*Copenhagen|*Malmoe|*Stockholm|*Oslo|*Reykjavik|*Warsaw|*Belgrade|*Calais|*Paris|*London|*Manchester|*Madrid|*Prague|*Riga|*Moscow|*Chicago|*Dallas|*LosAngeles|*Miami|*NewYork|*Milan|*Singapore|*Jerusalem|*Sydney|*Tokyo|*Montreal|*Hongkong)
- echo ""
- while true
- do
- echo
- echo " 1) Hauptverbindung 2) Ersatzserver 1 3) Ersatzserver 2"
- echo "00) Zurück"
- echo "$SELECT_VU"
- read STADT_VU
- case $STADT_VU in
- 1)
- clear
- HAUPTVERBINDUNG=$SELECT_1_VU
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- sleep 0.2
- break
- ;;
- 2)
- clear
- ERSATZSERVER_1=$SELECT_1_VU
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- sleep 0.2
- break
- ;;
- 3)
- clear
- ERSATZSERVER_2=$SELECT_1_VU
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- sleep 0.2
- break
- ;;
- esac
- done
- ;;
- 90)
- echo "Ausgewählte Server:"
- echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
- echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
- echo
- ;;
- 00)
- break
- ;;
- *)
- echo "Falsche Eingabe"
- ;;
- esac
- done
- ;;
- esac
- ;;
- 11)
- while true
- do
- clear
- PGREP_HOP2=$(pgrep -alf "hopid 2")
- PGREP_HOP3=$(pgrep -alf "hopid 3")
- if [ $PGREP_HOP2 = ] 2>/dev/zero
- then
- test
- else/tmp/.openvpn-pp
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
- ECHO_HOP_VU="hop2 wurde geschlossen"
- fi
- if [ $PGREP_HOP3 = ] 2>/dev/zero
- then
- test
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
- ECHO_HOP_VU="hop2 und hop3 wurden geschlossen"
- fi
- AUSLOESER="false"
- echo
- echo "$ECHO_HOP_VU"
- echo
- echo "Dies wird \"nicht\" im Hintergrund gestartet,"
- echo "das gestartete Überwachungsskript \"muss geöffnet bleiben\"."
- echo "STRG+C um das gestartete Script zu beenden."
- echo
- echo "Um im Hintergrund zu Starten: zurück und \"1) Im Hinterrund Starten\" auswählen"
- echo
- echo "Ausgewählte Server:"
- echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
- echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
- echo
- echo "00) Zurück -/- Weiter mit >ENTER<"
- read XYZABC
- case $XYZABC in
- 00)
- break
- ;;
- *)
- while true
- do
- clear
- UE="0"
- VERSUCHE_SERVER="0"
- VERSUCHE_GESAMT="0"
- SERVER=$HAUPTVERBINDUNG
- AUSLOESER_1=$(ps -e | grep "openvpn")
- AUSLOESER_2=$(grep "Sequence" $LOG_ID1)
- AUSLOESER_3=$(grep "Recursive routing detected" $LOG_ID1)
- AUSLOESER_4=$(grep "Inactivity timeout" $LOG_ID1)
- if [ $ON_OFF_MACCHANGER = "true" ]
- then
- MAC_STATUS_N1_CURRENT=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Current | cut -c 16-32)
- MAC_STATUS_N1_PERMA=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Permanent | cut -c 16-32)
- if [ $MAC_STATUS_N1_CURRENT = $MAC_STATUS_N1_PERMA ]
- then
- MAC_STATUS_N1=" |> $NETZINTERFACE_1 nicht geändert <| "
- else
- MAC_STATUS_N1="\"$NETZINTERFACE_1 geändert\""
- fi
- macchanger -s $NETZINTERFACE_1 &>/dev/zero || MAC_STATUS_N1=""
- MAC_STATUS_N2_CURRENT=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Current | cut -c 16-32)
- MAC_STATUS_N2_PERMA=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Permanent | cut -c 16-32)
- if [ $MAC_STATUS_N2_CURRENT = $MAC_STATUS_N2_PERMA ]
- then
- MAC_STATUS_N2=" |> $NETZINTERFACE_2 nicht geändert <| "
- else
- MAC_STATUS_N2="\"$NETZINTERFACE_2 geändert\""
- fi
- macchanger -s $NETZINTERFACE_2 2>/dev/zero || MAC_STATUS_N2=""
- else
- MAC_STATUS_N1=""
- MAC_STATUS_N2=""
- fi
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- echo "hop1: $VPN_STATUS_ID1 $HOPID1"
- echo "hop1 Sequence: $SEQUENCE_ID1"
- if type ufw &> /dev/zero
- then
- UFW_STATUS=$(ufw status | grep "Status:")
- else
- UFW_STATUS=""
- fi
- $UFW_STATUS_ECHO_2
- $UFW_STATUS_ECHO_1 "$UFW_STATUS"
- $MACCHANGER_ECHO "MAC-Adresse: $MAC_STATUS_N1 $MAC_STATUS_N2"
- echo
- date
- if [ $AUSLOESER_1 = ] 2> /dev/zero
- then
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_2 = ] 2>/dev/zero
- then
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_3 = ] 2> /dev/zero
- then
- # false
- test
- else
- AUSLOESER="true"
- fi
- if [ $AUSLOESER_4 = ] 2> /dev/zero
- then
- # false
- test
- else
- AUSLOESER="true"
- fi
- if [ $AUSLOESER = "true" ] 2> /dev/zero
- then
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- echo -e "" > $LOG_ID1
- sleep 0.2
- #
- PGREP_HOP2=$(pgrep -alf "hopid 2")
- PGREP_HOP3=$(pgrep -alf "hopid 3")
- if [ $PGREP_HOP2 = ] 2>/dev/zero
- then
- test
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
- fi
- if [ $PGREP_HOP3 = ] 2>/dev/zero
- then
- test
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
- fi
- if [ -e $VU_SVR_CACHE ] 2>/dev/zero
- then
- # datei auslesen und variable aktualisieren
- HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
- ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
- ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
- else
- echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
- echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
- echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
- sleep 0.2
- fi
- fi
- if [ $AUSLOESER = "true" ]
- then
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2>/dev/zero && [ $UE -ne 10 ] 2>/dev/zero && [ $UE -ne 21 ] 2>/dev/zero && [ $UE -ne 32 ] 2>/dev/zero
- then
- clear
- echo "Reconnect hop1"
- UE=$((UE+1))
- VERSUCHE_SERVER=$((VERSUCHE_SERVER+1))
- VERSUCHE_GESAMT=$((VERSUCHE_GESAMT+1))
- echo "Versuch aktueller Server: $VERSUCHE_SERVER"
- echo "Server: $SERVER"
- echo "Versuche gesamt: $VERSUCHE_GESAMT"
- echo -e "vpn_status=$SERVER\n" > $LOG_ID1
- echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$SERVER.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.5
- sleep 9
- elif [ $UE -eq 10 ] 2>/dev/zero
- then
- UE=$((UE+1))
- VERSUCHE_SERVER="0"
- SERVER=$ERSATZSERVER_1
- elif [ $UE -eq 21 ] 2>/dev/zero
- then
- UE=$((UE+1))
- VERSUCHE_SERVER="0"
- SERVER=$ERSATZSERVER_2
- elif [ $UE -eq 32 ] 2>/dev/zero
- then
- SERVER=$HAUPTVERBINDUNG
- VERSUCHE_SERVER="0"
- UE="0"
- else
- UE="0"
- VERSUCHE_SERVER="0"
- VERSUCHE_GESAMT="0"
- SERVER=$HAUPTVERBINDUNG
- AUSLOESER="false"
- echo "Mit hop1 Verbunden"
- sleep 2
- break
- fi
- done
- else
- # Auslöserer sind false und fängt wieder von vorne an
- sleep 11
- fi
- done
- ;;
- esac
- done
- ;;
- 00)
- break
- ;;
- *)
- ;;
- esac
- done
- ;;
- 61)
- clear
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- echo "Prozess ID \"$PID_VU_GREP\" Läuft"
- sleep 2
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
- PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
- echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
- fi
- ;;
- 62)
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
- echo "PID=" > $VU_PID_CACHE
- ;;
- 63)
- echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
- ;;
- 11)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- echo "hop1 Reconnect"
- HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
- echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
- $VPN_ID1 \ $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- sleep 0.2
- i=""
- ;;
- 111)
- echo "hop1 Reconnect"
- HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
- echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
- ;;
- 12)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2> /dev/zero
- then
- echo "Reconnect hop1"
- i=$((i+1))
- echo "Versuch: $i"
- sleep 1
- else
- echo "Verbinde mit hop1"
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- sleep 0.2
- HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
- echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
- echo "Verbunden mit hop1, gehe zu hop2"
- i=""
- sleep 1
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2> /dev/zero
- then
- echo "Reconnect hop2"
- i=$((i+1))
- echo "Versuch: $i"
- sleep 1
- else
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- echo "Verbinde mit hop2"
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- sleep 0.2
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
- echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
- $VPN_ID2 \ $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
- echo "Verbunden mit hop2"
- i=""
- sleep 1
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- break
- fi
- done
- break
- fi
- done
- ;;
- 122)
- echo "hop2 Reconnect"
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
- echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
- $VPN_ID2 \ $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
- ;;
- 13)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2> /dev/zero
- then
- echo "Reconnect hop1"
- date
- sleep 1
- else
- echo "Verbinde mit hop1"
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- sleep 0.2
- HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
- VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
- echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
- $VPN_ID1 \ $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
- echo "Verbunden mit hop1, gehe zu hop2"
- i=""
- sleep 1
- while true
- do
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- if [ $SEQUENCE_ID1 = ] 2> /dev/zero
- then
- echo "Reconnect hop2"
- i=$((i+1))
- echo "Versuch: $i"
- sleep 1
- else
- HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
- echo "Verbinde mit hop2"
- SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
- sleep 0.2
- HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
- VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
- echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
- $VPN_ID2 \ $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
- echo "Verbunden mit hop2, gehe zu hop3"
- i=""
- sleep 1
- while true
- do
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- if [ $SEQUENCE_ID2 = ] 2> /dev/zero
- then
- echo "Reconnect hop3"
- i=$((i+1))
- echo "Versuch: $i"
- sleep 1
- else
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- echo "Verbinde mit hop3"
- SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
- sleep 0.2
- HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
- echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
- $VPN_ID3 \ $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
- echo "Verbunden mit hop3"
- i=""
- sleep 1
- break
- fi
- done
- break
- fi
- done
- break
- fi
- done
- ;;
- 133)
- echo "hop3 Reconnect"
- HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
- HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
- VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
- echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
- echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
- $VPN_ID3 \ $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
- ;;
- 41)
- if [ $ON_OFF_UFW = "true" ]
- then
- echo "ufw enable"
- ufw enable
- fi
- ;;
- 42)
- if [ $ON_OFF_UFW = "true" ]
- then
- echo "ufw disable"
- ufw disable
- fi
- ;;
- 43)
- if [ $ON_OFF_UFW = "true" ]
- then
- clear
- ufw status numbered | less
- fi
- ;;
- t|tail)
- if [ $ON_OFF_TAIL = "true" ]
- then
- clear
- tail -n 20 $LOG_ID1
- echo "# hop1"
- $TAIL_SLEEP
- clear
- tail -n 20 $LOG_ID2
- echo "# hop2"
- $TAIL_SLEEP
- clear
- tail -n 20 $LOG_ID3
- echo "# hop3"
- $TAIL_SLEEP
- fi
- ;;
- t1|tail1)
- if [ $ON_OFF_TAIL = "true" ]
- then
- tail -n 20 $LOG_ID1
- $TAIL_SLEEP
- fi
- ;;
- t2|tail2)
- if [ $ON_OFF_TAIL = "true" ]
- then
- tail -n 20 $LOG_ID2
- $TAIL_SLEEP
- fi
- ;;
- t3|tail3)
- if [ $ON_OFF_TAIL = "true" ]
- then
- tail -n 20 $LOG_ID3
- $TAIL_SLEEP
- fi
- ;;
- l1|less1)
- if [ $ON_OFF_LESS = "true" ]
- then
- less +F $LOG_ID1
- fi
- ;;
- l2|less2)
- if [ $ON_OFF_LESS = "true" ]
- then
- less +F $LOG_ID2
- fi
- ;;
- l3|less3)
- if [ $ON_OFF_LESS = "true" ]
- then
- less +F $LOG_ID3
- fi
- ;;
- 91)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID1
- ;;
- 92)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- ;;
- 93)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- ;;
- 932|923)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- ;;
- 943|934)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- ;;
- 9432|9234|9423|9342|9324|9243)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- ;;
- 999)
- clear
- while true
- do
- echo " 1) Alles an: UFW-Firewall und die VPN-Überwachung wird gestartet."
- echo " 2) Alles aus: VPN-Verbindungen, UFW-Firewall und die VPN-Überwachung wird beendet."
- echo "33) Zurücksetzen: Temporäre Datein löschen, tmux Sessions, VPN und Script Schließen."
- echo "00) Zurück"
- read NEUNNEUNNEUN
- case $NEUNNEUNNEUN in
- 1)
- PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
- PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
- if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
- then
- echo "Prozess ID \"$PID_VU_GREP\" Läuft"
- sleep 2
- else
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
- PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
- echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
- fi
- if [ $ON_OFF_UFW = "true" ]
- then
- ufw enable
- fi
- break
- ;;
- 2)
- echo -e "\n"
- clear
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
- echo "PID=" > $VU_PID_CACHE
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID1
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- if [ $ON_OFF_UFW = "true" ]
- then
- ufw disable
- fi
- echo "VPN sollte jetzt tot sein" ; sleep 0.5
- break
- ;;
- 33)
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
- echo "PID=" > $VU_PID_CACHE
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
- $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
- sleep 0.2
- echo -e "vpn_status=Offline\n" > $LOG_ID1
- echo -e "vpn_status=Offline\n" > $LOG_ID2
- echo -e "vpn_status=Offline\n" > $LOG_ID3
- if [ $ON_OFF_UFW = "true" ]
- then
- ufw disable
- fi
- rm -rf $OPENVPN_TMP_DIR
- tmux kill-session -t $SESSION_NAME
- echo "VPN sollte jetzt tot sein" ; sleep 0.5
- exit 0
- ;;
- 00)
- break
- ;;
- *)
- clear
- echo "Falsche Eingabe"
- echo
- ;;
- esac
- done
- ;;
- *)
- echo "Falsche Eingabe"
- ;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement