#!/bin/bash
# AUTOSCRIPT INTERFLAZZ ID

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"
IP=$(cat /etc/xray/ipvps 2>/dev/null || wget -qO- ipv4.icanhazip.com)
ISP=$(cat /etc/xray/isp 2>/dev/null || echo "Unknown ISP")
CITY=$(cat /etc/xray/city 2>/dev/null || echo "Unknown City")
domain=$(cat /etc/xray/domain 2>/dev/null || hostname -f)

read -p "Username : " Login
read -p "Password : " Pass
read -p "Limit Ip : " iplimit
read -p "Expireed : " masaaktif

if grep -qiw "$Login" /etc/passwd; then
    echo -e "Username sudah terpakai."
    exit 0
fi

# Directory check
mkdir -p /etc/ssh /etc/kyt/limit/ssh/ip /var/www/html

# limitip
if [[ $iplimit -gt 0 ]]; then
    echo -e "$iplimit" > /etc/ssh/$Login
    echo -e "$iplimit" > /etc/kyt/limit/ssh/ip/$Login
else
    echo "0" > /etc/ssh/$Login
fi

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

useradd -e `date -d "$masaaktif days" +"%Y-%m-%d"` -s /bin/false -M $Login
exp="$(chage -l $Login | grep "Account expires" | awk -F": " '{print $2}')"
echo -e "$Pass\n$Pass\n"| passwd $Login &> /dev/null
hariini=`date -d "0 days" +"%Y-%m-%d"`
expi=`date -d "$masaaktif days" +"%Y-%m-%d"`

touch /etc/ssh/.ssh.db
DATADB=$(cat /etc/ssh/.ssh.db 2>/dev/null | grep "^###" | grep -w "${Login}" | awk '{print $2}')
if [[ "${DATADB}" != '' ]]; then
  sed -i "/\b${Login}\b/d" /etc/ssh/.ssh.db
fi
echo "### ${Login} ${expi} ${Pass}" >> /etc/ssh/.ssh.db

systemctl restart ssh >/dev/null 2>&1
systemctl restart sshd >/dev/null 2>&1

cat > /var/www/html/ssh-$Login.txt <<-END
----------------------
Status Create SSHWS Success
----------------------
ISP   : $ISP
City  : $CITY
----------------------
Host  : $domain
User  : $Login
pw    : $Pass
Max   : $iplimit IP
Port  : 443, 80, 1-65535
----------------------
SSL   : $domain:443@$Login:$Pass
----------------------
WS    : $domain:80@$Login:$Pass
----------------------
UDP   : $domain:1-65535@$Login:$Pass
----------------------
Exp   : $exp_formatted
----------------------
END

clear

TEXT="
──────────────────────
Status Create SSHWS Success
──────────────────────
<code>✧ ISP   :</code> <code>$ISP</code>
<code>✧ City  :</code> <code>$CITY</code>
──────────────────────
<code>✧ Host  :</code> <code>$domain</code>
<code>✧ IP    :</code> <code>$IP</code>
<code>✧ User  :</code> <code>$Login</code>
<code>✧ pw    :</code> <code>$Pass</code>
<code>✧ Max   :</code> <code>$iplimit IP</code>
<code>✧ Port  :</code> <code>443, 80, 1-65535</code>
──────────────────────
<code>✧ SSL   :</code> <code>$domain:443@$Login:$Pass</code>
──────────────────────
<code>✧ WS    :</code> <code>$domain:80@$Login:$Pass</code>
──────────────────────
<code>✧ UDP   :</code> <code>$domain:1-65535@$Login:$Pass</code>
──────────────────────
<code>✧ Doc   :</code> https://${domain}:81/ssh-$Login.txt
──────────────────────
<code>✧ Exp   :</code> <code>$exp_formatted</code>
────────────────────── "

curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL >/dev/null
atq | awk '{print $1}' | while read job; do at -c "$job" | grep -q "autobackupbot" && atrm "$job"; done &> /dev/null
echo "autobackupbot" | at now + 30 minutes &> /dev/null

echo "$ISP"
echo "$CITY"
echo "$domain"
echo "$Login"
echo "$Pass"
echo "$exp_formatted"
