add-ws.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. source /var/lib/premium-script/ipvps.conf
  7. if [[ "$IP" = "" ]]; then
  8. domain=$(cat /etc/v2ray/domain)
  9. else
  10. domain=$IP
  11. fi
  12. tls="$(cat ~/log-install.txt | grep -w "Vmess TLS" | cut -d: -f2|sed 's/ //g')"
  13. none="$(cat ~/log-install.txt | grep -w "Vmess None TLS" | cut -d: -f2|sed 's/ //g')"
  14. until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do
  15. read -rp "User: " -e user
  16. CLIENT_EXISTS=$(grep -w $user /etc/v2ray/config.json | wc -l)
  17. if [[ ${CLIENT_EXISTS} == '1' ]]; then
  18. echo ""
  19. echo "A client with the specified name was already created, please choose another name."
  20. exit 1
  21. fi
  22. done
  23. uuid=$(cat /proc/sys/kernel/random/uuid)
  24. read -p "Expired (days): " masaaktif
  25. exp=`date -d "$masaaktif days" +"%Y-%m-%d"`
  26. sed -i '/#tls$/a\### '"$user $exp"'\
  27. },{"id": "'""$uuid""'","alterId": '"2"',"email": "'""$user""'"' /etc/v2ray/config.json
  28. sed -i '/#none$/a\### '"$user $exp"'\
  29. },{"id": "'""$uuid""'","alterId": '"2"',"email": "'""$user""'"' /etc/v2ray/none.json
  30. cat>/etc/v2ray/$user-tls.json<<EOF
  31. {
  32. "v": "2",
  33. "ps": "${user}",
  34. "add": "${domain}",
  35. "port": "${tls}",
  36. "id": "${uuid}",
  37. "aid": "2",
  38. "net": "ws",
  39. "path": "/v2ray",
  40. "type": "none",
  41. "host": "",
  42. "tls": "tls"
  43. }
  44. EOF
  45. cat>/etc/v2ray/$user-none.json<<EOF
  46. {
  47. "v": "2",
  48. "ps": "${user}",
  49. "add": "${domain}",
  50. "port": "${none}",
  51. "id": "${uuid}",
  52. "aid": "2",
  53. "net": "ws",
  54. "path": "/v2ray",
  55. "type": "none",
  56. "host": "",
  57. "tls": "none"
  58. }
  59. EOF
  60. vmess_base641=$( base64 -w 0 <<< $vmess_json1)
  61. vmess_base642=$( base64 -w 0 <<< $vmess_json2)
  62. vmesslink1="vmess://$(base64 -w 0 /etc/v2ray/$user-tls.json)"
  63. vmesslink2="vmess://$(base64 -w 0 /etc/v2ray/$user-none.json)"
  64. systemctl restart v2ray
  65. systemctl restart v2ray@none
  66. service cron restart
  67. clear
  68. echo -e ""
  69. echo -e "==========-V2RAY/VMESS-=========="
  70. echo -e "Remarks : ${user}"
  71. echo -e "Domain : ${domain}"
  72. echo -e "port TLS : ${tls}"
  73. echo -e "port none TLS : ${none}"
  74. echo -e "id : ${uuid}"
  75. echo -e "alterId : 2"
  76. echo -e "Security : auto"
  77. echo -e "network : ws"
  78. echo -e "path : /v2ray"
  79. echo -e "================================="
  80. echo -e "link TLS : ${vmesslink1}"
  81. echo -e "================================="
  82. echo -e "link none TLS : ${vmesslink2}"
  83. echo -e "================================="
  84. echo -e "Expired On : $exp"