add-l2tp.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- ipv4.icanhazip.com);
  6. echo "Checking VPS"
  7. clear
  8. source /var/lib/premium-script/ipvps.conf
  9. if [[ "$IP" = "" ]]; then
  10. PUBLIC_IP=$(wget -qO- ipv4.icanhazip.com);
  11. else
  12. PUBLIC_IP=$IP
  13. fi
  14. until [[ $VPN_USER =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do
  15. echo "Name : Create L2TP Account"
  16. echo "===========================" | lolcat
  17. read -rp "Username: " -e VPN_USER
  18. CLIENT_EXISTS=$(grep -w $VPN_USER /var/lib/premium-script/data-user-l2tp | wc -l)
  19. if [[ ${CLIENT_EXISTS} == '1' ]]; then
  20. echo ""
  21. echo "A client with the specified name was already created, please choose another name."
  22. exit 1
  23. fi
  24. done
  25. read -p "Password: " VPN_PASSWORD
  26. read -p "Expired (days): " masaaktif
  27. exp=`date -d "$masaaktif days" +"%Y-%m-%d"`
  28. clear
  29. # Add or update VPN user
  30. cat >> /etc/ppp/chap-secrets <<EOF
  31. "$VPN_USER" l2tpd "$VPN_PASSWORD" *
  32. EOF
  33. VPN_PASSWORD_ENC=$(openssl passwd -1 "$VPN_PASSWORD")
  34. cat >> /etc/ipsec.d/passwd <<EOF
  35. $VPN_USER:$VPN_PASSWORD_ENC:xauth-psk
  36. EOF
  37. # Update file attributes
  38. chmod 600 /etc/ppp/chap-secrets* /etc/ipsec.d/passwd*
  39. echo -e "### $VPN_USER $exp">>"/var/lib/premium-script/data-user-l2tp"
  40. cat <<EOF
  41. L2TP/IPSEC PSK VPN
  42. ================================
  43. Server IP : $PUBLIC_IP
  44. IPsec PSK : myvpn
  45. Username : $VPN_USER
  46. Password : $VPN_PASSWORD
  47. Expired ON : $exp
  48. =================================
  49. EOF