Advertisement
swirlen

vpn

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