add-ws.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- icanhazip.com);
  6. echo "Script By Senovpn"
  7. clear
  8. source /var/lib/premium-script/ipvps.conf
  9. if [[ "$IP" = "" ]]; then
  10. domain=$(cat /etc/v2ray/domain)
  11. else
  12. domain=$IP
  13. fi
  14. tls="$(cat ~/log-install.txt | grep -w "Vmess TLS" | cut -d: -f2|sed 's/ //g')"
  15. none="$(cat ~/log-install.txt | grep -w "Vmess None TLS" | cut -d: -f2|sed 's/ //g')"
  16. until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do
  17. read -rp "User: " -e user
  18. CLIENT_EXISTS=$(grep -w $user /etc/v2ray/config.json | 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. uuid=$(cat /proc/sys/kernel/random/uuid)
  26. read -p "Expired (days): " masaaktif
  27. exp=`date -d "$masaaktif days" +"%d-%m-%Y"`
  28. created=`date -d "0 days" +"%d-%m-%Y"`
  29. sed -i '/#tls$/a\### '"$user $exp"'\
  30. },{"id": "'""$uuid""'","alterId": '"2"',"email": "'""$user""'"' /etc/v2ray/config.json
  31. sed -i '/#none$/a\### '"$user $exp"'\
  32. },{"id": "'""$uuid""'","alterId": '"2"',"email": "'""$user""'"' /etc/v2ray/none.json
  33. cat>/etc/v2ray/$user-tls.json<<EOF
  34. {
  35. "v": "2",
  36. "ps": "${user}",
  37. "add": "${domain}",
  38. "port": "${tls}",
  39. "id": "${uuid}",
  40. "aid": "2",
  41. "net": "ws",
  42. "path": "/senovpn",
  43. "type": "none",
  44. "host": "",
  45. "tls": "tls"
  46. }
  47. EOF
  48. cat>/etc/v2ray/$user-none.json<<EOF
  49. {
  50. "v": "2",
  51. "ps": "${user}",
  52. "add": "${domain}",
  53. "port": "${none}",
  54. "id": "${uuid}",
  55. "aid": "2",
  56. "net": "ws",
  57. "path": "/senovpn",
  58. "type": "none",
  59. "host": "",
  60. "tls": "none"
  61. }
  62. EOF
  63. vmess_base641=$( base64 -w 0 <<< $vmess_json1)
  64. vmess_base642=$( base64 -w 0 <<< $vmess_json2)
  65. vmesslink1="vmess://$(base64 -w 0 /etc/v2ray/$user-tls.json)"
  66. vmesslink2="vmess://$(base64 -w 0 /etc/v2ray/$user-none.json)"
  67. systemctl restart v2ray
  68. systemctl restart v2ray@none
  69. service cron restart
  70. clear
  71. echo -e "==========-V2RAY/VMESS-=========="
  72. echo -e "Remarks : ${user}"
  73. echo -e "Domain : ${domain}"
  74. echo -e "port TLS : ${tls}"
  75. echo -e "port none TLS : ${none}"
  76. echo -e "id : ${uuid}"
  77. echo -e "alterId : 2"
  78. echo -e "Security : auto"
  79. echo -e "network : ws"
  80. echo -e "path : /senovpn"
  81. echo -e "Created : $created"
  82. echo -e "Expired : $exp"
  83. echo -e "================================="
  84. echo -e "link TLS : ${vmesslink1}"
  85. echo -e "================================="
  86. echo -e "link none TLS : ${vmesslink2}"
  87. echo -e "================================="
  88. echo -e ""
  89. echo -e "Script By @senovpn"
  90. echo -e ""