#!/bin/bash
clear

yellow="\033[0;33m"
ungu="\033[0;35m"
Red="\033[91;1m"
Xark="\033[0m"
BlueCyan="\033[5;36m"
WhiteBe="\033[5;37m"
GreenBe="\033[5;32m"
YellowBe="\033[5;33m"
BlueBe="\033[5;34m"
nama=$(cat /etc/xray/username)

# . Liner 
function baris_panjang() {
  echo -e "${BlueCyan} ——————————————————————————————————— ${Xark} "
}

function xdxl_Banner() {
clear
baris_panjang
echo -e "${ungu}           $nama      ${Xark} "
baris_panjang
}

function Sc_Credit(){
sleep 1
baris_panjang
echo -e "${ungu}  Terimakasih Telah Menggunakan ${Xark}"
echo -e "${ungu}          Script Credit ${Xark}"
echo -e "${ungu}          $nama ${Xark}"
baris_panjang
echo ""
read -rp "press any key for back"
m-tro
}

duration=3
frames=("██10%" "█████35%" "█████████65%" "█████████████80%" "█████████████████████90%" "█████████████████████████100%")

# Menghitung jumlah frame
num_frames=${#frames[@]}

# Menghitung jumlah iterasi
num_iterations=$((duration))

# Fungsi untuk menampilkan animasi loading berwarna

Loading_Animasi() {
    for ((i = 0; i < num_iterations; i++)); do
        clear
        index=$((i % num_frames))
        color_code=$((31 + i % 7))
echo ""
echo ""
echo ""
echo -e "\e[1;${color_code}m ${frames[$index]}\e[0m"
sleep 0.5
    done
}

# Menjalankan animasi loading

# Menampilkan pesan setelah animasi selesai
function Loading_Succes() {
clear
echo -e  "\033[5;32mSucces\033[0m"
sleep 2
clear
}


function Daftar_Member_Trojan {
    baris_panjang
    echo ""
  	grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq | lolcat
    echo ""
baris_panjang
echo ""

}

function Cek_Config_Trojan {
read -rp "Input Username : " user
    if [ -z $user ]; then
echo -e "User Tidak Ditemukan!!!"
read -n 1 -s -r -p "Enter Back To Menu"
m-trojan
else
CITY=$(cat /etc/xray/city)
ISP=$(cat /etc/xray/isp)
domain=$(cat /etc/xray/domain)
iplimit=$(cat /etc/kyt/limit/trojan/ip/$user)
Quota1=$(cat /etc/trojan/$user)
Quota=$((Quota1 / 1024 / 1024 / 1024))
uuid=$(grep -E "^},{" "/etc/xray/config.json" |  grep -i '"'"${user}"'"' | cut -d " " -f 2 | cut -d '"' -f 2 | uniq )
exp=$(grep -E "^#! " "/etc/xray/config.json" | grep -i ' '"${user}"' ' | cut -d ' ' -f 3 | uniq )
trojanlink1="trojan://${uuid}@${domain}:443?mode=gun&security=tls&type=grpc&serviceName=trojan-grpc&sni=bug.com#${user}"
trojanlink="trojan://${uuid}@bugkamu.com:443?path=%2Ftrojan-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user}"
trojanlink2="trojan://${uuid}@${domain}:80?path=%2Ftrojan-ws&security=none&host=${domain}&type=ws#${user}"

fi
}

function Details_Account() {
baris_panjang
echo -e "\033[37m TROJAN XRAY \033[0m"
baris_panjang
echo -e "\033[37m Remarks      : ${user} \033[0m" 
echo -e "\033[37m Host/IP      : ${domain} \033[0m"
echo -e "\033[37m User Quota   : ${Quota} GB \033[0m"
echo -e "\033[37m User Ip      : ${iplimit} IP \033[0m"
echo -e "\033[37m Port NTLS    : 443-900 \033[0m" 
echo -e "\033[37m port WS      : 80,8880,8080 \033[0m"
echo -e "\033[37m Key          : ${uuid} \033[0m"
echo -e "\033[37m ISP          : $ISP \033[0m"
echo -e "\033[37m Path         : /trojan-ws \033[0m" 
echo -e "\033[37m ServiceName  : trojan-grpc \033[0m"
baris_panjang
}

function Link_Json() {
echo -e "\033[37m Link WS     : ${trojanlink} \033[0m" 
baris_panjang
echo -e "\033[37m Link TLS    : ${trojanlink2} \033[0m" 
baris_panjang 
echo -e "\033[37m Link GRPC   : ${trojanlink1} \033[0m" 
baris_panjang
echo -e "\033[37m OpenClash   : https://${domain}:81/trojan-$user.txt \033[0m" 
}

function Details_Expiry() {
baris_panjang
echo -e "\033[33m Expiry     : $exp \033[0m "
}
xdxl_Banner
echo "     "
Daftar_Member_Trojan
echo "     "
Cek_Config_Trojan
clear
Loading_Animasi
Loading_Succes
Details_Account
Link_Json
Details_Expiry
Sc_Credit