#!/bin/bash
# https://t.me/gemilangkinasih

BICyan='\033[1;96m'       # Cyan
BIWhite='\033[1;97m'      # White
UWhite='\033[4;37m'       # White
BIYellow='\033[1;93m'     # Yellow
BGWHITE='\E[40;1;37m'     # Bgwhite

RED="\033[31m"
NC='\e[0m'
GREEN='\033[0;32m'
ORANGE='\033[0;33m'
YELL='\033[0;33m'

CHATID=$(cat /root/telebotvpn/idteleowner 2>/dev/null)
KEY=$(cat /root/telebotvpn/tokentelebotserver 2>/dev/null)
TIME="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
ISP=$(cat /etc/xray/isp 2>/dev/null || echo "Unknown ISP")
CITY=$(cat /etc/xray/city 2>/dev/null || echo "Unknown City")
IP=$(cat /etc/xray/ipvps 2>/dev/null || wget -qO- ipv4.icanhazip.com)
MYIP=$(cat /etc/xray/ipvps 2>/dev/null || wget -qO- ipv4.icanhazip.com)
domain=$(cat /etc/xray/domain 2>/dev/null || hostname -f)

user=Trial-VL`</dev/urandom tr -dc 0-9 | head -c3`
pup=30
uuid=$(cat /proc/sys/kernel/random/uuid)
masaaktif=1
Quota=1000
iplimit=1000

exp=$(date -d "$masaaktif days" +"%Y-%m-%d")
tgl=$(date -d "$masaaktif days" +"%d")
bln=$(date -d "$masaaktif days" +"%b")
thn=$(date -d "$masaaktif days" +"%Y")
expe="$tgl $bln, $thn"
tgl2=$(date +"%d")
bln2=$(date +"%b")
thn2=$(date +"%Y")
tnggl="$tgl2 $bln2, $thn2"

mkdir -p /etc/xray/vless /var/www/html

if [ ! -f "/etc/xray/vless/config.json" ]; then
    echo '{"inbounds": []}' > /etc/xray/vless/config.json
fi

sed -i '/#vless$/a\### '"$user $exp"'\
},{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/vless/config.json
sed -i '/#vlessgrpc$/a\### '"$user $exp"'\
},{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/vless/config.json

cat >/etc/xray/vless/$user-tls.json <<EOF
{
    "v": "2",
    "ps": "$user WS (CDN) TLS",
    "add": "${domain}",
    "port": "443",
    "id": "${uuid}",
    "aid": "0",
    "net": "ws",
    "path": "/whatever/vless",
    "type": "none",
    "host": "${domain}",
    "tls": "tls"
}
EOF

cat >/etc/xray/vless/$user-non.json <<EOF
{
    "v": "2",
    "ps": "$user WS (CDN) NTLS",
    "add": "${domain}",
    "port": "80",
    "id": "${uuid}",
    "aid": "0",
    "net": "ws",
    "path": "/whatever/vless",
    "type": "none",
    "host": "${domain}",
    "tls": "none"
}
EOF

cat >/etc/xray/vless/$user-grpc.json <<EOF
{
    "v": "2",
    "ps": "$user (SNI) GRPC",
    "add": "${domain}",
    "port": "443",
    "id": "${uuid}",
    "aid": "0",
    "net": "grpc",
    "path": "vless-grpc",
    "type": "none",
    "host": "${domain}",
    "tls": "tls"
}
EOF

vlesslink1="vless://${uuid}@${domain}:443?path=/whatever/vless&security=tls&encryption=none&host=${domain}&type=ws&sni=${domain}#${user}"
vlesslink2="vless://${uuid}@${domain}:80?path=/whatever/vless&encryption=none&type=ws&host=${domain}#${user}"
vlesslink3="vless://${uuid}@${domain}:443?mode=gun&security=tls&encryption=none&authority=${domain}&type=grpc&serviceName=vless-grpc&sni=${domain}#${user}"

touch /etc/xray/vless/.vless.db
sed -i "/\b${user}\b/d" /etc/xray/vless/.vless.db 2>/dev/null
echo "#&# ${user} ${exp} ${uuid}" >> /etc/xray/vless/.vless.db

cat >/var/www/html/vless-$user.txt <<-END
----------------------
Status Trial VLESS Success
----------------------
ISP   : $ISP
City  : $CITY
----------------------
Host  : $domain
User  : $user
UUID  : $uuid
Max   : $iplimit IP
Quota : $Quota GB
Port  : 443, 80
Path  : /whatever/vless
----------------------
Tls   : $vlesslink1
----------------------
nTls  : $vlesslink2
----------------------
Grpc  : $vlesslink3
----------------------
Exp   : $pup Menit
----------------------
END

clear

TEXT="
──────────────────────
Status Trial VLESS Success
──────────────────────
<code>✧ ISP   :</code> <code>$ISP</code>
<code>✧ City  :</code> <code>$CITY</code>
──────────────────────
<code>✧ Host  :</code> <code>$domain</code>
<code>✧ IP    :</code> <code>$MYIP</code>
<code>✧ User  :</code> <code>$user</code>
<code>✧ UUID  :</code> <code>$uuid</code>
<code>✧ Max   :</code> <code>Unlimited</code>
<code>✧ Quota :</code> <code>Unlimited</code>
<code>✧ Port  :</code> <code>443, 80</code>
<code>✧ Path  :</code> <code>/whatever/vless</code>
──────────────────────
<code>TLS, nTLS, GRPC Check Link ↴</code>
──────────────────────
<code>✧ Doc   :</code> https://${domain}:81/vless-$user.txt
──────────────────────
<code>✧ Exp   :</code> <code>$pup Menit</code>
──────────────────────  "

curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL >/dev/null

echo "sed -i '/^### $user/,/^},{/d;/#&# $user/,/^},{/d' /etc/xray/vless/config.json; sed -i '/\b$user\b/d' /etc/xray/vless/.vless.db; rm -f /etc/xray/vless/$user* /var/www/html/vless-$user.txt; systemctl restart vless@config >/dev/null 2>&1" | at now + $pup minutes &> /dev/null

systemctl restart vless@config > /dev/null 2>&1

echo "$ISP"
echo "$CITY"
echo "$domain"
echo "$user"
echo "$uuid"
echo "$vlesslink1"
echo "$vlesslink2"
echo "$vlesslink3"