Advertisement
swirlen

vpn

May 26th, 2024
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 113.17 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ## Configuration ##
  4.  
  5. # VPN über das Script mit einem Argument starten, zb.: (vpn.sh -v) angeben. -- HAUPTVERBINDUNG wird gestartet
  6. # Für die Überwachung ist die HAUPTVERBINDUNG Server Nr. 1 und die ERSATZSERVER_* werden genommen wenn
  7. # keine Verbindung zum HAUPTVERBINDUNG erstellt werden konnte
  8. HAUPTVERBINDUNG="Nuremberg"
  9. ERSATZSERVER_1="Erfurt"
  10. ERSATZSERVER_2="Berlin"
  11.  
  12. # Muss für den Killswitch angepasst werden (mit "ifconfig" oder mit "cat /proc/net/dev" Anzeigen lassen)
  13. # Und ein 2tes für zb wlan oder eine 2te Netzwerkkarte, es werden dort nur die Server-Ip's eingetragen
  14. # Auch für den macchanger benötigt
  15. NETZINTERFACE_1="enp1s0"
  16. NETZINTERFACE_2="wlp3s0"
  17.  
  18. # Der Netzwerk Manager, wenn ein anderer genutzt wird oder einen anderer Befehl bevorzugt wird, bitte ändern.
  19. # Das stoppen und starten wird für das ändern der Mac-Adresse benötigt.
  20. # Oder auskommentieren, dann muss das Netzwerk manuell gestoppt und gestartet werden.
  21. NETZMANAGER_START="nmcli networking on"
  22. NETZMANAGER_STOP="nmcli networking off"
  23.  
  24. # openvpn Verzeichnis mit pp Configs.
  25. OPENVPN_DIR="/etc/openvpn"
  26.  
  27. # VPN_OPTION1 und VPN_OPTION2 Auskommentieren, wenn updown.sh nicht genutzt wird.
  28. # Multi-hop funktioniert dann nicht.
  29. VPN_OPTION1="--config"                      
  30. VPN_OPTION2="--script-security 2 --route remote_host --persist-tun --up updown.sh --down updown.sh --route-noexec"
  31.  
  32. # Standort und Name vom script
  33. # wird für die VPN-Überwachung benötigt
  34. SCRIPT=$(readlink -f $0)
  35.  
  36. ## von den Tools die man benutzen und nicht benutzen möchte,
  37. ## die Meldungen und die Funktionen an und ausschalten.
  38. ## "true" ist an und "false" ist aus.
  39.  
  40. # macchanger zum ändern der MAC-Adresse
  41. ON_OFF_MACCHANGER="true"
  42.  
  43. # ufw firewall ist für die Killswitch
  44. ON_OFF_UFW="true"
  45.  
  46. # wget um die IP zu prüfen
  47. ON_OFF_WGET="true"
  48.  
  49. # curl um den Serverstatus ab zu rufen
  50. ON_OF_CURL="true"
  51.  
  52. # tail für kurze logs
  53. ON_OFF_TAIL="true"
  54.  
  55. # less um den laufenden log anzuschauen
  56. # wenn man im der log ist mit "STRG+C" um frei im log zu stöbern und danach "q" um zu beenden
  57. # mehr unter der Dokumentation "man less"
  58. # wird auch von anderen tools benötigt (macchanger, ufw, Serverstatus, etc)
  59. ON_OFF_LESS="true"
  60.  
  61. ##
  62.  
  63. # Program tmux
  64. SESSION="tmux"
  65.  
  66. SESSION_NAME="openvpn-pp"
  67. TAIL_SLEEP="sleep 2"
  68. #############################
  69. clear
  70. START="Enter"
  71. STOP="C-c Enter"
  72. OPENVPN_TMP_DIR="/tmp/.openvpn-pp"
  73. mkdir "$OPENVPN_TMP_DIR" 2>/dev/zero
  74. LOG_ID1="$OPENVPN_TMP_DIR/openvpn-pp-1.log"
  75. LOG_ID2="$OPENVPN_TMP_DIR/openvpn-pp-2.log"
  76. LOG_ID3="$OPENVPN_TMP_DIR/openvpn-pp-3.log"
  77. VU_SVR_CACHE="$OPENVPN_TMP_DIR/openvpn-pp-vu.cache"
  78. VU_PID_CACHE="$OPENVPN_TMP_DIR/vu_PID"
  79.  
  80. find $LOG_ID1 || echo -e "vpn_status=Offline\n" > $LOG_ID1
  81. find $LOG_ID2 || echo -e "vpn_status=Offline\n" > $LOG_ID2
  82. find $LOG_ID3 || echo -e "vpn_status=Offline\n" > $LOG_ID3
  83. if [ -e $VU_SVR_CACHE ] 2>/dev/zero
  84.     then
  85.         # datei auslesen und variable aktualisieren
  86.         HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
  87.         ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
  88.         ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
  89.     else
  90.         echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  91.         echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  92.         echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  93.         sleep 0.2
  94. fi
  95. if [ -e $VU_PID_CACHE ]
  96.     then
  97.         test
  98.     else
  99.         echo "PID=" > $VU_PID_CACHE
  100. fi
  101.  
  102. IP_CHECK=""
  103. IP_ECHO="echo -e \c"
  104. IP_CHECK_ANZEIGE=""
  105. echo
  106. cd $OPENVPN_DIR
  107. ###
  108. TMSESSCH="true"
  109. $SESSION has-session -t $SESSION_NAME 2>/dev/zero || TMSESSCH="false"
  110. if [ $TMSESSCH = "false" ]
  111.     then
  112.         echo "$SESSION_NAME wird in $SESSION gestartet"
  113.         $SESSION new -d -s $SESSION_NAME
  114. fi
  115.  
  116. TMSESSCH0="true"
  117. $SESSION has-session -t $SESSION_NAME:0 2>/dev/zero || TMSESSCH0="false"
  118. if [ $TMSESSCH0 = "false" ]
  119.     then
  120.         FENSTER_ID_1="1"
  121.         FENSTER_ID_2="2"
  122.         FENSTER_ID_3="3"
  123.         FENSTER_ID_4="4"
  124.         FENSTER_ID_5="5"
  125.     else
  126.         FENSTER_ID_1="0"
  127.         FENSTER_ID_2="1"
  128.         FENSTER_ID_3="2"
  129.         FENSTER_ID_4="3"
  130.         FENSTER_ID_5="4"
  131. fi
  132.  
  133. if [ $TMSESSCH = "false" ]
  134.     then
  135.         $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_1 "hopID1"
  136.         $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_2 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_2 "hopID2"
  137.         $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_3 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_3 "hopID3"
  138.         $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_4 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_4 "hopID4"
  139.         $SESSION new-window -t $SESSION_NAME:$FENSTER_ID_5 && $SESSION rename-window -t $SESSION_NAME:$FENSTER_ID_5 "VU"
  140. fi
  141. ###
  142. SEND_KEYS_ID1="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1"
  143. SEND_KEYS_ID2="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2"
  144. SEND_KEYS_ID3="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3"
  145. #SEND_KEYS_ID4="$SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_4"
  146. VPN_ID1="$SEND_KEYS_ID1 openvpn "
  147. VPN_ID2="$SEND_KEYS_ID2 openvpn "
  148. VPN_ID3="$SEND_KEYS_ID3 openvpn "
  149. #VPN_ID4="$SEND_KEYS_ID4 openvpn "
  150. while [[ $# > 0 ]]
  151. do
  152.     case "$1" in
  153.         -v|--vpn)
  154.             clear
  155.             echo -e "vpn_status=$HAUPTVERBINDUNG\n" > $LOG_ID1
  156.             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  157.             $VPN_ID1  \  $VPN_OPTION1 \ "$HAUPTVERBINDUNG.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  158.             echo "$HAUPTVERBINDUNG"
  159.             exit 0
  160.         ;;
  161.         -vu|--verbindungs-ueberwachung)
  162.             clear
  163.             while true
  164.             do
  165.                 clear
  166.                 AUSLOESER="false"
  167.                 #
  168.                 UE="0"
  169.                 VERSUCHE_SERVER="0"
  170.                 VERSUCHE_GESAMT="0"
  171.                 AUSLOESER_1=$(ps -e | grep "openvpn")
  172.                 AUSLOESER_2=$(grep "Sequence" $LOG_ID1)
  173.                 AUSLOESER_3=$(grep "Recursive routing detected" $LOG_ID1)
  174.                 AUSLOESER_4=$(grep "Inactivity timeout" $LOG_ID1)
  175.  
  176.                 echo
  177.                 date
  178.  
  179.                 if [ $AUSLOESER_1 =  ] 2> /dev/zero
  180.                     then
  181.                         AUSLOESER="true"
  182.                 fi
  183.  
  184.                 if [ $AUSLOESER_2 =  ] 2>/dev/zero
  185.                     then
  186.                         AUSLOESER="true"
  187.                 fi
  188.  
  189.                 if [ $AUSLOESER_3 =  ] 2> /dev/zero
  190.                     then
  191.                         # false
  192.                         test
  193.                     else
  194.                         AUSLOESER="true"
  195.                 fi
  196.  
  197.                 if [ $AUSLOESER_4 =  ] 2> /dev/zero
  198.                     then
  199.                         # false
  200.                         test
  201.                     else
  202.                         AUSLOESER="true"
  203.                 fi
  204.  
  205.                 if [ $AUSLOESER = "true" ] 2> /dev/zero
  206.                     then
  207.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  208.                         echo -e "" > $LOG_ID1
  209.                         sleep 0.2
  210.                         PGREP_HOP2=$(pgrep -alf "hopid 2")
  211.                         PGREP_HOP3=$(pgrep -alf "hopid 3")
  212.                         if [ $PGREP_HOP2  = ] 2>/dev/zero
  213.                             then
  214.                                 test
  215.                             else
  216.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  217.                             echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
  218.                         fi
  219.                         if [ $PGREP_HOP3 = ] 2>/dev/zero
  220.                             then
  221.                                 test
  222.                             else
  223.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  224.                             echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
  225.                         fi
  226.                         if [ -e $VU_SVR_CACHE ] 2>/dev/zero
  227.                             then
  228.                                 # datei auslesen und variable aktualisieren
  229.                                 HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
  230.                                 ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
  231.                                 ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
  232.                                 SERVER=$HAUPTVERBINDUNG
  233.                             else
  234.                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  235.                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  236.                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  237.                                 SERVER=$HAUPTVERBINDUNG
  238.                                 sleep 0.2
  239.                         fi
  240.                 fi
  241.  
  242.                 if [ $AUSLOESER = "true" ]
  243.                     then
  244.                         while true
  245.                         do
  246.                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  247.                             if [ $SEQUENCE_ID1 =  ] 2>/dev/zero && [ $UE -ne 10 ] 2>/dev/zero && [ $UE -ne 21 ] 2>/dev/zero && [ $UE -ne 32 ] 2>/dev/zero
  248.                                 then
  249.                                     clear
  250.                                     echo "Reconnect hop1"
  251.                                     UE=$((UE+1))
  252.                                     VERSUCHE_SERVER=$((VERSUCHE_SERVER+1))
  253.                                     VERSUCHE_GESAMT=$((VERSUCHE_GESAMT+1))
  254.                                     echo "Versuch aktueller Server: $VERSUCHE_SERVER"
  255.                                     echo "Server: $SERVER"
  256.                                     echo "Versuche gesamt: $VERSUCHE_GESAMT"
  257.                                     echo -e "vpn_status=$SERVER\n" > $LOG_ID1
  258.                                     echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
  259.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  260.                                     $VPN_ID1  \  $VPN_OPTION1 \ "$SERVER.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.5
  261.                                     sleep 9
  262.                             elif [ $UE -eq 10 ] 2>/dev/zero
  263.                                 then
  264.                                     UE=$((UE+1))
  265.                                     VERSUCHE_SERVER="0"
  266.                                     SERVER=$ERSATZSERVER_1
  267.                             elif [ $UE -eq 21 ] 2>/dev/zero
  268.                                 then
  269.                                     UE=$((UE+1))
  270.                                     VERSUCHE_SERVER="0"
  271.                                     SERVER=$ERSATZSERVER_2
  272.                             elif [ $UE -eq 32 ] 2>/dev/zero
  273.                                 then
  274.                                     SERVER=$HAUPTVERBINDUNG
  275.                                     VERSUCHE_SERVER="0"
  276.                                     UE="0"
  277.                                 else
  278.                                     UE="0"
  279.                                     VERSUCHE_SERVER="0"
  280.                                     VERSUCHE_GESAMT="0"
  281.                                     SERVER=$HAUPTVERBINDUNG
  282.                                     AUSLOESER="false"
  283.                                     echo "Mit hop1 Verbunden"
  284.                                     sleep 2
  285.                                     break
  286.                             fi
  287.                         done
  288.                     else
  289.                         # Auslöserer sind false und fängt wieder von vorne an
  290.                         sleep 11
  291.                 fi
  292.             done
  293.             exit 0
  294.         ;;
  295.         -vh)
  296.             PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  297.             PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  298.             if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  299.                 then
  300.                     echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  301.                     sleep 2
  302.                 else
  303.                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  304.                     PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  305.                     echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  306.             fi
  307.             exit 0
  308.         ;;
  309.         -s|--status)
  310.             clear
  311.             HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  312.             HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  313.             HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
  314.             VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  315.             VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  316.             VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  317.             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  318.             SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  319.             SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
  320.             echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  321.             echo "hop1 Sequence: $SEQUENCE_ID1"
  322.             echo
  323.             echo "hop2: $VPN_STATUS_ID2       $HOPID2"
  324.             echo "hop2 Sequence: $SEQUENCE_ID2"
  325.             echo
  326.             echo "hop3: $VPN_STATUS_ID3       $HOPID3"
  327.             echo "hop3 Sequence: $SEQUENCE_ID3"
  328.             echo
  329.             exit 0
  330.         ;;
  331.         -ip)
  332.             clear
  333.             wget -q -O - https://checkip.perfect-privacy.com/csv
  334.             exit 0
  335.         ;;
  336.         -svr|--server)
  337.             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
  338.             exit 0
  339.         ;;
  340.         *)
  341.         clear
  342.         echo
  343.         echo "-v        |   Für VPN $HAUPTVERBINDUNG"
  344.         echo "-vu       |   Verbindungsüberwachnung startet im Vordergrund"
  345.         echo "-vh     |   Verbindungsüberwachnung startet im Hintergrund"
  346.         echo "-s        |   Für Status"
  347.         echo "-ip       |   IP-Check"
  348.         echo "-svr      |   Serverstatus via less"
  349.         echo
  350.         exit 0
  351.         ;;
  352.     esac
  353. done
  354.  
  355. if type $SESSION
  356.     then
  357.         test
  358.     else
  359.         echo ">>install $SESSION<<"
  360.         exit 0
  361. fi
  362.  
  363. if type openvpn
  364.     then
  365.         test
  366.     else
  367.         echo ">>install openvpn<<"
  368.         exit 0
  369. fi
  370.  
  371. CHECK_PROG="true"
  372. UFW_STATUS_ECHO_1="echo -e ufw "
  373. UFW_STATUS_ECHO_2="echo"
  374. if [ $ON_OFF_UFW = "true" ]
  375.     then
  376.         UFW_KILLSWITCH="ufw Killswitch"
  377.         if type ufw
  378.             then
  379.                 test
  380.             else
  381.                 CHECK_PROG="false"
  382.                 UFW_STATUS_ECHO_1="echo -e \c"
  383.                 UFW_STATUS_ECHO_2="echo -e \c"
  384.                 CHECK_UFW="ufw"
  385.                 CHECK_UFW_2="ufw wird für den Killswitch benötigt"
  386.         fi
  387.     else
  388.         UFW_KILLSWITCH=".............."
  389. fi
  390.  
  391. if [ $ON_OFF_WGET = "true" ]
  392.     then
  393.         IP_CHECK_AKTUALISIEREN="IP-Check Aktualisieren"
  394.         IP_CHECK_ENTFERNEN="IP-Check Entfernen"
  395.         if type wget
  396.             then
  397.                 test
  398.             else
  399.                 CHECK_PROG="false"
  400.                 CHECK_WGET="wget"
  401.         fi
  402.     else
  403.         IP_CHECK_AKTUALISIEREN="......................"
  404.         IP_CHECK_ENTFERNEN=".................."
  405. fi
  406.  
  407. if [ $ON_OF_CURL = true ]
  408.     then
  409.         SERVERSTATUS="Serverstatus"
  410.         if type curl
  411.             then
  412.                 test
  413.             else
  414.                 CHECK_PROG="false"
  415.                 CHECK_CURL="curl"
  416.         fi
  417.     else
  418.         SERVERSTATUS="............"
  419. fi
  420.  
  421. if [ $ON_OFF_LESS = "true" ]
  422.     then
  423.         L1_3_LESS1_3_="l1-3|less1-3)"
  424.         if type less
  425.             then
  426.                 test
  427.             else
  428.                 CHECK_PROG="false"
  429.                 CHECK_LESS="less"
  430.         fi
  431.     else
  432.         L1_3_LESS1_3_="............."
  433. fi
  434.  
  435. if [ $ON_OFF_TAIL = "true" ]
  436.     then
  437.         T1_3_TAIL1_3______T_TAIL__RUNDGANG="t1-3|tail1-3)     t|tail) Rundgang"
  438.         if type tail
  439.             then
  440.                 test
  441.             else
  442.                 CHECK_PROG="false"
  443.                 CHECK_TAIL="tail"
  444.         fi
  445.     else
  446.         T1_3_TAIL1_3______T_TAIL__RUNDGANG=".................................."
  447. fi
  448.  
  449. MACCHANGER_ECHO="echo"
  450. if [ $ON_OFF_MACCHANGER = "true" ]
  451.     then
  452.         MAC_ADRESSE="Mac-Adresse"
  453.         if type macchanger
  454.             then
  455.                 test
  456.             else
  457.                 CHECK_PROG="false"
  458.                 CHECK_MACCHANGER="macchanger"
  459.                 MACCHANGER_ECHO="echo -e \c"
  460.         fi
  461.     else
  462.         MACCHANGER_ECHO="echo -e \c"
  463.         MAC_ADRESSE="..........."
  464. fi
  465. echo
  466.  
  467. echo
  468. echo "######################"
  469. echo "# STRG+C zum Beenden #"
  470. echo "######################"
  471. echo
  472. sleep 2
  473.  
  474. if [ $CHECK_PROG = "false" ]
  475.     then
  476.         echo
  477.         echo "Es fehlen einige Programme"
  478.         echo "$CHECK_UFW $CHECK_WGET $CHECK_CURL $CHECK_TAIL $CHECK_LESS $CHECK_MACCHANGER"
  479.         echo "Für alle zusätzlichen Funktionen Installieren"
  480.         echo
  481.         echo "$CHECK_UFW_2"
  482.         echo
  483.         echo "\"ENTER\" um ohne $CHECK_UFW $CHECK_WGET $CHECK_CURL $CHECK_TAIL $CHECK_LESS $CHECK_MACCHANGER Fortzufahren"
  484.         read CHECK_MENU
  485.         case $CHECK_MENU in
  486.             *)
  487.             ;;
  488.         esac
  489. fi
  490.  
  491. while true
  492.     do
  493. clear
  494.     if [ $ON_OFF_MACCHANGER = "true" ]
  495.         then
  496.             MAC_STATUS_N1_CURRENT=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Current | cut -c 16-32)
  497.             MAC_STATUS_N1_PERMA=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Permanent | cut -c 16-32)
  498.             if [ $MAC_STATUS_N1_CURRENT = $MAC_STATUS_N1_PERMA ]
  499.                 then
  500.                     MAC_STATUS_N1=" |> $NETZINTERFACE_1 nicht geändert <| "
  501.                 else
  502.                     MAC_STATUS_N1="\"$NETZINTERFACE_1 geändert\""
  503.             fi
  504.             macchanger -s $NETZINTERFACE_1 &>/dev/zero || MAC_STATUS_N1=""
  505.  
  506.             MAC_STATUS_N2_CURRENT=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Current | cut -c 16-32)
  507.             MAC_STATUS_N2_PERMA=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Permanent | cut -c 16-32)
  508.             if [ $MAC_STATUS_N2_CURRENT = $MAC_STATUS_N2_PERMA ]
  509.                 then
  510.                     MAC_STATUS_N2=" |> $NETZINTERFACE_2 nicht geändert <| "
  511.                 else
  512.                     MAC_STATUS_N2="\"$NETZINTERFACE_2 geändert\""
  513.             fi
  514.             macchanger -s $NETZINTERFACE_2 &>/dev/zero || MAC_STATUS_N2=""
  515.         else
  516.             MAC_STATUS_N1=""
  517.             MAC_STATUS_N2=""
  518.     fi
  519.  
  520.     PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  521.     PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  522.     if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  523.         then
  524.             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Aktiv\" PID: $PID_VU_GREP"
  525.         else
  526.             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"inaktiv\""
  527.     fi
  528.  
  529.     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  530.     HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  531.     HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
  532.     #HOPID4=$(grep "openvpn --config" $LOG_ID4 | cut -c 150-250)
  533.     VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  534.     VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  535.     VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  536.     #VPN_STATUS_ID4=$(grep "vpn_status=" $LOG_ID4 | cut -c 12-50)
  537.     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  538.     SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  539.     SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
  540.     #SEQUENCE_ID4=$(grep "Sequence" $LOG_ID4)
  541.  
  542.     echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  543.     echo "hop1 Sequence: $SEQUENCE_ID1"
  544.     echo
  545.     echo "hop2: $VPN_STATUS_ID2       $HOPID2"
  546.     echo "hop2 Sequence: $SEQUENCE_ID2"
  547.     echo
  548.     echo "hop3: $VPN_STATUS_ID3       $HOPID3"
  549.     echo "hop3 Sequence: $SEQUENCE_ID3"
  550.     $IP_ECHO
  551.     $IP_ECHO "$IP_CHECK_ANZEIGE"
  552.     $IP_ECHO "$IP_CHECK"
  553.     if type ufw &> /dev/zero
  554.         then
  555.             UFW_STATUS=$(ufw status | grep "Status:")
  556.         else
  557.             UFW_STATUS=""
  558.     fi
  559.     $UFW_STATUS_ECHO_2
  560.     $UFW_STATUS_ECHO_1 "$UFW_STATUS"
  561.     $MACCHANGER_ECHO "MAC-Adresse: $MAC_STATUS_N1 $MAC_STATUS_N2"
  562.     echo "$ECHO_PGREP_VPN_VU"
  563.     echo
  564.     echo "1) VPN                2) $SERVERSTATUS    3) $IP_CHECK_AKTUALISIEREN"
  565.     echo "4) $UFW_KILLSWITCH     5) $MAC_ADRESSE    33) $IP_CHECK_ENTFERNEN"
  566.     echo "6) VPN Überwachung"
  567.     echo
  568.     echo "$L1_3_LESS1_3_        $T1_3_TAIL1_3______T_TAIL__RUNDGANG"
  569.     echo
  570.     echo " 91) 92) 93)   Stop VPN1-3"
  571.     echo "999) Start / Stop und Zurücksetzen"
  572.     echo
  573.  
  574.         read MENU
  575.         clear
  576.         case $MENU in
  577.        
  578.             1|vpn|VPN)
  579.                 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"
  580.                 do
  581.                     if [[ "$SELECT" ]]
  582.                     then
  583.                         echo -e "\n\"$SELECT\" wurde ausgewählt"
  584.                         SELECT_1=$(echo "$SELECT" | cut -c 7-50)
  585.                     else
  586.                         echo -e "\n\"$REPLY\" wurde ausgewählt"
  587.                         SELECT=$REPLY
  588.                         REPLY=$SELECT_1
  589.                     fi
  590.  
  591.                     case "$SELECT" in
  592.                         *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)
  593.                             echo ""
  594.                             while true
  595.                             do
  596.                             HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  597.                             HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  598.                             HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
  599.                             VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  600.                             VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  601.                             VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  602.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  603.                             SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  604.                             SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
  605.                             clear
  606.                             echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  607.                             echo "hop1 Sequence: $SEQUENCE_ID1"
  608.                             echo
  609.                             echo "hop2: $VPN_STATUS_ID2       $HOPID2"
  610.                             echo "hop2 Sequence: $SEQUENCE_ID2"
  611.                             echo
  612.                             echo "hop3: $VPN_STATUS_ID3       $HOPID3"
  613.                             echo "hop3 Sequence: $SEQUENCE_ID3"
  614.                             echo
  615.                                 echo
  616.                                 echo "1) hop1     2) hop2     3) hop3 "    #"4) hop4"
  617.                                 echo "00 Zurück"
  618.                                 echo "$SELECT"
  619.                             read STADT
  620.                             case $STADT in
  621.                                 1|hop1)
  622.                                     clear
  623.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  624.                                     echo -e "vpn_status=$SELECT\n" > $LOG_ID1
  625.                                     echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID1
  626.                                     $VPN_ID1  \  $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 >> $LOG_ID1" $START
  627.                                     break
  628.                                 ;;
  629.                                 2|hop2)
  630.                                     clear
  631.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  632.                                     echo -e "vpn_status=$SELECT\n" > $LOG_ID2
  633.                                     echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID2
  634.                                     $VPN_ID2  \  $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START
  635.                                     break
  636.                                 ;;
  637.                                 3|hop3)
  638.                                     clear
  639.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  640.                                     echo -e "vpn_status=$SELECT\n" > $LOG_ID3
  641.                                     echo -e "vpn_selsect=$SELECT_1\n" >> $LOG_ID3
  642.                                     $VPN_ID3  \  $VPN_OPTION1 \ "$SELECT_1.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START
  643.                                     break
  644.                                 ;;
  645.                                 00)
  646.                                     break
  647.                                 ;;
  648.                                 *)
  649.                                     echo "Falsche Eingabe"
  650.                                 ;;
  651.                             esac
  652.                             done
  653.                         ;;
  654.                         *90)
  655.                             clear
  656.                             HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  657.                             HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  658.                             HOPID3=$(grep "openvpn --config" $LOG_ID3 | cut -c 150-250)
  659.                             VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  660.                             VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  661.                             VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  662.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  663.                             SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  664.                             SEQUENCE_ID3=$(grep "Sequence" $LOG_ID3)
  665.                             echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  666.                             echo "hop1 Sequence: $SEQUENCE_ID1"
  667.                             echo
  668.                             echo "hop2: $VPN_STATUS_ID2       $HOPID2"
  669.                             echo "hop2 Sequence: $SEQUENCE_ID2"
  670.                             echo
  671.                             echo "hop3: $VPN_STATUS_ID3       $HOPID3"
  672.                             echo "hop3 Sequence: $SEQUENCE_ID3"
  673.                             echo
  674.                         ;;
  675.                         *00)
  676.                             break
  677.                         ;;
  678.                         *)
  679.                             echo "Falsche Eingabe"
  680.                         ;;
  681.                     esac        
  682.                 done
  683.             ;;
  684.             2)
  685.                 if [ $ON_OF_CURL = true ]
  686.                     then
  687.                     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
  688.                 fi
  689.             ;;
  690.             3)
  691.                 if [ $ON_OFF_WGET = "true" ]
  692.                     then
  693.                         IP_CHECK=$(wget -q -O - https://checkip.perfect-privacy.com/csv)
  694.                         IP_ECHO="echo"
  695.                         IP_CHECK_ANZEIGE=$($IP_ECHO "Derzeitige IP:")
  696.                 fi
  697.             ;;
  698.             33)
  699.                 if [ $ON_OFF_WGET = "true" ]
  700.                     then
  701.                         IP_CHECK=""
  702.                         IP_ECHO="echo -e \c"
  703.                         IP_CHECK_ANZEIGE=""
  704.                 fi
  705.             ;;
  706.             4)
  707.                 if [ $ON_OFF_UFW = "true" ]
  708.                     then
  709.                         clear
  710.                         while true
  711.                         do
  712.                         echo
  713.                         echo "Killswith mit ufw"
  714.                         echo
  715.                         echo "Netzwerk Interface 1 \"$NETZINTERFACE_1\" wurde angegeben, evtl. anpassen"
  716.                         echo "Netzwerk Interface 2 \"$NETZINTERFACE_2\" wurde angegeben, evtl. anpassen"
  717.                         echo
  718.                         echo "Stand der IP-Liste: 18. Mai 2023"
  719.                         echo -e "\n"
  720.                         if which ufw > /dev/zero
  721.                             then
  722.                                 UFW_STATUS=$(ufw status | grep "Status:")
  723.                             else
  724.                                 UFW_STATUS=""
  725.                         fi
  726.                         $UFW_STATUS_ECHO_1 "$UFW_STATUS"
  727.                         echo
  728.                         echo "111) Killswith Resetten, Neu einlesen und Aktivieren"
  729.                         echo "112) Für das 2te Netzwerk Interface !!-Es werden dort nur die Server-Ip's eingetragen-!!"
  730.                         echo "  1) ufw Aktivieren            2) ufw Deaktivieren"
  731.                         echo "  3) ufw-Regeln Anzeigen      00) Zurück"
  732.                         echo
  733.                             read IPT
  734.                             case $IPT in
  735.                                 111)
  736.                                     clear
  737.                                     # Script für IP-Leak Schutz - Killswitch
  738.                                     #
  739.                                     #
  740.                                     # UFW reset mit --force bedeutet, dass keine Meldung zur Bestätigung kommt.
  741.                                     # Der Befehl reset wird direkt ausgeführt.
  742.                                     # Die Firewall wird zurückgesetzt und deaktiviert.
  743.                                     ufw --force reset
  744.                                     #
  745.                                     # Eingang und Ausgang wird geschlossen. Alles dicht.
  746.                                     ufw default deny incoming
  747.                                     ufw default deny outgoing
  748.                                     #
  749.                                     # Für die VPN Verbindung tun0, Ausgang, öffnen wir alle Ports.
  750.                                     ufw allow out on tun0 from any to any
  751.                                     ufw allow out on tun1 from any to any
  752.                                     ufw allow out on tun2 from any to any
  753.                                     #
  754.                                     # Das Netzwerk Interface (hier $NETZINTERFACE_1) bekommt Zugriff, Ausgang, zu den IP-Adressen der Perfect Privacy Server,
  755.                                     # um eine Verbindung aufbauen zu könnnen.
  756.                                     # Mit ifconfig im Terminal kann man das Netzwerk Interface auslesen, hier ist es $NETZINTERFACE_1.
  757.                                     #
  758.                                     # Ein DNS Server wird nicht benötigt, da der Zugruff direkt über die IP-Adressen erfolgt.
  759.                                     #
  760.                                     # Amsterdam Niederlande
  761.                                     ufw allow out on $NETZINTERFACE_1 to 95.168.167.236
  762.                                     ufw allow out on $NETZINTERFACE_1 to 95.211.95.233
  763.                                     ufw allow out on $NETZINTERFACE_1 to 95.211.95.244
  764.                                     ufw allow out on $NETZINTERFACE_1 to 37.48.94.1
  765.                                     ufw allow out on $NETZINTERFACE_1 to 85.17.64.131
  766.                                     ufw allow out on $NETZINTERFACE_1 to 85.17.28.145
  767.                                     #
  768.                                     # Basel Schweiz
  769.                                     ufw allow out on $NETZINTERFACE_1 to 82.199.134.162
  770.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.7.66
  771.                                     #
  772.                                     # Belgrade Serbien
  773.                                     ufw allow out on $NETZINTERFACE_1 to 152.89.160.98
  774.                                     #
  775.                                     # Berlin Deutschland
  776.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.7.98
  777.                                     #
  778.                                     # Calais Frankreich
  779.                                     ufw allow out on $NETZINTERFACE_1 to 149.202.77.77
  780.                                     #
  781.                                     # Chicago USA
  782.                                     ufw allow out on $NETZINTERFACE_1 to 104.237.193.26
  783.                                     #
  784.                                     # Copenhagen Dänemark
  785.                                     ufw allow out on $NETZINTERFACE_1 to 185.152.32.66
  786.                                     #
  787.                                     # Dallas USA
  788.                                     ufw allow out on $NETZINTERFACE_1 to 138.128.136.164
  789.                                     #
  790.                                     # Erfurt Deutschland
  791.                                     ufw allow out on $NETZINTERFACE_1 to 217.114.218.18
  792.                                     #
  793.                                     # Frankfurt Deutschland
  794.                                     ufw allow out on $NETZINTERFACE_1 to 78.159.106.214
  795.                                     #
  796.                                     # Hamburg Deutschland
  797.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.7.114
  798.                                     #
  799.                                     # Hongkong China
  800.                                     ufw allow out on $NETZINTERFACE_1 to 209.58.188.129
  801.                                     #
  802.                                     # Jerusalem Israel
  803.                                     ufw allow out on $NETZINTERFACE_1 to 82.81.85.231
  804.                                     #
  805.                                     # London Großbritanien
  806.                                     ufw allow out on $NETZINTERFACE_1 to 82.199.130.34
  807.                                     ufw allow out on $NETZINTERFACE_1 to 5.187.21.98
  808.                                     #
  809.                                     # Los Angeles USA
  810.                                     ufw allow out on $NETZINTERFACE_1 to 162.245.206.242
  811.                                     #
  812.                                     # Madrid Spanien
  813.                                     ufw allow out on $NETZINTERFACE_1 to 185.183.106.146
  814.                                     #
  815.                                     # Malmoe Schweden
  816.                                     ufw allow out on $NETZINTERFACE_1 to 194.68.170.51
  817.                                     #
  818.                                     # Manchester Großbritanien
  819.                                     ufw allow out on $NETZINTERFACE_1 to 217.138.196.98
  820.                                     #
  821.                                     # Miami USA
  822.                                     ufw allow out on $NETZINTERFACE_1 to 38.132.118.66
  823.                                     #
  824.                                     # Milan Italien
  825.                                     ufw allow out on $NETZINTERFACE_1 to 192.145.127.210
  826.                                     #
  827.                                     # Montreal Kanada
  828.                                     ufw allow out on $NETZINTERFACE_1 to 167.114.209.103
  829.                                     #
  830.                                     # Moskau Russland
  831.                                     ufw allow out on $NETZINTERFACE_1 to 192.162.100.240
  832.                                     #
  833.                                     # New York USA
  834.                                     ufw allow out on $NETZINTERFACE_1 to 96.9.246.194
  835.                                     #
  836.                                     # Nürmberg Deutschland
  837.                                     ufw allow out on $NETZINTERFACE_1 to 81.95.5.34
  838.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.10.194
  839.                                     #
  840.                                     # Oslo Norwegen
  841.                                     ufw allow out on $NETZINTERFACE_1 to 91.205.187.186
  842.                                     #
  843.                                     # Paris Frankreich
  844.                                     ufw allow out on $NETZINTERFACE_1 to 5.135.143.84
  845.                                     #
  846.                                     # Prague Tschechien
  847.                                     ufw allow out on $NETZINTERFACE_1 to 195.138.249.2
  848.                                     #
  849.                                     # Reykjavik Island
  850.                                     ufw allow out on $NETZINTERFACE_1 to 82.221.111.10
  851.                                     #
  852.                                     # Riga Lettland
  853.                                     ufw allow out on $NETZINTERFACE_1 to 46.183.221.194
  854.                                     #
  855.                                     # Rotterdam Niederlande
  856.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.150.106
  857.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.150.138
  858.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.152.102
  859.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.152.189
  860.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.153.106
  861.                                     #
  862.                                     # Singapore Singapur
  863.                                     ufw allow out on $NETZINTERFACE_1 to 209.58.162.197
  864.                                     ufw allow out on $NETZINTERFACE_1 to 103.254.153.202
  865.                                     #
  866.                                     # Stockholm Schweden
  867.                                     ufw allow out on $NETZINTERFACE_1 to 185.41.240.18
  868.                                     ufw allow out on $NETZINTERFACE_1 to 185.217.1.2
  869.                                     #
  870.                                     # Sydney Australien
  871.                                     ufw allow out on $NETZINTERFACE_1 to 66.203.112.47
  872.                                     ufw allow out on $NETZINTERFACE_1 to 66.203.112.50
  873.                                     #
  874.                                     # Tokyo Japan
  875.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.145.166
  876.                                     #
  877.                                     # Vienna Österreich
  878.                                     ufw allow out on $NETZINTERFACE_1 to 146.70.28.34
  879.                                     #
  880.                                     # Warsaw Polen
  881.                                     ufw allow out on $NETZINTERFACE_1 to 146.70.85.162
  882.                                     #
  883.                                     # Zürich Schweiz
  884.                                     ufw allow out on $NETZINTERFACE_1 to 152.89.162.226
  885.                                     ufw allow out on $NETZINTERFACE_1 to 37.120.213.194
  886.                                     ufw allow out on $NETZINTERFACE_1 to 37.120.213.210
  887.                                     #
  888.                                     # Zugang zum Heimnetzwerk IPv4
  889.                                     ufw allow out to 127.0.0.0/8
  890.                                     ufw allow in to 127.0.0.0/8
  891.                                     ufw allow out to 10.0.0.0/8
  892.                                     ufw allow in to 10.0.0.0/8
  893.                                     ufw allow out to 172.16.0.0/12
  894.                                     ufw allow in to 172.16.0.0/12
  895.                                     ufw allow out to 192.168.0.0/16
  896.                                     ufw allow in to 192.168.0.0/16
  897.                                     ufw allow out to 224.0.0.0/24
  898.                                     ufw allow in to 224.0.0.0/24
  899.                                     ufw allow out to 239.0.0.0/8
  900.                                     ufw allow in to 239.0.0.0/8
  901.                                     # Zugang zum Heimnetzwerk IPv6
  902.                                     ufw allow out to fe80::/64
  903.                                     ufw allow in to fe80::/64
  904.                                     ufw allow out to ff01::/16
  905.                                     ufw allow in to ff01::/16
  906.                                     ufw allow out to ff02::/16
  907.                                     ufw allow in to ff02::/16
  908.                                     ufw allow out to ff05::/16
  909.                                     ufw allow in to ff05::/16
  910.                                     #
  911.                                     # UFW starten
  912.                                     ufw enable
  913.                                     #
  914.                                     # Mit ufw status numbered kann man sich die Regeln im Terminal anschauen.
  915.                                     clear
  916.                                 ;;
  917.                                 112)
  918.                                     clear
  919.                                     # Amsterdam Niederlande
  920.                                     ufw allow out on $NETZINTERFACE_2 to 95.168.167.236
  921.                                     ufw allow out on $NETZINTERFACE_2 to 95.211.95.233
  922.                                     ufw allow out on $NETZINTERFACE_2 to 95.211.95.244
  923.                                     ufw allow out on $NETZINTERFACE_2 to 37.48.94.1
  924.                                     ufw allow out on $NETZINTERFACE_2 to 85.17.64.131
  925.                                     ufw allow out on $NETZINTERFACE_2 to 85.17.28.145
  926.                                     #
  927.                                     # Basel Schweiz
  928.                                     ufw allow out on $NETZINTERFACE_2 to 82.199.134.162
  929.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.66
  930.                                     #
  931.                                     # Belgrade Serbien
  932.                                     ufw allow out on $NETZINTERFACE_2 to 152.89.160.98
  933.                                     #
  934.                                     # Berlin Deutschland
  935.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.98
  936.                                     #
  937.                                     # Calais Frankreich
  938.                                     ufw allow out on $NETZINTERFACE_2 to 149.202.77.77
  939.                                     #
  940.                                     # Chicago USA
  941.                                     ufw allow out on $NETZINTERFACE_2 to 104.237.193.26
  942.                                     #
  943.                                     # Copenhagen Dänemark
  944.                                     ufw allow out on $NETZINTERFACE_2 to 185.152.32.66
  945.                                     #
  946.                                     # Dallas USA
  947.                                     ufw allow out on $NETZINTERFACE_2 to 138.128.136.164
  948.                                     #
  949.                                     # Erfurt Deutschland
  950.                                     ufw allow out on $NETZINTERFACE_2 to 217.114.218.18
  951.                                     #
  952.                                     # Frankfurt Deutschland
  953.                                     ufw allow out on $NETZINTERFACE_2 to 78.159.106.214
  954.                                     #
  955.                                     # Hamburg Deutschland
  956.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.114
  957.                                     #
  958.                                     # Hongkong China
  959.                                     ufw allow out on $NETZINTERFACE_2 to 209.58.188.129
  960.                                     #
  961.                                     # Jerusalem Israel
  962.                                     ufw allow out on $NETZINTERFACE_2 to 82.81.85.231
  963.                                     #
  964.                                     # London Großbritanien
  965.                                     ufw allow out on $NETZINTERFACE_2 to 82.199.130.34
  966.                                     ufw allow out on $NETZINTERFACE_2 to 5.187.21.98
  967.                                     #
  968.                                     # Los Angeles USA
  969.                                     ufw allow out on $NETZINTERFACE_2 to 162.245.206.242
  970.                                     #
  971.                                     # Madrid Spanien
  972.                                     ufw allow out on $NETZINTERFACE_2 to 185.183.106.146
  973.                                     #
  974.                                     # Malmoe Schweden
  975.                                     ufw allow out on $NETZINTERFACE_2 to 194.68.170.51
  976.                                     #
  977.                                     # Manchester Großbritanien
  978.                                     ufw allow out on $NETZINTERFACE_2 to 217.138.196.98
  979.                                     #
  980.                                     # Miami USA
  981.                                     ufw allow out on $NETZINTERFACE_2 to 38.132.118.66
  982.                                     #
  983.                                     # Milan Italien
  984.                                     ufw allow out on $NETZINTERFACE_2 to 192.145.127.210
  985.                                     #
  986.                                     # Montreal Kanada
  987.                                     ufw allow out on $NETZINTERFACE_2 to 167.114.209.103
  988.                                     #
  989.                                     # Moskau Russland
  990.                                     ufw allow out on $NETZINTERFACE_2 to 192.162.100.240
  991.                                     #
  992.                                     # New York USA
  993.                                     ufw allow out on $NETZINTERFACE_2 to 96.9.246.194
  994.                                     #
  995.                                     # Nürmberg Deutschland
  996.                                     ufw allow out on $NETZINTERFACE_2 to 81.95.5.34
  997.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.10.194
  998.                                     #
  999.                                     # Oslo Norwegen
  1000.                                     ufw allow out on $NETZINTERFACE_2 to 91.205.187.186
  1001.                                     #
  1002.                                     # Paris Frankreich
  1003.                                     ufw allow out on $NETZINTERFACE_2 to 5.135.143.84
  1004.                                     #
  1005.                                     # Prague Tschechien
  1006.                                     ufw allow out on $NETZINTERFACE_2 to 195.138.249.2
  1007.                                     #
  1008.                                     # Reykjavik Island
  1009.                                     ufw allow out on $NETZINTERFACE_2 to 82.221.111.10
  1010.                                     #
  1011.                                     # Riga Lettland
  1012.                                     ufw allow out on $NETZINTERFACE_2 to 46.183.221.194
  1013.                                     #
  1014.                                     # Rotterdam Niederlande
  1015.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.150.106
  1016.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.150.138
  1017.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.152.102
  1018.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.152.189
  1019.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.153.106
  1020.                                     #
  1021.                                     # Singapore Singapur
  1022.                                     ufw allow out on $NETZINTERFACE_2 to 209.58.162.197
  1023.                                     ufw allow out on $NETZINTERFACE_2 to 103.254.153.202
  1024.                                     #
  1025.                                     # Stockholm Schweden
  1026.                                     ufw allow out on $NETZINTERFACE_2 to 185.41.240.18
  1027.                                     ufw allow out on $NETZINTERFACE_2 to 185.217.1.2
  1028.                                     #
  1029.                                     # Sydney Australien
  1030.                                     ufw allow out on $NETZINTERFACE_2 to 66.203.112.47
  1031.                                     ufw allow out on $NETZINTERFACE_2 to 66.203.112.50
  1032.                                     #
  1033.                                     # Tokyo Japan
  1034.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.145.166
  1035.                                     #
  1036.                                     # Vienna Österreich
  1037.                                     ufw allow out on $NETZINTERFACE_2 to 146.70.28.34
  1038.                                     #
  1039.                                     # Warsaw Polen
  1040.                                     ufw allow out on $NETZINTERFACE_2 to 146.70.85.162
  1041.                                     #
  1042.                                     # Zürich Schweiz
  1043.                                     ufw allow out on $NETZINTERFACE_2 to 152.89.162.226
  1044.                                     ufw allow out on $NETZINTERFACE_2 to 37.120.213.194
  1045.                                     ufw allow out on $NETZINTERFACE_2 to 37.120.213.210
  1046.                                 ;;
  1047.                                 1)
  1048.                                     clear
  1049.                                     echo
  1050.                                     ufw enable
  1051.                                 ;;
  1052.                                 2)
  1053.                                     clear
  1054.                                     echo
  1055.                                     ufw disable
  1056.                                 ;;
  1057.                                 3)
  1058.                                     clear
  1059.                                     ufw status numbered | less
  1060.                                 ;;
  1061.                                 00)
  1062.                                     break
  1063.                                 ;;
  1064.                                 *)
  1065.                                     clear
  1066.                                     echo
  1067.                                     echo "Falsche Eingabe"
  1068.                                 ;;
  1069.                             esac
  1070.                         done
  1071.                 fi
  1072.             ;;
  1073.             5)
  1074.                 if [ $ON_OFF_MACCHANGER = "true" ]
  1075.                     then
  1076.                         while true
  1077.                         do
  1078.                         clear
  1079.                         echo
  1080.                         echo "MAC Adresse in eine zufällige ändern, mit macchanger"
  1081.                         echo
  1082.                         echo "Netzwerk Interface 1 \"$NETZINTERFACE_1\" wurde angegeben, evtl. anpassen"
  1083.                         macchanger -s $NETZINTERFACE_1 2> /dev/zero || echo "$NETZINTERFACE_1 nicht vorhanden"
  1084.                         echo
  1085.                         echo "Netzwerk Interface 2 \"$NETZINTERFACE_2\" wurde angegeben, evtl. anpassen"
  1086.                         macchanger -s $NETZINTERFACE_2 2> /dev/zero || echo "$NETZINTERFACE_2 nicht vorhanden"
  1087.                         echo
  1088.                         echo "Wenn die Mac-Adresse geändert wird, werden die Verbindungen unterbrochen"
  1089.                         echo "und die VPN muss neu Verbunden werden (reconnect)."
  1090.                         echo
  1091.                         echo "  1) $NETZINTERFACE_1 ändern      111) $NETZINTERFACE_1 Resetten auf Permanent"
  1092.                         echo "  2) $NETZINTERFACE_2 ändern      222) $NETZINTERFACE_2 Resetten auf Permanent"
  1093.                         echo
  1094.                         echo "  3) $NETZINTERFACE_1 und $NETZINTERFACE_2 ändern"
  1095.                         echo "333) $NETZINTERFACE_1 und $NETZINTERFACE_2 Resetten auf Permanent"
  1096.                         echo
  1097.                         echo " 00) Zurück"
  1098.                             read MAC
  1099.                             case $MAC in
  1100.                                 1)
  1101.                                     while true
  1102.                                     do
  1103.                                     MAC_1_ERROR="true"
  1104.                                     clear
  1105.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
  1106.                                     if [ $MAC_1_ERROR = true ] > /dev/zero
  1107.                                     then
  1108.                                         $NETZMANAGER_STOP
  1109.                                         sleep 1
  1110.                                         macchanger -r $NETZINTERFACE_1
  1111.                                         $NETZMANAGER_START
  1112.                                         echo
  1113.                                         echo "Weiter mit >ENTER<"
  1114.                                         read MAC_1
  1115.                                         case $MAC_1 in
  1116.                                             *)
  1117.                                                 break
  1118.                                             ;;
  1119.                                         esac
  1120.                                     else
  1121.                                         echo "$NETZINTERFACE_1 nicht vorhanden"
  1122.                                         echo
  1123.                                         echo "Weiter mit >ENTER<"
  1124.                                         read MAC_1_ERR
  1125.                                         case $MAC_1_ERR in
  1126.                                             *)
  1127.                                                 break
  1128.                                             ;;
  1129.                                         esac
  1130.                                     fi
  1131.                                     break
  1132.                                     done
  1133.                                 ;;
  1134.                                 111)
  1135.                                     while true
  1136.                                     do
  1137.                                     MAC_111_ERROR="true"
  1138.                                     clear
  1139.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_111_ERROR="false"
  1140.                                     if [ $MAC_111_ERROR = true ] > /dev/zero
  1141.                                     then
  1142.                                         $NETZMANAGER_STOP
  1143.                                         sleep 1
  1144.                                         macchanger -p $NETZINTERFACE_1
  1145.                                         $NETZMANAGER_START
  1146.                                         echo
  1147.                                         echo "Weiter mit >ENTER<"
  1148.                                         read MAC_111
  1149.                                         case $MAC_111 in
  1150.                                             *)
  1151.                                                 break
  1152.                                             ;;
  1153.                                         esac
  1154.                                     else
  1155.                                         echo "$NETZINTERFACE_1 nicht vorhanden"
  1156.                                         echo
  1157.                                         echo "Weiter mit >ENTER<"
  1158.                                         read MAC_111_ERR
  1159.                                         case $MAC_111_ERR in
  1160.                                             *)
  1161.                                                 break
  1162.                                             ;;
  1163.                                         esac
  1164.                                     fi
  1165.                                     break
  1166.                                     done
  1167.                                 ;;
  1168.                                 2)
  1169.                                     while true
  1170.                                     do
  1171.                                     MAC_2_ERROR="true"
  1172.                                     clear
  1173.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
  1174.                                     if [ $MAC_2_ERROR = true ] > /dev/zero
  1175.                                     then
  1176.                                         $NETZMANAGER_STOP
  1177.                                         sleep 1
  1178.                                         macchanger -r $NETZINTERFACE_2
  1179.                                         $NETZMANAGER_START
  1180.                                         echo
  1181.                                         echo "Weiter mit >ENTER<"
  1182.                                         read MAC_2
  1183.                                         case $MAC_2 in
  1184.                                             *)
  1185.                                                 break
  1186.                                             ;;
  1187.                                         esac
  1188.                                     else
  1189.                                         echo "$NETZINTERFACE_2 nicht vorhanden"
  1190.                                         echo
  1191.                                         echo "Weiter mit >ENTER<"
  1192.                                         read MAC_2_ERR
  1193.                                         case $MAC_2_ERR in
  1194.                                             *)
  1195.                                                 break
  1196.                                             ;;
  1197.                                         esac
  1198.                                     fi
  1199.                                     break
  1200.                                     done
  1201.                                 ;;
  1202.                                 222)
  1203.                                     while true
  1204.                                     do
  1205.                                     MAC_222_ERROR="true"
  1206.                                     clear
  1207.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_222_ERROR="false"
  1208.                                     if [ $MAC_222_ERROR = true ] > /dev/zero
  1209.                                     then
  1210.                                         $NETZMANAGER_STOP
  1211.                                         sleep 1
  1212.                                         macchanger -p $NETZINTERFACE_2
  1213.                                         $NETZMANAGER_START
  1214.                                         echo
  1215.                                         echo "Weiter mit >ENTER<"
  1216.                                         read MAC_222
  1217.                                         case $MAC_222 in
  1218.                                             *)
  1219.                                                 break
  1220.                                             ;;
  1221.                                         esac
  1222.                                     else
  1223.                                         echo "$NETZINTERFACE_2 nicht vorhanden"
  1224.                                         echo
  1225.                                         echo "Weiter mit >ENTER<"
  1226.                                         read MAC_222_ERR
  1227.                                         case $MAC_222_ERR in
  1228.                                             *)
  1229.                                                 break
  1230.                                             ;;
  1231.                                         esac
  1232.                                     fi
  1233.                                     break
  1234.                                     done
  1235.                                 ;;
  1236.                                 3)
  1237.                                     while true
  1238.                                     do
  1239.                                     MAC_3_ERROR="true"
  1240.                                     clear
  1241.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
  1242.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
  1243.                                     if [ $MAC_3_ERROR = true ] > /dev/zero
  1244.                                     then
  1245.                                         $NETZMANAGER_STOP
  1246.                                         sleep 1
  1247.                                         macchanger -r $NETZINTERFACE_1
  1248.                                         sleep 0.2
  1249.                                         macchanger -r $NETZINTERFACE_2
  1250.                                         $NETZMANAGER_START
  1251.                                         echo
  1252.                                         echo "Weiter mit >ENTER<"
  1253.                                         read MAC_3
  1254.                                         case $MAC_3 in
  1255.                                             *)
  1256.                                                 break
  1257.                                             ;;
  1258.                                         esac
  1259.                                     else
  1260.                                         echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1261.                                         echo
  1262.                                         echo "Weiter mit >ENTER<"
  1263.                                         read MAC_3_ERR
  1264.                                         case $MAC_3_ERR in
  1265.                                             *)
  1266.                                                 break
  1267.                                             ;;
  1268.                                         esac
  1269.                                     fi
  1270.                                     break
  1271.                                     done
  1272.                                 ;;
  1273.                                 333)
  1274.                                     while true
  1275.                                     do
  1276.                                     MAC_333_ERROR="true"
  1277.                                     clear
  1278.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_333_ERROR="false"
  1279.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_333_ERROR="false"
  1280.                                     if [ $MAC_3_ERROR = true ] > /dev/zero
  1281.                                     then
  1282.                                         $NETZMANAGER_STOP
  1283.                                         sleep 1
  1284.                                         macchanger -p $NETZINTERFACE_1
  1285.                                         sleep 0.2
  1286.                                         macchanger -p $NETZINTERFACE_2
  1287.                                         $NETZMANAGER_START
  1288.                                         echo
  1289.                                         echo "Weiter mit >ENTER<"
  1290.                                         read MAC_333
  1291.                                         case $MAC_333 in
  1292.                                             *)
  1293.                                                 break
  1294.                                             ;;
  1295.                                         esac
  1296.                                     else
  1297.                                         echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1298.                                         echo
  1299.                                         echo "Weiter mit >ENTER<"
  1300.                                         read MAC_333_ERR
  1301.                                         case $MAC_333_ERR in
  1302.                                             *)
  1303.                                                 break
  1304.                                             ;;
  1305.                                         esac
  1306.                                     fi
  1307.                                     break
  1308.                                     done
  1309.                                 ;;
  1310.                                 00)
  1311.                                     break
  1312.                                 ;;
  1313.                                 *)
  1314.                                 clear
  1315.                                 ;;
  1316.                             esac
  1317.                         done
  1318.                 fi
  1319.             ;;
  1320.             51)
  1321.                 while true
  1322.                 do
  1323.                 MAC_1_ERROR="true"
  1324.                 clear
  1325.                 macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
  1326.                 if [ $MAC_1_ERROR = true ] > /dev/zero
  1327.                 then
  1328.                     $NETZMANAGER_STOP
  1329.                     sleep 1
  1330.                     macchanger -r $NETZINTERFACE_1
  1331.                     $NETZMANAGER_START
  1332.                     echo
  1333.                     echo "Weiter mit >ENTER<"
  1334.                     read MAC_1
  1335.                     case $MAC_1 in
  1336.                         *)
  1337.                             break
  1338.                         ;;
  1339.                     esac
  1340.                 else
  1341.                     echo "$NETZINTERFACE_1 nicht vorhanden"
  1342.                     echo
  1343.                     echo "Weiter mit >ENTER<"
  1344.                     read MAC_1_ERR
  1345.                     case $MAC_1_ERR in
  1346.                         *)
  1347.                             break
  1348.                         ;;
  1349.                     esac
  1350.                 fi
  1351.                 break
  1352.                 done
  1353.             ;;
  1354.             52)
  1355.                 while true
  1356.                 do
  1357.                 MAC_2_ERROR="true"
  1358.                 clear
  1359.                 macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
  1360.                 if [ $MAC_2_ERROR = true ] > /dev/zero
  1361.                 then
  1362.                     $NETZMANAGER_STOP
  1363.                     sleep 1
  1364.                     macchanger -r $NETZINTERFACE_2
  1365.                     $NETZMANAGER_START
  1366.                     echo
  1367.                     echo "Weiter mit >ENTER<"
  1368.                     read MAC_2
  1369.                     case $MAC_2 in
  1370.                         *)
  1371.                             break
  1372.                         ;;
  1373.                     esac
  1374.                 else
  1375.                     echo "$NETZINTERFACE_2 nicht vorhanden"
  1376.                     echo
  1377.                     echo "Weiter mit >ENTER<"
  1378.                     read MAC_2_ERR
  1379.                     case $MAC_2_ERR in
  1380.                         *)
  1381.                             break
  1382.                         ;;
  1383.                     esac
  1384.                 fi
  1385.                 break
  1386.                 done
  1387.             ;;
  1388.             53)
  1389.                 while true
  1390.                 do
  1391.                 MAC_3_ERROR="true"
  1392.                 clear
  1393.                 macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
  1394.                 macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
  1395.                 if [ $MAC_3_ERROR = true ] > /dev/zero
  1396.                 then
  1397.                     $NETZMANAGER_STOP
  1398.                     sleep 1
  1399.                     macchanger -r $NETZINTERFACE_1
  1400.                     sleep 0.2
  1401.                     macchanger -r $NETZINTERFACE_2
  1402.                     $NETZMANAGER_START
  1403.                     echo
  1404.                     echo "Weiter mit >ENTER<"
  1405.                     read MAC_3
  1406.                     case $MAC_3 in
  1407.                         *)
  1408.                             break
  1409.                         ;;
  1410.                     esac
  1411.                 else
  1412.                     echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1413.                     echo
  1414.                     echo "Weiter mit >ENTER<"
  1415.                     read MAC_3_ERR
  1416.                     case $MAC_3_ERR in
  1417.                         *)
  1418.                             break
  1419.                         ;;
  1420.                     esac
  1421.                 fi
  1422.                 break
  1423.                 done
  1424.             ;;
  1425.             6)
  1426.                 while true
  1427.                 do
  1428.                     clear
  1429.                     ECHO_HOP_VU=""
  1430.                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1431.                     VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1432.                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1433.                     PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1434.                     PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1435.                     if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1436.                         then
  1437.                             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Aktiv\" PID: $PID_VU_GREP"
  1438.                         else
  1439.                             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Inaktiv\""
  1440.                     fi
  1441.                     echo
  1442.                     echo "VPN Überwachung von openvpn-pp"
  1443.                     echo
  1444.                     echo "|> Dies ist kein Ersatz für eine Killswitch <|"
  1445.                     echo "Es Unterstützt kein MultiHop"
  1446.                     echo
  1447.                     echo "############################"
  1448.                     echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  1449.                     echo "hop1 Sequence: $SEQUENCE_ID1"
  1450.                     echo
  1451.                     echo "$ECHO_PGREP_VPN_VU"
  1452.                     echo "############################"
  1453.                     echo
  1454.                     echo "Ausgewählte Server:"
  1455.                     echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1456.                     echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1457.                     echo
  1458.                     echo "1) Im Hinterrund Starten      2) Stop     3) Reconnect-Schleife erzwingen"
  1459.                     echo "4) Server ändern"
  1460.                     echo
  1461.                     echo "11) zum Überwachungsskript |> es werden hop2 und hop3 geschlossen <|"
  1462.                     echo "00) Zurück"
  1463.                         read UEBERWACHUNG
  1464.                         case $UEBERWACHUNG in
  1465.                             1)
  1466.                                 clear
  1467.                                 PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1468.                                 PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1469.                                 if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1470.                                     then
  1471.                                         echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  1472.                                         sleep 2
  1473.                                     else
  1474.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  1475.                                         PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  1476.                                         echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  1477.                                 fi
  1478.                             ;;
  1479.                             2)
  1480.                                 clear
  1481.                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
  1482.                                 echo "PID=" > $VU_PID_CACHE
  1483.                             ;;
  1484.                             3)
  1485.                                 echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
  1486.                             ;;
  1487.                             4)
  1488.                                 clear
  1489.                                 echo
  1490.                                 echo "Serverauswahl für die Überwachung."
  1491.                                 echo
  1492.                                 echo "Die Änderung wird sofort in die cache geschrieben"
  1493.                                 echo "und beim nächsten Reconnect übernommen"
  1494.                                 echo "dabei wird die cache-Datei neu angelegt"
  1495.                                 echo
  1496.                                 echo "Weiter mit >ENTER<"
  1497.                                 read MENU_VU
  1498.                                 clear
  1499.                                 case $MENU_VU in
  1500.  
  1501.                                     *)
  1502.                                         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"
  1503.                                         do
  1504.                                             if [[ "$SELECT_VU" ]]
  1505.                                             then
  1506.                                                 echo -e "\n\"$SELECT_VU\" wurde ausgewählt"
  1507.                                                 SELECT_1_VU=$(echo "$SELECT_VU" | cut -c 7-50)
  1508.                                             else
  1509.                                                 echo -e "\n\"$REPLY\" wurde ausgewählt"
  1510.                                                 SELECT_VU=$REPLY
  1511.                                                 REPLY=$SELECT_1_VU
  1512.                                             fi
  1513.  
  1514.                                             case "$SELECT_VU" in
  1515.                                                 *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)
  1516.                                                     echo ""
  1517.                                                     while true
  1518.                                                     do
  1519.                                                         echo
  1520.                                                         echo " 1) Hauptverbindung     2) Ersatzserver 1     3) Ersatzserver 2"
  1521.                                                         echo "00) Zurück"
  1522.                                                         echo "$SELECT_VU"
  1523.                                                         read STADT_VU
  1524.                                                         case $STADT_VU in
  1525.                                                             1)
  1526.                                                                 clear
  1527.                                                                 HAUPTVERBINDUNG=$SELECT_1_VU
  1528.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1529.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1530.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1531.                                                                 sleep 0.2
  1532.                                                                 break
  1533.                                                             ;;
  1534.                                                             2)
  1535.                                                                 clear
  1536.                                                                 ERSATZSERVER_1=$SELECT_1_VU
  1537.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1538.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1539.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1540.                                                                 sleep 0.2
  1541.                                                                 break
  1542.                                                             ;;
  1543.                                                             3)
  1544.                                                                 clear
  1545.                                                                 ERSATZSERVER_2=$SELECT_1_VU
  1546.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1547.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1548.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1549.                                                                 sleep 0.2
  1550.                                                                 break
  1551.                                                             ;;
  1552.                                                             esac
  1553.                                                             done
  1554.                                                             ;;
  1555.                                                     90)
  1556.                                                         echo "Ausgewählte Server:"
  1557.                                                         echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1558.                                                         echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1559.                                                         echo
  1560.                                                     ;;
  1561.                                                     00)
  1562.                                                         break
  1563.                                                     ;;
  1564.                                                     *)
  1565.                                                         echo "Falsche Eingabe"
  1566.                                                     ;;
  1567.                                             esac
  1568.                                         done
  1569.                                     ;;
  1570.                                 esac
  1571.                             ;;
  1572.                             11)
  1573.                                 while true
  1574.                                 do
  1575.                                     clear
  1576.                                     PGREP_HOP2=$(pgrep -alf "hopid 2")
  1577.                                     PGREP_HOP3=$(pgrep -alf "hopid 3")
  1578.                                     if [ $PGREP_HOP2  = ] 2>/dev/zero
  1579.                                         then
  1580.                                             test
  1581.                                         else/tmp/.openvpn-pp
  1582.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1583.                                         echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
  1584.                                         ECHO_HOP_VU="hop2 wurde geschlossen"
  1585.                                     fi
  1586.                                     if [ $PGREP_HOP3 = ] 2>/dev/zero
  1587.                                         then
  1588.                                             test
  1589.                                         else
  1590.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1591.                                         echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
  1592.                                         ECHO_HOP_VU="hop2 und hop3 wurden geschlossen"
  1593.                                     fi
  1594.                                     AUSLOESER="false"
  1595.                                     echo
  1596.                                     echo "$ECHO_HOP_VU"
  1597.                                     echo
  1598.                                     echo "Dies wird \"nicht\" im Hintergrund gestartet,"
  1599.                                     echo "das gestartete Überwachungsskript \"muss geöffnet bleiben\"."
  1600.                                     echo "STRG+C um das gestartete Script zu beenden."
  1601.                                     echo
  1602.                                     echo "Um im Hintergrund zu Starten: zurück und \"1) Im Hinterrund Starten\" auswählen"
  1603.                                     echo
  1604.                                     echo "Ausgewählte Server:"
  1605.                                     echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1606.                                     echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1607.                                     echo
  1608.                                     echo "00) Zurück    -/-    Weiter mit >ENTER<"
  1609.                                     read XYZABC
  1610.                                     case $XYZABC in
  1611.                                         00)
  1612.                                             break
  1613.                                         ;;
  1614.                                         *)
  1615.                                             while true
  1616.                                             do
  1617.                                                 clear
  1618.                                                 UE="0"
  1619.                                                 VERSUCHE_SERVER="0"
  1620.                                                 VERSUCHE_GESAMT="0"
  1621.                                                 SERVER=$HAUPTVERBINDUNG
  1622.                                                 AUSLOESER_1=$(ps -e | grep "openvpn")
  1623.                                                 AUSLOESER_2=$(grep "Sequence" $LOG_ID1)
  1624.                                                 AUSLOESER_3=$(grep "Recursive routing detected" $LOG_ID1)
  1625.                                                 AUSLOESER_4=$(grep "Inactivity timeout" $LOG_ID1)
  1626.  
  1627.                                                 if [ $ON_OFF_MACCHANGER = "true" ]
  1628.                                                     then
  1629.                                                         MAC_STATUS_N1_CURRENT=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Current | cut -c 16-32)
  1630.                                                         MAC_STATUS_N1_PERMA=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Permanent | cut -c 16-32)
  1631.                                                         if [ $MAC_STATUS_N1_CURRENT = $MAC_STATUS_N1_PERMA ]
  1632.                                                             then
  1633.                                                                 MAC_STATUS_N1=" |> $NETZINTERFACE_1 nicht geändert <| "
  1634.                                                             else
  1635.                                                                 MAC_STATUS_N1="\"$NETZINTERFACE_1 geändert\""
  1636.                                                         fi
  1637.                                                         macchanger -s $NETZINTERFACE_1 &>/dev/zero || MAC_STATUS_N1=""
  1638.  
  1639.                                                         MAC_STATUS_N2_CURRENT=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Current | cut -c 16-32)
  1640.                                                         MAC_STATUS_N2_PERMA=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Permanent | cut -c 16-32)
  1641.                                                         if [ $MAC_STATUS_N2_CURRENT = $MAC_STATUS_N2_PERMA ]
  1642.                                                             then
  1643.                                                                 MAC_STATUS_N2=" |> $NETZINTERFACE_2 nicht geändert <| "
  1644.                                                             else
  1645.                                                                 MAC_STATUS_N2="\"$NETZINTERFACE_2 geändert\""
  1646.                                                         fi
  1647.                                                         macchanger -s $NETZINTERFACE_2 2>/dev/zero || MAC_STATUS_N2=""
  1648.                                                     else
  1649.                                                         MAC_STATUS_N1=""
  1650.                                                         MAC_STATUS_N2=""
  1651.                                                 fi
  1652.                                                
  1653.                                                 HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1654.                                                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1655.                                                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1656.  
  1657.                                                 echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  1658.                                                 echo "hop1 Sequence: $SEQUENCE_ID1"
  1659.                                                 if type ufw &> /dev/zero
  1660.                                                     then
  1661.                                                         UFW_STATUS=$(ufw status | grep "Status:")
  1662.                                                     else
  1663.                                                         UFW_STATUS=""
  1664.                                                 fi
  1665.                                                 $UFW_STATUS_ECHO_2
  1666.                                                 $UFW_STATUS_ECHO_1 "$UFW_STATUS"
  1667.                                                 $MACCHANGER_ECHO "MAC-Adresse: $MAC_STATUS_N1 $MAC_STATUS_N2"
  1668.                                                 echo
  1669.                                                 date
  1670.                                                
  1671.                                                 if [ $AUSLOESER_1 =  ] 2> /dev/zero
  1672.                                                     then
  1673.                                                         AUSLOESER="true"
  1674.                                                 fi
  1675.                                                
  1676.                                                 if [ $AUSLOESER_2 =  ] 2>/dev/zero
  1677.                                                     then
  1678.                                                         AUSLOESER="true"
  1679.                                                 fi
  1680.                                                
  1681.                                                 if [ $AUSLOESER_3 =  ] 2> /dev/zero
  1682.                                                     then
  1683.                                                         # false
  1684.                                                         test
  1685.                                                     else
  1686.                                                         AUSLOESER="true"
  1687.                                                 fi
  1688.                                                
  1689.                                                 if [ $AUSLOESER_4 =  ] 2> /dev/zero
  1690.                                                     then
  1691.                                                         # false
  1692.                                                         test
  1693.                                                     else
  1694.                                                         AUSLOESER="true"
  1695.                                                 fi
  1696.                                                
  1697.                                                 if [ $AUSLOESER = "true" ] 2> /dev/zero
  1698.                                                     then
  1699.                                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1700.                                                         echo -e "" > $LOG_ID1
  1701.                                                         sleep 0.2
  1702.                                                         #
  1703.                                                             PGREP_HOP2=$(pgrep -alf "hopid 2")
  1704.                                                             PGREP_HOP3=$(pgrep -alf "hopid 3")
  1705.                                                             if [ $PGREP_HOP2  = ] 2>/dev/zero
  1706.                                                                 then
  1707.                                                                     test
  1708.                                                                 else
  1709.                                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1710.                                                                 echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
  1711.                                                             fi
  1712.                                                             if [ $PGREP_HOP3 = ] 2>/dev/zero
  1713.                                                                 then
  1714.                                                                     test
  1715.                                                                 else
  1716.                                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1717.                                                                 echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
  1718.                                                             fi
  1719.                                                             if [ -e $VU_SVR_CACHE ] 2>/dev/zero
  1720.                                                                 then
  1721.                                                                     # datei auslesen und variable aktualisieren
  1722.                                                                     HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
  1723.                                                                     ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
  1724.                                                                     ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
  1725.                                                                 else
  1726.                                                                     echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1727.                                                                     echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1728.                                                                     echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1729.                                                                     sleep 0.2
  1730.                                                             fi
  1731.                                                 fi
  1732.                                                
  1733.                                                 if [ $AUSLOESER = "true" ]
  1734.                                                     then
  1735.                                                         while true
  1736.                                                         do
  1737.                                                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1738.                                                             if [ $SEQUENCE_ID1 =  ] 2>/dev/zero && [ $UE -ne 10 ] 2>/dev/zero && [ $UE -ne 21 ] 2>/dev/zero && [ $UE -ne 32 ] 2>/dev/zero
  1739.                                                                 then
  1740.                                                                     clear
  1741.                                                                     echo "Reconnect hop1"
  1742.                                                                     UE=$((UE+1))
  1743.                                                                     VERSUCHE_SERVER=$((VERSUCHE_SERVER+1))
  1744.                                                                     VERSUCHE_GESAMT=$((VERSUCHE_GESAMT+1))
  1745.                                                                     echo "Versuch aktueller Server: $VERSUCHE_SERVER"
  1746.                                                                     echo "Server: $SERVER"
  1747.                                                                     echo "Versuche gesamt: $VERSUCHE_GESAMT"
  1748.                                                                     echo -e "vpn_status=$SERVER\n" > $LOG_ID1
  1749.                                                                     echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
  1750.                                                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1751.                                                                     $VPN_ID1  \  $VPN_OPTION1 \ "$SERVER.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.5
  1752.                                                                     sleep 9
  1753.                                                             elif [ $UE -eq 10 ] 2>/dev/zero
  1754.                                                                 then
  1755.                                                                     UE=$((UE+1))
  1756.                                                                     VERSUCHE_SERVER="0"
  1757.                                                                     SERVER=$ERSATZSERVER_1
  1758.                                                             elif [ $UE -eq 21 ] 2>/dev/zero
  1759.                                                                 then
  1760.                                                                     UE=$((UE+1))
  1761.                                                                     VERSUCHE_SERVER="0"
  1762.                                                                     SERVER=$ERSATZSERVER_2
  1763.                                                             elif [ $UE -eq 32 ] 2>/dev/zero
  1764.                                                                 then
  1765.                                                                     SERVER=$HAUPTVERBINDUNG
  1766.                                                                     VERSUCHE_SERVER="0"
  1767.                                                                     UE="0"
  1768.                                                                 else
  1769.                                                                     UE="0"
  1770.                                                                     VERSUCHE_SERVER="0"
  1771.                                                                     VERSUCHE_GESAMT="0"
  1772.                                                                     SERVER=$HAUPTVERBINDUNG
  1773.                                                                     AUSLOESER="false"
  1774.                                                                     echo "Mit hop1 Verbunden"
  1775.                                                                     sleep 2
  1776.                                                                     break
  1777.                                                             fi
  1778.                                                         done
  1779.                                                     else
  1780.                                                         # Auslöserer sind false und fängt wieder von vorne an
  1781.                                                         sleep 11
  1782.                                                 fi
  1783.                                             done
  1784.                                         ;;
  1785.                                     esac
  1786.                                 done
  1787.                             ;;
  1788.                             00)
  1789.                                 break
  1790.                             ;;
  1791.                             *)
  1792.                             ;;
  1793.                         esac
  1794.                 done
  1795.             ;;
  1796.             61)
  1797.                 clear
  1798.                 PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1799.                 PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1800.                 if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1801.                     then
  1802.                         echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  1803.                         sleep 2
  1804.                     else
  1805.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  1806.                         PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  1807.                         echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  1808.                 fi
  1809.             ;;
  1810.             62)
  1811.                 clear
  1812.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
  1813.                 echo "PID=" > $VU_PID_CACHE
  1814.             ;;
  1815.             63)
  1816.                 echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
  1817.             ;;
  1818.             11)
  1819.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1820.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1821.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1822.                 echo "hop1 Reconnect"
  1823.                 HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1824.                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1825.                 echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1826.                 echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1827.                 $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1828.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  1829.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  1830.                 sleep 0.2
  1831.                 i=""
  1832.             ;;
  1833.             111)
  1834.                 echo "hop1 Reconnect"
  1835.                 HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1836.                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1837.                 echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1838.                 echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1839.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1840.                 $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1841.             ;;
  1842.             12)
  1843.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1844.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1845.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1846.                 while true
  1847.                 do
  1848.                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1849.                     if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1850.                     then
  1851.                         echo "Reconnect hop1"
  1852.                         i=$((i+1))
  1853.                         echo "Versuch: $i"
  1854.                         sleep 1
  1855.                     else
  1856.                         echo "Verbinde mit hop1"
  1857.                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1858.                         sleep 0.2
  1859.                         HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1860.                         VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1861.                         echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1862.                         echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1863.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1864.                         $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1865.                         echo "Verbunden mit hop1, gehe zu hop2"
  1866.                         i=""
  1867.                         sleep 1
  1868.                             while true
  1869.                             do
  1870.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1871.                                 if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1872.                                 then
  1873.                                     echo "Reconnect hop2"
  1874.                                     i=$((i+1))
  1875.                                     echo "Versuch: $i"
  1876.                                     sleep 1
  1877.                                 else
  1878.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1879.                                     echo "Verbinde mit hop2"
  1880.                                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1881.                                     sleep 0.2
  1882.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1883.                                     HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1884.                                     VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1885.                                     echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1886.                                     echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1887.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1888.                                     $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1889.                                     echo "Verbunden mit hop2"
  1890.                                     i=""
  1891.                                     sleep 1
  1892.                                     echo -e "vpn_status=Offline\n" > $LOG_ID3
  1893.                                     break
  1894.                                 fi
  1895.                             done
  1896.                         break                    
  1897.                     fi
  1898.                 done
  1899.             ;;
  1900.             122)
  1901.                 echo "hop2 Reconnect"
  1902.                 HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1903.                 HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1904.                 VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1905.                 echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1906.                 echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1907.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1908.                 $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1909.             ;;
  1910.             13)
  1911.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1912.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1913.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1914.                 while true
  1915.                 do
  1916.                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1917.                     if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1918.                     then
  1919.                         echo "Reconnect hop1"
  1920.                         date
  1921.                         sleep 1
  1922.                     else
  1923.                         echo "Verbinde mit hop1"
  1924.                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1925.                         sleep 0.2
  1926.                         HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1927.                         VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1928.                         echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1929.                         echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1930.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1931.                         $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1932.                         echo "Verbunden mit hop1, gehe zu hop2"
  1933.                         i=""
  1934.                         sleep 1
  1935.                             while true
  1936.                             do
  1937.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1938.                                 if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1939.                                 then
  1940.                                     echo "Reconnect hop2"
  1941.                                     i=$((i+1))
  1942.                                     echo "Versuch: $i"
  1943.                                     sleep 1
  1944.                                 else
  1945.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1946.                                     echo "Verbinde mit hop2"
  1947.                                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1948.                                     sleep 0.2
  1949.                                     HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1950.                                     VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1951.                                     echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1952.                                     echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1953.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1954.                                     $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1955.                                     echo "Verbunden mit hop2, gehe zu hop3"
  1956.                                     i=""
  1957.                                     sleep 1
  1958.                                         while true
  1959.                                         do
  1960.                                         SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  1961.                                             if [ $SEQUENCE_ID2 = ] 2> /dev/zero
  1962.                                             then
  1963.                                                 echo "Reconnect hop3"
  1964.                                                 i=$((i+1))
  1965.                                                 echo "Versuch: $i"
  1966.                                                 sleep 1
  1967.                                             else
  1968.                                                 HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  1969.                                                 echo "Verbinde mit hop3"
  1970.                                                 SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  1971.                                                 sleep 0.2
  1972.                                                 HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
  1973.                                                 VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  1974.                                                 echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
  1975.                                                 echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
  1976.                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
  1977.                                                 $VPN_ID3  \  $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
  1978.                                                 echo "Verbunden mit hop3"
  1979.                                                 i=""
  1980.                                                 sleep 1
  1981.                                                 break
  1982.                                             fi
  1983.                                         done
  1984.                                     break
  1985.                                 fi
  1986.                             done
  1987.                         break                    
  1988.                     fi
  1989.                 done
  1990.             ;;
  1991.             133)
  1992.                 echo "hop3 Reconnect"
  1993.                 HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  1994.                 HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
  1995.                 VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  1996.                 echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
  1997.                 echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
  1998.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
  1999.                 $VPN_ID3  \  $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
  2000.             ;;
  2001.             41)
  2002.                 if [ $ON_OFF_UFW = "true" ]
  2003.                     then
  2004.                         echo "ufw enable"
  2005.                         ufw enable
  2006.                 fi
  2007.             ;;
  2008.             42)
  2009.                 if [ $ON_OFF_UFW = "true" ]
  2010.                     then
  2011.                         echo "ufw disable"
  2012.                         ufw disable
  2013.                 fi
  2014.             ;;
  2015.             43)
  2016.                 if [ $ON_OFF_UFW = "true" ]
  2017.                     then
  2018.                         clear
  2019.                         ufw status numbered | less
  2020.                 fi
  2021.             ;;
  2022.             t|tail)
  2023.                 if [ $ON_OFF_TAIL = "true" ]
  2024.                     then
  2025.                         clear
  2026.                         tail -n 20 $LOG_ID1
  2027.                         echo "# hop1"
  2028.                         $TAIL_SLEEP
  2029.                         clear
  2030.                         tail -n 20 $LOG_ID2
  2031.                         echo "# hop2"
  2032.                         $TAIL_SLEEP
  2033.                         clear
  2034.                         tail -n 20 $LOG_ID3
  2035.                         echo "# hop3"
  2036.                         $TAIL_SLEEP
  2037.                 fi
  2038.             ;;
  2039.             t1|tail1)
  2040.                 if [ $ON_OFF_TAIL = "true" ]
  2041.                     then
  2042.                         tail -n 20 $LOG_ID1
  2043.                         $TAIL_SLEEP
  2044.                 fi
  2045.             ;;
  2046.             t2|tail2)
  2047.                 if [ $ON_OFF_TAIL = "true" ]
  2048.                     then
  2049.                         tail -n 20 $LOG_ID2
  2050.                             $TAIL_SLEEP
  2051.                 fi
  2052.             ;;
  2053.             t3|tail3)
  2054.                 if [ $ON_OFF_TAIL = "true" ]
  2055.                     then
  2056.                         tail -n 20 $LOG_ID3
  2057.                         $TAIL_SLEEP
  2058.                 fi
  2059.             ;;
  2060.             l1|less1)
  2061.                 if [ $ON_OFF_LESS = "true" ]
  2062.                     then
  2063.                     less +F $LOG_ID1
  2064.                 fi
  2065.             ;;
  2066.             l2|less2)
  2067.                 if [ $ON_OFF_LESS = "true" ]
  2068.                     then
  2069.                         less +F $LOG_ID2
  2070.                 fi
  2071.             ;;
  2072.             l3|less3)
  2073.                 if [ $ON_OFF_LESS = "true" ]
  2074.                     then
  2075.                         less +F $LOG_ID3
  2076.                 fi
  2077.             ;;
  2078.             91)
  2079.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2080.                 sleep 0.2
  2081.                 echo -e "vpn_status=Offline\n" > $LOG_ID1
  2082.             ;;
  2083.             92)
  2084.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2085.                 sleep 0.2
  2086.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2087.             ;;
  2088.             93)
  2089.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2090.                 sleep 0.2
  2091.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2092.             ;;
  2093.             932|923)
  2094.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2095.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2096.                 sleep 0.2
  2097.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2098.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2099.             ;;
  2100.             943|934)
  2101.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2102.                 sleep 0.2
  2103.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2104.             ;;
  2105.             9432|9234|9423|9342|9324|9243)
  2106.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2107.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2108.                 sleep 0.2
  2109.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2110.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2111.             ;;
  2112.             999)
  2113.                 clear
  2114.                 while true
  2115.                 do
  2116.                     echo " 1) Alles an: UFW-Firewall und die VPN-Überwachung wird gestartet."
  2117.                     echo " 2) Alles aus: VPN-Verbindungen, UFW-Firewall und die VPN-Überwachung wird beendet."
  2118.                     echo "33) Zurücksetzen: Temporäre Datein löschen, tmux Sessions, VPN und Script Schließen."
  2119.                     echo "00) Zurück"
  2120.                     read NEUNNEUNNEUN
  2121.                     case $NEUNNEUNNEUN in
  2122.                         1)
  2123.                             PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  2124.                             PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  2125.                             if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  2126.                                 then
  2127.                                     echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  2128.                                     sleep 2
  2129.                                 else
  2130.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  2131.                                     PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  2132.                                     echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  2133.                             fi
  2134.                             if [ $ON_OFF_UFW = "true" ]
  2135.                                 then
  2136.                                     ufw enable
  2137.                             fi
  2138.                             break
  2139.                         ;;
  2140.                         2)
  2141.                             echo -e "\n"
  2142.                             clear
  2143.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
  2144.                             echo "PID=" > $VU_PID_CACHE
  2145.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2146.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2147.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2148.                             sleep 0.2
  2149.                             echo -e "vpn_status=Offline\n" > $LOG_ID1
  2150.                             echo -e "vpn_status=Offline\n" > $LOG_ID2
  2151.                             echo -e "vpn_status=Offline\n" > $LOG_ID3
  2152.                             if [ $ON_OFF_UFW = "true" ]
  2153.                             then
  2154.                                 ufw disable
  2155.                             fi
  2156.                             echo "VPN sollte jetzt tot sein" ; sleep 0.5
  2157.                             break
  2158.                         ;;
  2159.                         33)
  2160.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
  2161.                             echo "PID=" > $VU_PID_CACHE
  2162.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2163.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2164.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2165.                             sleep 0.2
  2166.                             echo -e "vpn_status=Offline\n" > $LOG_ID1
  2167.                             echo -e "vpn_status=Offline\n" > $LOG_ID2
  2168.                             echo -e "vpn_status=Offline\n" > $LOG_ID3
  2169.                             if [ $ON_OFF_UFW = "true" ]
  2170.                             then
  2171.                                 ufw disable
  2172.                             fi
  2173.                             rm -rf $OPENVPN_TMP_DIR
  2174.                             tmux kill-session -t $SESSION_NAME
  2175.                             echo "VPN sollte jetzt tot sein" ; sleep 0.5
  2176.                             exit 0
  2177.                         ;;
  2178.                         00)
  2179.                             break
  2180.                         ;;
  2181.                         *)
  2182.                             clear
  2183.                             echo "Falsche Eingabe"
  2184.                             echo
  2185.                         ;;
  2186.                     esac
  2187.                 done
  2188.             ;;
  2189.             *)
  2190.                 echo "Falsche Eingabe"
  2191.             ;;
  2192.         esac
  2193. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement