port-ovpn.sh 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- ifconfig.me/ip);
  6. echo "Checking VPS"
  7. clear
  8. MYIP=$(wget -qO- ifconfig.me/ip);
  9. ovpn="$(netstat -nlpt | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)"
  10. ovpn2="$(netstat -nlpu | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)"
  11. echo -e "======================================" | lolcat
  12. echo -e "Name : Change Port Openvpn"
  13. echo -e "======================================" | lolcat
  14. echo -e " [1] Change Port TCP $ovpn"
  15. echo -e " [2] Change Port UDP $ovpn2"
  16. echo -e " [x] Exit"
  17. echo -e "======================================" | lolcat
  18. echo -e ""
  19. read -p " Select From Options [1-2 or x] : " prot
  20. echo -e ""
  21. case $prot in
  22. 1)
  23. read -p "New Port OpenVPN: " vpn
  24. if [ -z $vpn ]; then
  25. echo "Please Input Port"
  26. exit 0
  27. fi
  28. cek=$(netstat -nutlp | grep -w $vpn)
  29. if [[ -z $cek ]]; then
  30. rm -f /etc/openvpn/server/server-tcp-$ovpn.conf
  31. rm -f /etc/openvpn/client-tcp-$ovpn.ovpn
  32. rm -f /home/vps/public_html/client-tcp-$ovpn.ovpn
  33. cat > /etc/openvpn/server/server-tcp-$vpn.conf<<END
  34. port $vpn
  35. proto tcp
  36. dev tun
  37. ca ca.crt
  38. cert server.crt
  39. key server.key
  40. dh dh2048.pem
  41. plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
  42. verify-client-cert none
  43. username-as-common-name
  44. server 10.6.0.0 255.255.255.0
  45. ifconfig-pool-persist ipp.txt
  46. push "redirect-gateway def1 bypass-dhcp"
  47. push "dhcp-option DNS 8.8.8.8"
  48. push "dhcp-option DNS 8.8.4.4"
  49. keepalive 5 30
  50. comp-lzo
  51. persist-key
  52. persist-tun
  53. status openvpn-tcp.log
  54. verb 3
  55. END
  56. cat > /etc/openvpn/client-tcp-$vpn.ovpn <<-END
  57. client
  58. dev tun
  59. proto tcp
  60. remote $MYIP $vpn
  61. resolv-retry infinite
  62. route-method exe
  63. nobind
  64. persist-key
  65. persist-tun
  66. auth-user-pass
  67. comp-lzo
  68. verb 3
  69. END
  70. echo '<ca>' >> /etc/openvpn/client-tcp-$vpn.ovpn
  71. cat /etc/openvpn/server/ca.crt >> /etc/openvpn/client-tcp-$vpn.ovpn
  72. echo '</ca>' >> /etc/openvpn/client-tcp-$vpn.ovpn
  73. cp /etc/openvpn/client-tcp-$vpn.ovpn /home/vps/public_html/client-tcp-$vpn.ovpn
  74. systemctl disable --now openvpn-server@server-tcp-$ovpn > /dev/null
  75. systemctl enable --now openvpn-server@server-tcp-$vpn > /dev/null
  76. sed -i "s/ - OpenVPN : TCP $ovpn, UDP $ovpn2, SSL 442/ - OpenVPN : TCP $vpn, UDP $ovpn2, SSL 442/g" /root/log-install.txt
  77. sed -i "s/$ovpn/$vpn/g" /etc/stunnel/stunnel.conf
  78. echo -e "\e[032;1mPort $vpn modified successfully\e[0m"
  79. else
  80. echo "Port $vpn is used"
  81. fi
  82. ;;
  83. 2)
  84. read -p "New Port OpenVPN: " vpn
  85. if [ -z $vpn ]; then
  86. echo "Please Input Port"
  87. exit 0
  88. fi
  89. cek=$(netstat -nutlp | grep -w $vpn)
  90. if [[ -z $cek ]]; then
  91. rm -f /etc/openvpn/server/server-udp-$ovpn2.conf
  92. rm -f /etc/openvpn/client-udp-$ovpn2.ovpn
  93. rm -f /home/vps/public_html/client-tcp-$ovpn2.ovpn
  94. cat > /etc/openvpn/server/server-udp-$vpn.conf<<END
  95. port $vpn
  96. proto udp
  97. dev tun
  98. ca ca.crt
  99. cert server.crt
  100. key server.key
  101. dh dh2048.pem
  102. plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
  103. verify-client-cert none
  104. username-as-common-name
  105. server 10.7.0.0 255.255.255.0
  106. ifconfig-pool-persist ipp.txt
  107. push "redirect-gateway def1 bypass-dhcp"
  108. push "dhcp-option DNS 8.8.8.8"
  109. push "dhcp-option DNS 8.8.4.4"
  110. keepalive 5 30
  111. comp-lzo
  112. persist-key
  113. persist-tun
  114. status openvpn-udp.log
  115. verb 3
  116. explicit-exit-notify
  117. END
  118. cat > /etc/openvpn/client-udp-$vpn.ovpn <<-END
  119. client
  120. dev tun
  121. proto udp
  122. remote $MYIP $vpn
  123. resolv-retry infinite
  124. route-method exe
  125. nobind
  126. persist-key
  127. persist-tun
  128. auth-user-pass
  129. comp-lzo
  130. verb 3
  131. END
  132. echo '<ca>' >> /etc/openvpn/client-udp-$vpn.ovpn
  133. cat /etc/openvpn/server/ca.crt >> /etc/openvpn/client-udp-$vpn.ovpn
  134. echo '</ca>' >> /etc/openvpn/client-udp-$vpn.ovpn
  135. cp /etc/openvpn/client-udp-$vpn.ovpn /home/vps/public_html/client-udp-$vpn.ovpn
  136. systemctl disable --now openvpn-server@server-udp-$ovpn2 > /dev/null
  137. systemctl enable --now openvpn-server@server-udp-$vpn > /dev/null
  138. sed -i "s/ - OpenVPN : TCP $ovpn, UDP $ovpn2, SSL 442/ - OpenVPN : TCP $ovpn, UDP $vpn, SSL 442/g" /root/log-install.txt
  139. echo -e "\e[032;1mPort $vpn modified successfully\e[0m"
  140. else
  141. echo "Port $vpn is used"
  142. fi
  143. ;;
  144. x)
  145. exit
  146. menu
  147. ;;
  148. *)
  149. echo "Please enter an correct number"
  150. ;;
  151. esac