Advertisement
swirlen

vpn

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