Advertisement
swirlen

vpn

Mar 26th, 2024 (edited)
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 113.19 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.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  251.                                     $VPN_ID1  \  $VPN_OPTION1 \ "$SERVER.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.5
  252.                                     sleep 9
  253.                             elif [ $UE -eq 10 ] 2>/dev/zero
  254.                                 then
  255.                                     UE=$((UE+1))
  256.                                     VERSUCHE_SERVER="0"
  257.                                     SERVER=$ERSATZSERVER_1
  258.                             elif [ $UE -eq 21 ] 2>/dev/zero
  259.                                 then
  260.                                     UE=$((UE+1))
  261.                                     VERSUCHE_SERVER="0"
  262.                                     SERVER=$ERSATZSERVER_2
  263.                             elif [ $UE -eq 32 ] 2>/dev/zero
  264.                                 then
  265.                                     SERVER=$HAUPTVERBINDUNG
  266.                                     VERSUCHE_SERVER="0"
  267.                                     UE="0"
  268.                                 else
  269.                                     echo -e "vpn_status=$SERVER\n" >> $LOG_ID1
  270.                                     echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
  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 178.162.194.30
  788.                                     ufw allow out on $NETZINTERFACE_1 to 37.58.58.239
  789.                                     #
  790.                                     # Hamburg Deutschland
  791.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.7.114
  792.                                     #
  793.                                     # Hongkong China
  794.                                     ufw allow out on $NETZINTERFACE_1 to 209.58.188.129
  795.                                     #
  796.                                     # Jerusalem Israel
  797.                                     ufw allow out on $NETZINTERFACE_1 to 82.81.85.231
  798.                                     #
  799.                                     # London Großbritanien
  800.                                     ufw allow out on $NETZINTERFACE_1 to 82.199.130.34
  801.                                     ufw allow out on $NETZINTERFACE_1 to 5.187.21.98
  802.                                     #
  803.                                     # Los Angeles USA
  804.                                     ufw allow out on $NETZINTERFACE_1 to 162.245.206.242
  805.                                     #
  806.                                     # Madrid Spanien
  807.                                     ufw allow out on $NETZINTERFACE_1 to 185.183.106.146
  808.                                     #
  809.                                     # Malmoe Schweden
  810.                                     ufw allow out on $NETZINTERFACE_1 to 194.68.170.51
  811.                                     #
  812.                                     # Manchester Großbritanien
  813.                                     ufw allow out on $NETZINTERFACE_1 to 217.138.196.98
  814.                                     #
  815.                                     # Miami USA
  816.                                     ufw allow out on $NETZINTERFACE_1 to 38.132.118.66
  817.                                     #
  818.                                     # Milan Italien
  819.                                     ufw allow out on $NETZINTERFACE_1 to 192.145.127.210
  820.                                     #
  821.                                     # Montreal Kanada
  822.                                     ufw allow out on $NETZINTERFACE_1 to 167.114.209.103
  823.                                     #
  824.                                     # Moskau Russland
  825.                                     ufw allow out on $NETZINTERFACE_1 to 192.162.100.240
  826.                                     #
  827.                                     # New York USA
  828.                                     ufw allow out on $NETZINTERFACE_1 to 96.9.246.194
  829.                                     #
  830.                                     # Nürmberg Deutschland
  831.                                     ufw allow out on $NETZINTERFACE_1 to 81.95.5.34
  832.                                     ufw allow out on $NETZINTERFACE_1 to 80.255.10.194
  833.                                     #
  834.                                     # Oslo Norwegen
  835.                                     ufw allow out on $NETZINTERFACE_1 to 91.205.187.186
  836.                                     #
  837.                                     # Paris Frankreich
  838.                                     ufw allow out on $NETZINTERFACE_1 to 5.135.143.84
  839.                                     #
  840.                                     # Prague Tschechien
  841.                                     ufw allow out on $NETZINTERFACE_1 to 195.138.249.2
  842.                                     #
  843.                                     # Reykjavik Island
  844.                                     ufw allow out on $NETZINTERFACE_1 to 82.221.111.10
  845.                                     #
  846.                                     # Riga Lettland
  847.                                     ufw allow out on $NETZINTERFACE_1 to 46.183.221.194
  848.                                     #
  849.                                     # Rotterdam Niederlande
  850.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.150.106
  851.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.150.138
  852.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.152.102
  853.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.152.189
  854.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.153.106
  855.                                     #
  856.                                     # Singapore Singapur
  857.                                     ufw allow out on $NETZINTERFACE_1 to 209.58.162.197
  858.                                     ufw allow out on $NETZINTERFACE_1 to 103.254.153.202
  859.                                     #
  860.                                     # Stockholm Schweden
  861.                                     ufw allow out on $NETZINTERFACE_1 to 185.41.240.18
  862.                                     ufw allow out on $NETZINTERFACE_1 to 185.217.1.2
  863.                                     #
  864.                                     # Sydney Australien
  865.                                     ufw allow out on $NETZINTERFACE_1 to 66.203.112.47
  866.                                     ufw allow out on $NETZINTERFACE_1 to 66.203.112.50
  867.                                     #
  868.                                     # Tokyo Japan
  869.                                     ufw allow out on $NETZINTERFACE_1 to 31.204.145.166
  870.                                     #
  871.                                     # Vienna Österreich
  872.                                     ufw allow out on $NETZINTERFACE_1 to 146.70.28.34
  873.                                     #
  874.                                     # Warsaw Polen
  875.                                     ufw allow out on $NETZINTERFACE_1 to 146.70.85.162
  876.                                     #
  877.                                     # Zürich Schweiz
  878.                                     ufw allow out on $NETZINTERFACE_1 to 152.89.162.226
  879.                                     ufw allow out on $NETZINTERFACE_1 to 37.120.213.194
  880.                                     ufw allow out on $NETZINTERFACE_1 to 37.120.213.210
  881.                                     #
  882.                                     # Zugang zum Heimnetzwerk IPv4
  883.                                     ufw allow out to 127.0.0.0/8
  884.                                     ufw allow in to 127.0.0.0/8
  885.                                     ufw allow out to 10.0.0.0/8
  886.                                     ufw allow in to 10.0.0.0/8
  887.                                     ufw allow out to 172.16.0.0/12
  888.                                     ufw allow in to 172.16.0.0/12
  889.                                     ufw allow out to 192.168.0.0/16
  890.                                     ufw allow in to 192.168.0.0/16
  891.                                     ufw allow out to 224.0.0.0/24
  892.                                     ufw allow in to 224.0.0.0/24
  893.                                     ufw allow out to 239.0.0.0/8
  894.                                     ufw allow in to 239.0.0.0/8
  895.                                     # Zugang zum Heimnetzwerk IPv6
  896.                                     ufw allow out to fe80::/64
  897.                                     ufw allow in to fe80::/64
  898.                                     ufw allow out to ff01::/16
  899.                                     ufw allow in to ff01::/16
  900.                                     ufw allow out to ff02::/16
  901.                                     ufw allow in to ff02::/16
  902.                                     ufw allow out to ff05::/16
  903.                                     ufw allow in to ff05::/16
  904.                                     #
  905.                                     # UFW starten
  906.                                     ufw enable
  907.                                     #
  908.                                     # Mit ufw status numbered kann man sich die Regeln im Terminal anschauen.
  909.                                     clear
  910.                                 ;;
  911.                                 112)
  912.                                     clear
  913.                                     # Amsterdam Niederlande
  914.                                     ufw allow out on $NETZINTERFACE_2 to 95.168.167.236
  915.                                     ufw allow out on $NETZINTERFACE_2 to 95.211.95.233
  916.                                     ufw allow out on $NETZINTERFACE_2 to 95.211.95.244
  917.                                     ufw allow out on $NETZINTERFACE_2 to 37.48.94.1
  918.                                     ufw allow out on $NETZINTERFACE_2 to 85.17.64.131
  919.                                     ufw allow out on $NETZINTERFACE_2 to 85.17.28.145
  920.                                     #
  921.                                     # Basel Schweiz
  922.                                     ufw allow out on $NETZINTERFACE_2 to 82.199.134.162
  923.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.66
  924.                                     #
  925.                                     # Belgrade Serbien
  926.                                     ufw allow out on $NETZINTERFACE_2 to 152.89.160.98
  927.                                     #
  928.                                     # Berlin Deutschland
  929.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.98
  930.                                     #
  931.                                     # Calais Frankreich
  932.                                     ufw allow out on $NETZINTERFACE_2 to 149.202.77.77
  933.                                     #
  934.                                     # Chicago USA
  935.                                     ufw allow out on $NETZINTERFACE_2 to 104.237.193.26
  936.                                     #
  937.                                     # Copenhagen Dänemark
  938.                                     ufw allow out on $NETZINTERFACE_2 to 185.152.32.66
  939.                                     #
  940.                                     # Dallas USA
  941.                                     ufw allow out on $NETZINTERFACE_2 to 138.128.136.164
  942.                                     #
  943.                                     # Erfurt Deutschland
  944.                                     ufw allow out on $NETZINTERFACE_2 to 217.114.218.18
  945.                                     #
  946.                                     # Frankfurt Deutschland
  947.                                     ufw allow out on $NETZINTERFACE_2 to 178.162.194.30
  948.                                     ufw allow out on $NETZINTERFACE_2 to 37.58.58.239
  949.                                     #
  950.                                     # Hamburg Deutschland
  951.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.7.114
  952.                                     #
  953.                                     # Hongkong China
  954.                                     ufw allow out on $NETZINTERFACE_2 to 209.58.188.129
  955.                                     #
  956.                                     # Jerusalem Israel
  957.                                     ufw allow out on $NETZINTERFACE_2 to 82.81.85.231
  958.                                     #
  959.                                     # London Großbritanien
  960.                                     ufw allow out on $NETZINTERFACE_2 to 82.199.130.34
  961.                                     ufw allow out on $NETZINTERFACE_2 to 5.187.21.98
  962.                                     #
  963.                                     # Los Angeles USA
  964.                                     ufw allow out on $NETZINTERFACE_2 to 162.245.206.242
  965.                                     #
  966.                                     # Madrid Spanien
  967.                                     ufw allow out on $NETZINTERFACE_2 to 185.183.106.146
  968.                                     #
  969.                                     # Malmoe Schweden
  970.                                     ufw allow out on $NETZINTERFACE_2 to 194.68.170.51
  971.                                     #
  972.                                     # Manchester Großbritanien
  973.                                     ufw allow out on $NETZINTERFACE_2 to 217.138.196.98
  974.                                     #
  975.                                     # Miami USA
  976.                                     ufw allow out on $NETZINTERFACE_2 to 38.132.118.66
  977.                                     #
  978.                                     # Milan Italien
  979.                                     ufw allow out on $NETZINTERFACE_2 to 192.145.127.210
  980.                                     #
  981.                                     # Montreal Kanada
  982.                                     ufw allow out on $NETZINTERFACE_2 to 167.114.209.103
  983.                                     #
  984.                                     # Moskau Russland
  985.                                     ufw allow out on $NETZINTERFACE_2 to 192.162.100.240
  986.                                     #
  987.                                     # New York USA
  988.                                     ufw allow out on $NETZINTERFACE_2 to 96.9.246.194
  989.                                     #
  990.                                     # Nürmberg Deutschland
  991.                                     ufw allow out on $NETZINTERFACE_2 to 81.95.5.34
  992.                                     ufw allow out on $NETZINTERFACE_2 to 80.255.10.194
  993.                                     #
  994.                                     # Oslo Norwegen
  995.                                     ufw allow out on $NETZINTERFACE_2 to 91.205.187.186
  996.                                     #
  997.                                     # Paris Frankreich
  998.                                     ufw allow out on $NETZINTERFACE_2 to 5.135.143.84
  999.                                     #
  1000.                                     # Prague Tschechien
  1001.                                     ufw allow out on $NETZINTERFACE_2 to 195.138.249.2
  1002.                                     #
  1003.                                     # Reykjavik Island
  1004.                                     ufw allow out on $NETZINTERFACE_2 to 82.221.111.10
  1005.                                     #
  1006.                                     # Riga Lettland
  1007.                                     ufw allow out on $NETZINTERFACE_2 to 46.183.221.194
  1008.                                     #
  1009.                                     # Rotterdam Niederlande
  1010.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.150.106
  1011.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.150.138
  1012.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.152.102
  1013.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.152.189
  1014.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.153.106
  1015.                                     #
  1016.                                     # Singapore Singapur
  1017.                                     ufw allow out on $NETZINTERFACE_2 to 209.58.162.197
  1018.                                     ufw allow out on $NETZINTERFACE_2 to 103.254.153.202
  1019.                                     #
  1020.                                     # Stockholm Schweden
  1021.                                     ufw allow out on $NETZINTERFACE_2 to 185.41.240.18
  1022.                                     ufw allow out on $NETZINTERFACE_2 to 185.217.1.2
  1023.                                     #
  1024.                                     # Sydney Australien
  1025.                                     ufw allow out on $NETZINTERFACE_2 to 66.203.112.47
  1026.                                     ufw allow out on $NETZINTERFACE_2 to 66.203.112.50
  1027.                                     #
  1028.                                     # Tokyo Japan
  1029.                                     ufw allow out on $NETZINTERFACE_2 to 31.204.145.166
  1030.                                     #
  1031.                                     # Vienna Österreich
  1032.                                     ufw allow out on $NETZINTERFACE_2 to 146.70.28.34
  1033.                                     #
  1034.                                     # Warsaw Polen
  1035.                                     ufw allow out on $NETZINTERFACE_2 to 146.70.85.162
  1036.                                     #
  1037.                                     # Zürich Schweiz
  1038.                                     ufw allow out on $NETZINTERFACE_2 to 152.89.162.226
  1039.                                     ufw allow out on $NETZINTERFACE_2 to 37.120.213.194
  1040.                                     ufw allow out on $NETZINTERFACE_2 to 37.120.213.210
  1041.                                 ;;
  1042.                                 1)
  1043.                                     clear
  1044.                                     echo
  1045.                                     ufw enable
  1046.                                 ;;
  1047.                                 2)
  1048.                                     clear
  1049.                                     echo
  1050.                                     ufw disable
  1051.                                 ;;
  1052.                                 3)
  1053.                                     clear
  1054.                                     ufw status numbered | less
  1055.                                 ;;
  1056.                                 00)
  1057.                                     break
  1058.                                 ;;
  1059.                                 *)
  1060.                                     clear
  1061.                                     echo
  1062.                                     echo "Falsche Eingabe"
  1063.                                 ;;
  1064.                             esac
  1065.                         done
  1066.                 fi
  1067.             ;;
  1068.             5)
  1069.                 if [ $ON_OFF_MACCHANGER = "true" ]
  1070.                     then
  1071.                         while true
  1072.                         do
  1073.                         clear
  1074.                         echo
  1075.                         echo "MAC Adresse in eine zufällige ändern, mit macchanger"
  1076.                         echo
  1077.                         echo "Netzwerk Interface 1 \"$NETZINTERFACE_1\" wurde angegeben, evtl. anpassen"
  1078.                         macchanger -s $NETZINTERFACE_1 2> /dev/zero || echo "$NETZINTERFACE_1 nicht vorhanden"
  1079.                         echo
  1080.                         echo "Netzwerk Interface 2 \"$NETZINTERFACE_2\" wurde angegeben, evtl. anpassen"
  1081.                         macchanger -s $NETZINTERFACE_2 2> /dev/zero || echo "$NETZINTERFACE_2 nicht vorhanden"
  1082.                         echo
  1083.                         echo "Wenn die Mac-Adresse geändert wird, werden die Verbindungen unterbrochen"
  1084.                         echo "und die VPN muss neu Verbunden werden (reconnect)."
  1085.                         echo
  1086.                         echo "  1) $NETZINTERFACE_1 ändern      111) $NETZINTERFACE_1 Resetten auf Permanent"
  1087.                         echo "  2) $NETZINTERFACE_2 ändern      222) $NETZINTERFACE_2 Resetten auf Permanent"
  1088.                         echo
  1089.                         echo "  3) $NETZINTERFACE_1 und $NETZINTERFACE_2 ändern"
  1090.                         echo "333) $NETZINTERFACE_1 und $NETZINTERFACE_2 Resetten auf Permanent"
  1091.                         echo
  1092.                         echo " 00) Zurück"
  1093.                             read MAC
  1094.                             case $MAC in
  1095.                                 1)
  1096.                                     while true
  1097.                                     do
  1098.                                     MAC_1_ERROR="true"
  1099.                                     clear
  1100.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
  1101.                                     if [ $MAC_1_ERROR = true ] > /dev/zero
  1102.                                     then
  1103.                                         $NETZMANAGER_STOP
  1104.                                         sleep 1
  1105.                                         macchanger -r $NETZINTERFACE_1
  1106.                                         $NETZMANAGER_START
  1107.                                         echo
  1108.                                         echo "Weiter mit >ENTER<"
  1109.                                         read MAC_1
  1110.                                         case $MAC_1 in
  1111.                                             *)
  1112.                                                 break
  1113.                                             ;;
  1114.                                         esac
  1115.                                     else
  1116.                                         echo "$NETZINTERFACE_1 nicht vorhanden"
  1117.                                         echo
  1118.                                         echo "Weiter mit >ENTER<"
  1119.                                         read MAC_1_ERR
  1120.                                         case $MAC_1_ERR in
  1121.                                             *)
  1122.                                                 break
  1123.                                             ;;
  1124.                                         esac
  1125.                                     fi
  1126.                                     break
  1127.                                     done
  1128.                                 ;;
  1129.                                 111)
  1130.                                     while true
  1131.                                     do
  1132.                                     MAC_111_ERROR="true"
  1133.                                     clear
  1134.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_111_ERROR="false"
  1135.                                     if [ $MAC_111_ERROR = true ] > /dev/zero
  1136.                                     then
  1137.                                         $NETZMANAGER_STOP
  1138.                                         sleep 1
  1139.                                         macchanger -p $NETZINTERFACE_1
  1140.                                         $NETZMANAGER_START
  1141.                                         echo
  1142.                                         echo "Weiter mit >ENTER<"
  1143.                                         read MAC_111
  1144.                                         case $MAC_111 in
  1145.                                             *)
  1146.                                                 break
  1147.                                             ;;
  1148.                                         esac
  1149.                                     else
  1150.                                         echo "$NETZINTERFACE_1 nicht vorhanden"
  1151.                                         echo
  1152.                                         echo "Weiter mit >ENTER<"
  1153.                                         read MAC_111_ERR
  1154.                                         case $MAC_111_ERR in
  1155.                                             *)
  1156.                                                 break
  1157.                                             ;;
  1158.                                         esac
  1159.                                     fi
  1160.                                     break
  1161.                                     done
  1162.                                 ;;
  1163.                                 2)
  1164.                                     while true
  1165.                                     do
  1166.                                     MAC_2_ERROR="true"
  1167.                                     clear
  1168.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
  1169.                                     if [ $MAC_2_ERROR = true ] > /dev/zero
  1170.                                     then
  1171.                                         $NETZMANAGER_STOP
  1172.                                         sleep 1
  1173.                                         macchanger -r $NETZINTERFACE_2
  1174.                                         $NETZMANAGER_START
  1175.                                         echo
  1176.                                         echo "Weiter mit >ENTER<"
  1177.                                         read MAC_2
  1178.                                         case $MAC_2 in
  1179.                                             *)
  1180.                                                 break
  1181.                                             ;;
  1182.                                         esac
  1183.                                     else
  1184.                                         echo "$NETZINTERFACE_2 nicht vorhanden"
  1185.                                         echo
  1186.                                         echo "Weiter mit >ENTER<"
  1187.                                         read MAC_2_ERR
  1188.                                         case $MAC_2_ERR in
  1189.                                             *)
  1190.                                                 break
  1191.                                             ;;
  1192.                                         esac
  1193.                                     fi
  1194.                                     break
  1195.                                     done
  1196.                                 ;;
  1197.                                 222)
  1198.                                     while true
  1199.                                     do
  1200.                                     MAC_222_ERROR="true"
  1201.                                     clear
  1202.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_222_ERROR="false"
  1203.                                     if [ $MAC_222_ERROR = true ] > /dev/zero
  1204.                                     then
  1205.                                         $NETZMANAGER_STOP
  1206.                                         sleep 1
  1207.                                         macchanger -p $NETZINTERFACE_2
  1208.                                         $NETZMANAGER_START
  1209.                                         echo
  1210.                                         echo "Weiter mit >ENTER<"
  1211.                                         read MAC_222
  1212.                                         case $MAC_222 in
  1213.                                             *)
  1214.                                                 break
  1215.                                             ;;
  1216.                                         esac
  1217.                                     else
  1218.                                         echo "$NETZINTERFACE_2 nicht vorhanden"
  1219.                                         echo
  1220.                                         echo "Weiter mit >ENTER<"
  1221.                                         read MAC_222_ERR
  1222.                                         case $MAC_222_ERR in
  1223.                                             *)
  1224.                                                 break
  1225.                                             ;;
  1226.                                         esac
  1227.                                     fi
  1228.                                     break
  1229.                                     done
  1230.                                 ;;
  1231.                                 3)
  1232.                                     while true
  1233.                                     do
  1234.                                     MAC_3_ERROR="true"
  1235.                                     clear
  1236.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
  1237.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
  1238.                                     if [ $MAC_3_ERROR = true ] > /dev/zero
  1239.                                     then
  1240.                                         $NETZMANAGER_STOP
  1241.                                         sleep 1
  1242.                                         macchanger -r $NETZINTERFACE_1
  1243.                                         sleep 0.2
  1244.                                         macchanger -r $NETZINTERFACE_2
  1245.                                         $NETZMANAGER_START
  1246.                                         echo
  1247.                                         echo "Weiter mit >ENTER<"
  1248.                                         read MAC_3
  1249.                                         case $MAC_3 in
  1250.                                             *)
  1251.                                                 break
  1252.                                             ;;
  1253.                                         esac
  1254.                                     else
  1255.                                         echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1256.                                         echo
  1257.                                         echo "Weiter mit >ENTER<"
  1258.                                         read MAC_3_ERR
  1259.                                         case $MAC_3_ERR in
  1260.                                             *)
  1261.                                                 break
  1262.                                             ;;
  1263.                                         esac
  1264.                                     fi
  1265.                                     break
  1266.                                     done
  1267.                                 ;;
  1268.                                 333)
  1269.                                     while true
  1270.                                     do
  1271.                                     MAC_333_ERROR="true"
  1272.                                     clear
  1273.                                     macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_333_ERROR="false"
  1274.                                     macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_333_ERROR="false"
  1275.                                     if [ $MAC_3_ERROR = true ] > /dev/zero
  1276.                                     then
  1277.                                         $NETZMANAGER_STOP
  1278.                                         sleep 1
  1279.                                         macchanger -p $NETZINTERFACE_1
  1280.                                         sleep 0.2
  1281.                                         macchanger -p $NETZINTERFACE_2
  1282.                                         $NETZMANAGER_START
  1283.                                         echo
  1284.                                         echo "Weiter mit >ENTER<"
  1285.                                         read MAC_333
  1286.                                         case $MAC_333 in
  1287.                                             *)
  1288.                                                 break
  1289.                                             ;;
  1290.                                         esac
  1291.                                     else
  1292.                                         echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1293.                                         echo
  1294.                                         echo "Weiter mit >ENTER<"
  1295.                                         read MAC_333_ERR
  1296.                                         case $MAC_333_ERR in
  1297.                                             *)
  1298.                                                 break
  1299.                                             ;;
  1300.                                         esac
  1301.                                     fi
  1302.                                     break
  1303.                                     done
  1304.                                 ;;
  1305.                                 00)
  1306.                                     break
  1307.                                 ;;
  1308.                                 *)
  1309.                                 clear
  1310.                                 ;;
  1311.                             esac
  1312.                         done
  1313.                 fi
  1314.             ;;
  1315.             51)
  1316.                 while true
  1317.                 do
  1318.                 MAC_1_ERROR="true"
  1319.                 clear
  1320.                 macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_1_ERROR="false"
  1321.                 if [ $MAC_1_ERROR = true ] > /dev/zero
  1322.                 then
  1323.                     $NETZMANAGER_STOP
  1324.                     sleep 1
  1325.                     macchanger -r $NETZINTERFACE_1
  1326.                     $NETZMANAGER_START
  1327.                     echo
  1328.                     echo "Weiter mit >ENTER<"
  1329.                     read MAC_1
  1330.                     case $MAC_1 in
  1331.                         *)
  1332.                             break
  1333.                         ;;
  1334.                     esac
  1335.                 else
  1336.                     echo "$NETZINTERFACE_1 nicht vorhanden"
  1337.                     echo
  1338.                     echo "Weiter mit >ENTER<"
  1339.                     read MAC_1_ERR
  1340.                     case $MAC_1_ERR in
  1341.                         *)
  1342.                             break
  1343.                         ;;
  1344.                     esac
  1345.                 fi
  1346.                 break
  1347.                 done
  1348.             ;;
  1349.             52)
  1350.                 while true
  1351.                 do
  1352.                 MAC_2_ERROR="true"
  1353.                 clear
  1354.                 macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_2_ERROR="false"
  1355.                 if [ $MAC_2_ERROR = true ] > /dev/zero
  1356.                 then
  1357.                     $NETZMANAGER_STOP
  1358.                     sleep 1
  1359.                     macchanger -r $NETZINTERFACE_2
  1360.                     $NETZMANAGER_START
  1361.                     echo
  1362.                     echo "Weiter mit >ENTER<"
  1363.                     read MAC_2
  1364.                     case $MAC_2 in
  1365.                         *)
  1366.                             break
  1367.                         ;;
  1368.                     esac
  1369.                 else
  1370.                     echo "$NETZINTERFACE_2 nicht vorhanden"
  1371.                     echo
  1372.                     echo "Weiter mit >ENTER<"
  1373.                     read MAC_2_ERR
  1374.                     case $MAC_2_ERR in
  1375.                         *)
  1376.                             break
  1377.                         ;;
  1378.                     esac
  1379.                 fi
  1380.                 break
  1381.                 done
  1382.             ;;
  1383.             53)
  1384.                 while true
  1385.                 do
  1386.                 MAC_3_ERROR="true"
  1387.                 clear
  1388.                 macchanger -s $NETZINTERFACE_1 > /dev/zero || MAC_3_ERROR="false"
  1389.                 macchanger -s $NETZINTERFACE_2 > /dev/zero || MAC_3_ERROR="false"
  1390.                 if [ $MAC_3_ERROR = true ] > /dev/zero
  1391.                 then
  1392.                     $NETZMANAGER_STOP
  1393.                     sleep 1
  1394.                     macchanger -r $NETZINTERFACE_1
  1395.                     sleep 0.2
  1396.                     macchanger -r $NETZINTERFACE_2
  1397.                     $NETZMANAGER_START
  1398.                     echo
  1399.                     echo "Weiter mit >ENTER<"
  1400.                     read MAC_3
  1401.                     case $MAC_3 in
  1402.                         *)
  1403.                             break
  1404.                         ;;
  1405.                     esac
  1406.                 else
  1407.                     echo "$NETZINTERFACE_1 oder $NETZINTERFACE_2 nicht vorhanden"
  1408.                     echo
  1409.                     echo "Weiter mit >ENTER<"
  1410.                     read MAC_3_ERR
  1411.                     case $MAC_3_ERR in
  1412.                         *)
  1413.                             break
  1414.                         ;;
  1415.                     esac
  1416.                 fi
  1417.                 break
  1418.                 done
  1419.             ;;
  1420.             6)
  1421.                 while true
  1422.                 do
  1423.                     clear
  1424.                     ECHO_HOP_VU=""
  1425.                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1426.                     VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1427.                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1428.                     PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1429.                     PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1430.                     if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1431.                         then
  1432.                             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Aktiv\" PID: $PID_VU_GREP"
  1433.                         else
  1434.                             ECHO_PGREP_VPN_VU="VPN Überwachung ist \"Inaktiv\""
  1435.                     fi
  1436.                     echo
  1437.                     echo "VPN Überwachung von openvpn-pp"
  1438.                     echo
  1439.                     echo "|> Dies ist kein Ersatz für eine Killswitch <|"
  1440.                     echo "Es Unterstützt kein MultiHop"
  1441.                     echo
  1442.                     echo "############################"
  1443.                     echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  1444.                     echo "hop1 Sequence: $SEQUENCE_ID1"
  1445.                     echo
  1446.                     echo "$ECHO_PGREP_VPN_VU"
  1447.                     echo "############################"
  1448.                     echo
  1449.                     echo "Ausgewählte Server:"
  1450.                     echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1451.                     echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1452.                     echo
  1453.                     echo "1) Im Hinterrund Starten      2) Stop     3) Reconnect-Schleife erzwingen"
  1454.                     echo "4) Server ändern"
  1455.                     echo
  1456.                     echo "11) zum Überwachungsskript |> es werden hop2 und hop3 geschlossen <|"
  1457.                     echo "00) Zurück"
  1458.                         read UEBERWACHUNG
  1459.                         case $UEBERWACHUNG in
  1460.                             1)
  1461.                                 clear
  1462.                                 PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1463.                                 PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1464.                                 if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1465.                                     then
  1466.                                         echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  1467.                                         sleep 2
  1468.                                     else
  1469.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  1470.                                         PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  1471.                                         echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  1472.                                 fi
  1473.                             ;;
  1474.                             2)
  1475.                                 clear
  1476.                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
  1477.                                 echo "PID=" > $VU_PID_CACHE
  1478.                             ;;
  1479.                             3)
  1480.                                 echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
  1481.                             ;;
  1482.                             4)
  1483.                                 clear
  1484.                                 echo
  1485.                                 echo "Serverauswahl für die Überwachung."
  1486.                                 echo
  1487.                                 echo "Die Änderung wird sofort in die cache geschrieben"
  1488.                                 echo "und beim nächsten Reconnect übernommen"
  1489.                                 echo "dabei wird die cache-Datei neu angelegt"
  1490.                                 echo
  1491.                                 echo "Weiter mit >ENTER<"
  1492.                                 read MENU_VU
  1493.                                 clear
  1494.                                 case $MENU_VU in
  1495.  
  1496.                                     *)
  1497.                                         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"
  1498.                                         do
  1499.                                             if [[ "$SELECT_VU" ]]
  1500.                                             then
  1501.                                                 echo -e "\n\"$SELECT_VU\" wurde ausgewählt"
  1502.                                                 SELECT_1_VU=$(echo "$SELECT_VU" | cut -c 7-50)
  1503.                                             else
  1504.                                                 echo -e "\n\"$REPLY\" wurde ausgewählt"
  1505.                                                 SELECT_VU=$REPLY
  1506.                                                 REPLY=$SELECT_1_VU
  1507.                                             fi
  1508.  
  1509.                                             case "$SELECT_VU" in
  1510.                                                 *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)
  1511.                                                     echo ""
  1512.                                                     while true
  1513.                                                     do
  1514.                                                         echo
  1515.                                                         echo " 1) Hauptverbindung     2) Ersatzserver 1     3) Ersatzserver 2"
  1516.                                                         echo "00) Zurück"
  1517.                                                         echo "$SELECT_VU"
  1518.                                                         read STADT_VU
  1519.                                                         case $STADT_VU in
  1520.                                                             1)
  1521.                                                                 clear
  1522.                                                                 HAUPTVERBINDUNG=$SELECT_1_VU
  1523.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1524.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1525.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1526.                                                                 sleep 0.2
  1527.                                                                 break
  1528.                                                             ;;
  1529.                                                             2)
  1530.                                                                 clear
  1531.                                                                 ERSATZSERVER_1=$SELECT_1_VU
  1532.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1533.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1534.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1535.                                                                 sleep 0.2
  1536.                                                                 break
  1537.                                                             ;;
  1538.                                                             3)
  1539.                                                                 clear
  1540.                                                                 ERSATZSERVER_2=$SELECT_1_VU
  1541.                                                                 echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1542.                                                                 echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1543.                                                                 echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1544.                                                                 sleep 0.2
  1545.                                                                 break
  1546.                                                             ;;
  1547.                                                             esac
  1548.                                                             done
  1549.                                                             ;;
  1550.                                                     90)
  1551.                                                         echo "Ausgewählte Server:"
  1552.                                                         echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1553.                                                         echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1554.                                                         echo
  1555.                                                     ;;
  1556.                                                     00)
  1557.                                                         break
  1558.                                                     ;;
  1559.                                                     *)
  1560.                                                         echo "Falsche Eingabe"
  1561.                                                     ;;
  1562.                                             esac
  1563.                                         done
  1564.                                     ;;
  1565.                                 esac
  1566.                             ;;
  1567.                             11)
  1568.                                 while true
  1569.                                 do
  1570.                                     clear
  1571.                                     PGREP_HOP2=$(pgrep -alf "hopid 2")
  1572.                                     PGREP_HOP3=$(pgrep -alf "hopid 3")
  1573.                                     if [ $PGREP_HOP2  = ] 2>/dev/zero
  1574.                                         then
  1575.                                             test
  1576.                                         else/tmp/.openvpn-pp
  1577.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1578.                                         echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
  1579.                                         ECHO_HOP_VU="hop2 wurde geschlossen"
  1580.                                     fi
  1581.                                     if [ $PGREP_HOP3 = ] 2>/dev/zero
  1582.                                         then
  1583.                                             test
  1584.                                         else
  1585.                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1586.                                         echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
  1587.                                         ECHO_HOP_VU="hop2 und hop3 wurden geschlossen"
  1588.                                     fi
  1589.                                     AUSLOESER="false"
  1590.                                     echo
  1591.                                     echo "$ECHO_HOP_VU"
  1592.                                     echo
  1593.                                     echo "Dies wird \"nicht\" im Hintergrund gestartet,"
  1594.                                     echo "das gestartete Überwachungsskript \"muss geöffnet bleiben\"."
  1595.                                     echo "STRG+C um das gestartete Script zu beenden."
  1596.                                     echo
  1597.                                     echo "Um im Hintergrund zu Starten: zurück und \"1) Im Hinterrund Starten\" auswählen"
  1598.                                     echo
  1599.                                     echo "Ausgewählte Server:"
  1600.                                     echo "HAUPTVERBINDUNG: $HAUPTVERBINDUNG"
  1601.                                     echo "ERSATZSERVER_1: $ERSATZSERVER_1 | ERSATZSERVER_2: $ERSATZSERVER_2"
  1602.                                     echo
  1603.                                     echo "00) Zurück    -/-    Weiter mit >ENTER<"
  1604.                                     read XYZABC
  1605.                                     case $XYZABC in
  1606.                                         00)
  1607.                                             break
  1608.                                         ;;
  1609.                                         *)
  1610.                                             while true
  1611.                                             do
  1612.                                                 clear
  1613.                                                 UE="0"
  1614.                                                 VERSUCHE_SERVER="0"
  1615.                                                 VERSUCHE_GESAMT="0"
  1616.                                                 SERVER=$HAUPTVERBINDUNG
  1617.                                                 AUSLOESER_1=$(ps -e | grep "openvpn")
  1618.                                                 AUSLOESER_2=$(grep "Sequence" $LOG_ID1)
  1619.                                                 AUSLOESER_3=$(grep "Recursive routing detected" $LOG_ID1)
  1620.                                                 AUSLOESER_4=$(grep "Inactivity timeout" $LOG_ID1)
  1621.  
  1622.                                                 if [ $ON_OFF_MACCHANGER = "true" ]
  1623.                                                     then
  1624.                                                         MAC_STATUS_N1_CURRENT=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Current | cut -c 16-32)
  1625.                                                         MAC_STATUS_N1_PERMA=$(macchanger -s $NETZINTERFACE_1 2>/dev/zero | grep Permanent | cut -c 16-32)
  1626.                                                         if [ $MAC_STATUS_N1_CURRENT = $MAC_STATUS_N1_PERMA ]
  1627.                                                             then
  1628.                                                                 MAC_STATUS_N1=" |> $NETZINTERFACE_1 nicht geändert <| "
  1629.                                                             else
  1630.                                                                 MAC_STATUS_N1="\"$NETZINTERFACE_1 geändert\""
  1631.                                                         fi
  1632.                                                         macchanger -s $NETZINTERFACE_1 &>/dev/zero || MAC_STATUS_N1=""
  1633.  
  1634.                                                         MAC_STATUS_N2_CURRENT=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Current | cut -c 16-32)
  1635.                                                         MAC_STATUS_N2_PERMA=$(macchanger -s $NETZINTERFACE_2 2>/dev/zero | grep Permanent | cut -c 16-32)
  1636.                                                         if [ $MAC_STATUS_N2_CURRENT = $MAC_STATUS_N2_PERMA ]
  1637.                                                             then
  1638.                                                                 MAC_STATUS_N2=" |> $NETZINTERFACE_2 nicht geändert <| "
  1639.                                                             else
  1640.                                                                 MAC_STATUS_N2="\"$NETZINTERFACE_2 geändert\""
  1641.                                                         fi
  1642.                                                         macchanger -s $NETZINTERFACE_2 2>/dev/zero || MAC_STATUS_N2=""
  1643.                                                     else
  1644.                                                         MAC_STATUS_N1=""
  1645.                                                         MAC_STATUS_N2=""
  1646.                                                 fi
  1647.                                                
  1648.                                                 HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1649.                                                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1650.                                                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1651.  
  1652.                                                 echo "hop1: $VPN_STATUS_ID1       $HOPID1"
  1653.                                                 echo "hop1 Sequence: $SEQUENCE_ID1"
  1654.                                                 if type ufw &> /dev/zero
  1655.                                                     then
  1656.                                                         UFW_STATUS=$(ufw status | grep "Status:")
  1657.                                                     else
  1658.                                                         UFW_STATUS=""
  1659.                                                 fi
  1660.                                                 $UFW_STATUS_ECHO_2
  1661.                                                 $UFW_STATUS_ECHO_1 "$UFW_STATUS"
  1662.                                                 $MACCHANGER_ECHO "MAC-Adresse: $MAC_STATUS_N1 $MAC_STATUS_N2"
  1663.                                                 echo
  1664.                                                 date
  1665.                                                
  1666.                                                 if [ $AUSLOESER_1 =  ] 2> /dev/zero
  1667.                                                     then
  1668.                                                         AUSLOESER="true"
  1669.                                                 fi
  1670.                                                
  1671.                                                 if [ $AUSLOESER_2 =  ] 2>/dev/zero
  1672.                                                     then
  1673.                                                         AUSLOESER="true"
  1674.                                                 fi
  1675.                                                
  1676.                                                 if [ $AUSLOESER_3 =  ] 2> /dev/zero
  1677.                                                     then
  1678.                                                         # false
  1679.                                                         test
  1680.                                                     else
  1681.                                                         AUSLOESER="true"
  1682.                                                 fi
  1683.                                                
  1684.                                                 if [ $AUSLOESER_4 =  ] 2> /dev/zero
  1685.                                                     then
  1686.                                                         # false
  1687.                                                         test
  1688.                                                     else
  1689.                                                         AUSLOESER="true"
  1690.                                                 fi
  1691.                                                
  1692.                                                 if [ $AUSLOESER = "true" ] 2> /dev/zero
  1693.                                                     then
  1694.                                                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1695.                                                         echo -e "" > $LOG_ID1
  1696.                                                         sleep 0.2
  1697.                                                         #
  1698.                                                             PGREP_HOP2=$(pgrep -alf "hopid 2")
  1699.                                                             PGREP_HOP3=$(pgrep -alf "hopid 3")
  1700.                                                             if [ $PGREP_HOP2  = ] 2>/dev/zero
  1701.                                                                 then
  1702.                                                                     test
  1703.                                                                 else
  1704.                                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1705.                                                                 echo -e "vpn_status=Offline\n" > $LOG_ID2 ; sleep 0.2
  1706.                                                             fi
  1707.                                                             if [ $PGREP_HOP3 = ] 2>/dev/zero
  1708.                                                                 then
  1709.                                                                     test
  1710.                                                                 else
  1711.                                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1712.                                                                 echo -e "vpn_status=Offline\n" > $LOG_ID3 ; sleep 0.2
  1713.                                                             fi
  1714.                                                             if [ -e $VU_SVR_CACHE ] 2>/dev/zero
  1715.                                                                 then
  1716.                                                                     # datei auslesen und variable aktualisieren
  1717.                                                                     HAUPTVERBINDUNG=$(grep "Hauptverbindung=" $VU_SVR_CACHE | cut -c 17-100)
  1718.                                                                     ERSATZSERVER_1=$(grep "Ersatzserver_1=" $VU_SVR_CACHE | cut -c 16-100)
  1719.                                                                     ERSATZSERVER_2=$(grep "Ersatzserver_2=" $VU_SVR_CACHE | cut -c 16-100)
  1720.                                                                 else
  1721.                                                                     echo "Hauptverbindung=$HAUPTVERBINDUNG" > $VU_SVR_CACHE
  1722.                                                                     echo "Ersatzserver_1=$ERSATZSERVER_1" >> $VU_SVR_CACHE
  1723.                                                                     echo "Ersatzserver_2=$ERSATZSERVER_2" >> $VU_SVR_CACHE
  1724.                                                                     sleep 0.2
  1725.                                                             fi
  1726.                                                 fi
  1727.                                                
  1728.                                                 if [ $AUSLOESER = "true" ]
  1729.                                                     then
  1730.                                                         while true
  1731.                                                         do
  1732.                                                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1733.                                                             if [ $SEQUENCE_ID1 =  ] 2>/dev/zero && [ $UE -ne 10 ] 2>/dev/zero && [ $UE -ne 21 ] 2>/dev/zero && [ $UE -ne 32 ] 2>/dev/zero
  1734.                                                                 then
  1735.                                                                     clear
  1736.                                                                     echo "Reconnect hop1"
  1737.                                                                     UE=$((UE+1))
  1738.                                                                     VERSUCHE_SERVER=$((VERSUCHE_SERVER+1))
  1739.                                                                     VERSUCHE_GESAMT=$((VERSUCHE_GESAMT+1))
  1740.                                                                     echo "Versuch aktueller Server: $VERSUCHE_SERVER"
  1741.                                                                     echo "Server: $SERVER"
  1742.                                                                     echo "Versuche gesamt: $VERSUCHE_GESAMT"
  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.                                                                     echo -e "vpn_status=$SERVER\n" >> $LOG_ID1
  1763.                                                                     echo -e "vpn_selsect=$SERVER\n" >> $LOG_ID1
  1764.                                                                     UE="0"
  1765.                                                                     VERSUCHE_SERVER="0"
  1766.                                                                     VERSUCHE_GESAMT="0"
  1767.                                                                     SERVER=$HAUPTVERBINDUNG
  1768.                                                                     AUSLOESER="false"
  1769.                                                                     echo "Mit hop1 Verbunden"
  1770.                                                                     sleep 2
  1771.                                                                     break
  1772.                                                             fi
  1773.                                                         done
  1774.                                                     else
  1775.                                                         # Auslöserer sind false und fängt wieder von vorne an
  1776.                                                         sleep 11
  1777.                                                 fi
  1778.                                             done
  1779.                                         ;;
  1780.                                     esac
  1781.                                 done
  1782.                             ;;
  1783.                             00)
  1784.                                 break
  1785.                             ;;
  1786.                             *)
  1787.                             ;;
  1788.                         esac
  1789.                 done
  1790.             ;;
  1791.             61)
  1792.                 clear
  1793.                 PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  1794.                 PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  1795.                 if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  1796.                     then
  1797.                         echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  1798.                         sleep 2
  1799.                     else
  1800.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  1801.                         PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  1802.                         echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  1803.                 fi
  1804.             ;;
  1805.             62)
  1806.                 clear
  1807.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.5
  1808.                 echo "PID=" > $VU_PID_CACHE
  1809.             ;;
  1810.             63)
  1811.                 echo "Inactivity timeout" >> $LOG_ID1 ; sleep 0.2
  1812.             ;;
  1813.             11)
  1814.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1815.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1816.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1817.                 echo "hop1 Reconnect"
  1818.                 HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1819.                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1820.                 echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1821.                 echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1822.                 $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1823.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  1824.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  1825.                 sleep 0.2
  1826.                 i=""
  1827.             ;;
  1828.             111)
  1829.                 echo "hop1 Reconnect"
  1830.                 HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1831.                 VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1832.                 echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1833.                 echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1834.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1835.                 $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1836.             ;;
  1837.             12)
  1838.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1839.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1840.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1841.                 while true
  1842.                 do
  1843.                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1844.                     if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1845.                     then
  1846.                         echo "Reconnect hop1"
  1847.                         i=$((i+1))
  1848.                         echo "Versuch: $i"
  1849.                         sleep 1
  1850.                     else
  1851.                         echo "Verbinde mit hop1"
  1852.                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1853.                         sleep 0.2
  1854.                         HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1855.                         VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1856.                         echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1857.                         echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1858.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1859.                         $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1860.                         echo "Verbunden mit hop1, gehe zu hop2"
  1861.                         i=""
  1862.                         sleep 1
  1863.                             while true
  1864.                             do
  1865.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1866.                                 if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1867.                                 then
  1868.                                     echo "Reconnect hop2"
  1869.                                     i=$((i+1))
  1870.                                     echo "Versuch: $i"
  1871.                                     sleep 1
  1872.                                 else
  1873.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1874.                                     echo "Verbinde mit hop2"
  1875.                                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1876.                                     sleep 0.2
  1877.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1878.                                     HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1879.                                     VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1880.                                     echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1881.                                     echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1882.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1883.                                     $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1884.                                     echo "Verbunden mit hop2"
  1885.                                     i=""
  1886.                                     sleep 1
  1887.                                     echo -e "vpn_status=Offline\n" > $LOG_ID3
  1888.                                     break
  1889.                                 fi
  1890.                             done
  1891.                         break                    
  1892.                     fi
  1893.                 done
  1894.             ;;
  1895.             122)
  1896.                 echo "hop2 Reconnect"
  1897.                 HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1898.                 HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1899.                 VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1900.                 echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1901.                 echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1902.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1903.                 $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1904.             ;;
  1905.             13)
  1906.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  1907.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  1908.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  1909.                 while true
  1910.                 do
  1911.                 SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1912.                     if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1913.                     then
  1914.                         echo "Reconnect hop1"
  1915.                         date
  1916.                         sleep 1
  1917.                     else
  1918.                         echo "Verbinde mit hop1"
  1919.                         SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1920.                         sleep 0.2
  1921.                         HOP1_RE=$(grep "vpn_selsect=" $LOG_ID1 | cut -c 13-50)
  1922.                         VPN_STATUS_ID1=$(grep "vpn_status=" $LOG_ID1 | cut -c 12-50)
  1923.                         echo -e "vpn_status=$VPN_STATUS_ID1\n" > $LOG_ID1
  1924.                         echo -e "vpn_selsect=$HOP1_RE\n" >> $LOG_ID1
  1925.                         $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP ;sleep 0.5
  1926.                         $VPN_ID1  \  $VPN_OPTION1 \ "$HOP1_RE.conf $VPN_OPTION2 >> $LOG_ID1" $START ; sleep 0.2
  1927.                         echo "Verbunden mit hop1, gehe zu hop2"
  1928.                         i=""
  1929.                         sleep 1
  1930.                             while true
  1931.                             do
  1932.                             SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1933.                                 if [ $SEQUENCE_ID1 = ] 2> /dev/zero
  1934.                                 then
  1935.                                     echo "Reconnect hop2"
  1936.                                     i=$((i+1))
  1937.                                     echo "Versuch: $i"
  1938.                                     sleep 1
  1939.                                 else
  1940.                                     HOPID1=$(grep "openvpn --config" $LOG_ID1 | cut -c 150-250)
  1941.                                     echo "Verbinde mit hop2"
  1942.                                     SEQUENCE_ID1=$(grep "Sequence" $LOG_ID1)
  1943.                                     sleep 0.2
  1944.                                     HOP2_RE=$(grep "vpn_selsect=" $LOG_ID2 | cut -c 13-50)
  1945.                                     VPN_STATUS_ID2=$(grep "vpn_status=" $LOG_ID2 | cut -c 12-50)
  1946.                                     echo -e "vpn_status=$VPN_STATUS_ID2\n" > $LOG_ID2
  1947.                                     echo -e "vpn_selsect=$HOP2_RE\n" >> $LOG_ID2
  1948.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP ;sleep 0.5
  1949.                                     $VPN_ID2  \  $VPN_OPTION1 \ "$HOP2_RE.conf $VPN_OPTION2 $HOPID1 >> $LOG_ID2" $START ; sleep 0.2
  1950.                                     echo "Verbunden mit hop2, gehe zu hop3"
  1951.                                     i=""
  1952.                                     sleep 1
  1953.                                         while true
  1954.                                         do
  1955.                                         SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  1956.                                             if [ $SEQUENCE_ID2 = ] 2> /dev/zero
  1957.                                             then
  1958.                                                 echo "Reconnect hop3"
  1959.                                                 i=$((i+1))
  1960.                                                 echo "Versuch: $i"
  1961.                                                 sleep 1
  1962.                                             else
  1963.                                                 HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  1964.                                                 echo "Verbinde mit hop3"
  1965.                                                 SEQUENCE_ID2=$(grep "Sequence" $LOG_ID2)
  1966.                                                 sleep 0.2
  1967.                                                 HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
  1968.                                                 VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  1969.                                                 echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
  1970.                                                 echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
  1971.                                                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
  1972.                                                 $VPN_ID3  \  $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
  1973.                                                 echo "Verbunden mit hop3"
  1974.                                                 i=""
  1975.                                                 sleep 1
  1976.                                                 break
  1977.                                             fi
  1978.                                         done
  1979.                                     break
  1980.                                 fi
  1981.                             done
  1982.                         break                    
  1983.                     fi
  1984.                 done
  1985.             ;;
  1986.             133)
  1987.                 echo "hop3 Reconnect"
  1988.                 HOPID2=$(grep "openvpn --config" $LOG_ID2 | cut -c 150-250)
  1989.                 HOP3_RE=$(grep "vpn_selsect=" $LOG_ID3 | cut -c 13-50)
  1990.                 VPN_STATUS_ID3=$(grep "vpn_status=" $LOG_ID3 | cut -c 12-50)
  1991.                 echo -e "vpn_status=$VPN_STATUS_ID3\n" > $LOG_ID3
  1992.                 echo -e "vpn_selsect=$HOP3_RE\n" >> $LOG_ID3
  1993.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP ;sleep 0.5
  1994.                 $VPN_ID3  \  $VPN_OPTION1 \ "$HOP3_RE.conf $VPN_OPTION2 $HOPID2 >> $LOG_ID3" $START ; sleep 0.2
  1995.             ;;
  1996.             41)
  1997.                 if [ $ON_OFF_UFW = "true" ]
  1998.                     then
  1999.                         echo "ufw enable"
  2000.                         ufw enable
  2001.                 fi
  2002.             ;;
  2003.             42)
  2004.                 if [ $ON_OFF_UFW = "true" ]
  2005.                     then
  2006.                         echo "ufw disable"
  2007.                         ufw disable
  2008.                 fi
  2009.             ;;
  2010.             43)
  2011.                 if [ $ON_OFF_UFW = "true" ]
  2012.                     then
  2013.                         clear
  2014.                         ufw status numbered | less
  2015.                 fi
  2016.             ;;
  2017.             t|tail)
  2018.                 if [ $ON_OFF_TAIL = "true" ]
  2019.                     then
  2020.                         clear
  2021.                         tail -n 20 $LOG_ID1
  2022.                         echo "# hop1"
  2023.                         $TAIL_SLEEP
  2024.                         clear
  2025.                         tail -n 20 $LOG_ID2
  2026.                         echo "# hop2"
  2027.                         $TAIL_SLEEP
  2028.                         clear
  2029.                         tail -n 20 $LOG_ID3
  2030.                         echo "# hop3"
  2031.                         $TAIL_SLEEP
  2032.                 fi
  2033.             ;;
  2034.             t1|tail1)
  2035.                 if [ $ON_OFF_TAIL = "true" ]
  2036.                     then
  2037.                         tail -n 20 $LOG_ID1
  2038.                         $TAIL_SLEEP
  2039.                 fi
  2040.             ;;
  2041.             t2|tail2)
  2042.                 if [ $ON_OFF_TAIL = "true" ]
  2043.                     then
  2044.                         tail -n 20 $LOG_ID2
  2045.                             $TAIL_SLEEP
  2046.                 fi
  2047.             ;;
  2048.             t3|tail3)
  2049.                 if [ $ON_OFF_TAIL = "true" ]
  2050.                     then
  2051.                         tail -n 20 $LOG_ID3
  2052.                         $TAIL_SLEEP
  2053.                 fi
  2054.             ;;
  2055.             l1|less1)
  2056.                 if [ $ON_OFF_LESS = "true" ]
  2057.                     then
  2058.                     less +F $LOG_ID1
  2059.                 fi
  2060.             ;;
  2061.             l2|less2)
  2062.                 if [ $ON_OFF_LESS = "true" ]
  2063.                     then
  2064.                         less +F $LOG_ID2
  2065.                 fi
  2066.             ;;
  2067.             l3|less3)
  2068.                 if [ $ON_OFF_LESS = "true" ]
  2069.                     then
  2070.                         less +F $LOG_ID3
  2071.                 fi
  2072.             ;;
  2073.             91)
  2074.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2075.                 sleep 0.2
  2076.                 echo -e "vpn_status=Offline\n" > $LOG_ID1
  2077.             ;;
  2078.             92)
  2079.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2080.                 sleep 0.2
  2081.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2082.             ;;
  2083.             93)
  2084.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2085.                 sleep 0.2
  2086.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2087.             ;;
  2088.             932|923)
  2089.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2090.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2091.                 sleep 0.2
  2092.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2093.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2094.             ;;
  2095.             943|934)
  2096.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2097.                 sleep 0.2
  2098.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2099.             ;;
  2100.             9432|9234|9423|9342|9324|9243)
  2101.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2102.                 $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2103.                 sleep 0.2
  2104.                 echo -e "vpn_status=Offline\n" > $LOG_ID2
  2105.                 echo -e "vpn_status=Offline\n" > $LOG_ID3
  2106.             ;;
  2107.             999)
  2108.                 clear
  2109.                 while true
  2110.                 do
  2111.                     echo " 1) Alles an: UFW-Firewall und die VPN-Überwachung wird gestartet."
  2112.                     echo " 2) Alles aus: VPN-Verbindungen, UFW-Firewall und die VPN-Überwachung wird beendet."
  2113.                     echo "33) Zurücksetzen: Temporäre Datein löschen, tmux Sessions, VPN und Script Schließen."
  2114.                     echo "00) Zurück"
  2115.                     read NEUNNEUNNEUN
  2116.                     case $NEUNNEUNNEUN in
  2117.                         1)
  2118.                             PID_VU_GREP=$(grep "PID=" $VU_PID_CACHE | cut -c 5-100)
  2119.                             PID_VU_CHECK=$(ps -e | grep -c "$PID_VU_GREP")
  2120.                             if [ $PID_VU_CHECK -eq 1 ] 2>/dev/zero
  2121.                                 then
  2122.                                     echo "Prozess ID \"$PID_VU_GREP\" Läuft"
  2123.                                     sleep 2
  2124.                                 else
  2125.                                     $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 "bash $SCRIPT -vu" $START ; sleep 0.5
  2126.                                     PGREP_VU_PID=$(pgrep -f "$SCRIPT -vu")
  2127.                                     echo "PID=$PGREP_VU_PID" > $VU_PID_CACHE
  2128.                             fi
  2129.                             if [ $ON_OFF_UFW = "true" ]
  2130.                                 then
  2131.                                     ufw enable
  2132.                             fi
  2133.                             break
  2134.                         ;;
  2135.                         2)
  2136.                             echo -e "\n"
  2137.                             clear
  2138.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
  2139.                             echo "PID=" > $VU_PID_CACHE
  2140.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2141.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2142.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2143.                             sleep 0.2
  2144.                             echo -e "vpn_status=Offline\n" > $LOG_ID1
  2145.                             echo -e "vpn_status=Offline\n" > $LOG_ID2
  2146.                             echo -e "vpn_status=Offline\n" > $LOG_ID3
  2147.                             if [ $ON_OFF_UFW = "true" ]
  2148.                             then
  2149.                                 ufw disable
  2150.                             fi
  2151.                             echo "VPN sollte jetzt tot sein" ; sleep 0.5
  2152.                             break
  2153.                         ;;
  2154.                         33)
  2155.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_5 $STOP ; sleep 0.2
  2156.                             echo "PID=" > $VU_PID_CACHE
  2157.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_1 $STOP
  2158.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_2 $STOP
  2159.                             $SESSION send-keys -t $SESSION_NAME:$FENSTER_ID_3 $STOP
  2160.                             sleep 0.2
  2161.                             echo -e "vpn_status=Offline\n" > $LOG_ID1
  2162.                             echo -e "vpn_status=Offline\n" > $LOG_ID2
  2163.                             echo -e "vpn_status=Offline\n" > $LOG_ID3
  2164.                             if [ $ON_OFF_UFW = "true" ]
  2165.                             then
  2166.                                 ufw disable
  2167.                             fi
  2168.                             rm -rf $OPENVPN_TMP_DIR
  2169.                             tmux kill-session -t $SESSION_NAME
  2170.                             echo "VPN sollte jetzt tot sein" ; sleep 0.5
  2171.                             exit 0
  2172.                         ;;
  2173.                         00)
  2174.                             break
  2175.                         ;;
  2176.                         *)
  2177.                             clear
  2178.                             echo "Falsche Eingabe"
  2179.                             echo
  2180.                         ;;
  2181.                     esac
  2182.                 done
  2183.             ;;
  2184.             *)
  2185.                 echo "Falsche Eingabe"
  2186.             ;;
  2187.         esac
  2188. done
  2189.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement