diff --git a/Install/list b/Install/list index 0322d9a..ba1aeef 100644 --- a/Install/list +++ b/Install/list @@ -1,6 +1,6 @@ #!/bin/bash -_lvk=$(wget -qO- https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Sistema/versao) +_lvk=$(wget -qO- https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Sistema/versao) IP=$(wget -qO- ipv4.icanhazip.com) IP2=$(wget -qO- http://whatismyip.akamai.com/) [[ "$IP" != "$IP2" ]] && ipdovps="$IP2" || ipdovps="$IP" @@ -15,7 +15,6 @@ dpkg-reconfigure --frontend noninteractive tzdata >/dev/null 2>&1 [[ ! -d /etc/VPSManager ]] && mkdir /etc/VPSManager [[ ! -d /etc/VPSManager/senha ]] && mkdir /etc/VPSManager/senha [[ ! -e /etc/VPSManager/Exp ]] && touch /etc/VPSManager/Exp -[[ ! -d /etc/VPSManager/userteste ]] && mkdir /etc/VPSManager/userteste [[ ! -d /etc/VPSManager/.tmp ]] && mkdir /etc/VPSManager/.tmp [[ ! -d /etc/bot ]] && mkdir /etc/bot [[ ! -d /etc/bot/info-users ]] && mkdir /etc/bot/info-users @@ -29,20 +28,23 @@ netstat -nplt | grep -w 'apache2' | grep -w '80' && sed -i "s/Listen 80/Listen 8 [[ "$(grep -o '#Port 22' /etc/ssh/sshd_config)" == "#Port 22" ]] && sed -i "s;#Port 22;Port 22;" /etc/ssh/sshd_config && service ssh restart grep -v "^PasswordAuthentication" /etc/ssh/sshd_config >/tmp/passlogin && mv /tmp/passlogin /etc/ssh/sshd_config echo "PasswordAuthentication yes" >>/etc/ssh/sshd_config +mline='session required pam_exec.so stdout /bin/firstuse' +mfile='/etc/pam.d/sshd' +grep -qxF "$mline" "$mfile" || echo "$mline" | tee -a "$mfile" >/dev/null _dir1='/bin' _dir2='/etc/VPSManager' _dir3='/root' rm $_dir2/ShellBot.sh $_dir2/cabecalho $_dir2/open.py $_dir2/proxy.py $_dir2/wsproxy.py >/dev/null 2>&1 -_mdls=("addhost" "delhost" "alterarsenha" "criarusuario" "expcleaner" "mudardata" "remover" "criarteste" "verifbot" "droplimiter" "alterarlimite" "ajuda" "sshmonitor" "badvpn" "userbackup" "instsqd" "blockt" "otimizar" "menu" "speedtest" "banner" "senharoot" "reiniciarservicos" "reiniciarsistema" "attscript" "conexao" "delscript" "detalhes" "botssh" "botteste" "botgen" "infousers" "verifatt" "limiter" "uexpired" "cabecalho" "bot" "botsshteste" "botgerador" "open.py" "slow_dns" "proxy.py" "wsproxy.py") +_mdls=("addhost" "delhost" "alterarsenha" "criarusuario" "expcleaner" "mudardata" "remover" "bulkuser" "verifbot" "droplimiter" "alterarlimite" "ajuda" "sshmonitor" "badvpn" "userbackup" "instsqd" "blockt" "otimizar" "menu" "speedtest" "banner" "senharoot" "reiniciarservicos" "reiniciarsistema" "attscript" "conexao" "delscript" "detalhes" "botssh" "botteste" "botgen" "infousers" "verifatt" "limiter" "uexpired" "cabecalho" "bot" "botsshteste" "botgerador" "open.py" "slow_dns" "proxy.py" "wsproxy.py" "firstuse") _mdls2=("onlineapp.sh") for _arq in ${_mdls[@]}; do [[ -e $_dir1/$_arq ]] && rm $_dir1/$_arq >/dev/null 2>&1 - wget -c -P $_dir1 https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Modulos/$_arq + wget -c -P $_dir1 https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Modulos/$_arq chmod +x $_dir1/$_arq done for _arq in ${_mdls2[@]}; do [[ -e $_dir3/$_arq ]] && rm $_dir3/$_arq >/dev/null 2>&1 - wget -c -P $_dir3 https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Modulos/$_arq + wget -c -P $_dir3 https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Modulos/$_arq chmod +x $_dir3/$_arq done cd /var/www/html && mkdir server @@ -67,7 +69,7 @@ clear #AUTOMATIC START' >/etc/autostart chmod +x /etc/autostart } || { - [[ $(ps x | grep "bot_plus" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh + [[ $(ps x | grep "bot_plus" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh for proc in $(ps x | grep 'dmS' | grep -v 'grep' | awk {'print $1'}); do screen -r -S "$proc" -X quit done @@ -78,7 +80,7 @@ clear #AUTOMATIC START' >/etc/autostart chmod +x /etc/autostart } || { - [[ $(ps x | grep "bot_teste" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh + [[ $(ps x | grep "bot_teste" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh for proc in $(ps x | grep 'dmS' | grep -v 'grep' | awk {'print $1'}); do screen -r -S "$proc" -X quit done @@ -89,7 +91,7 @@ clear #AUTOMATIC START' >/etc/autostart chmod +x /etc/autostart } || { - [[ $(ps x | grep "bot_gen" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh + [[ $(ps x | grep "bot_gen" | grep -v grep | wc -l) != '0' ]] && wget -qO- https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Install/ShellBot.sh for proc in $(ps x | grep 'dmS' | grep -v 'grep' | awk {'print $1'}); do screen -r -S "$proc" -X quit done @@ -110,7 +112,7 @@ crontab -r >/dev/null 2>&1 echo "*/1 * * * * cd /root/ && ./onlineapp.sh" ) | crontab - echo "$_lvk" | sed -n '1 p' | cut -d' ' -f2 >/bin/versao && cat /bin/versao >/home/vpsmanager -wget https://github.com/januda-ui/DRAGON-VPS-MANAGER/raw/main/Install/jq-linux64 >/dev/null 2>&1 +wget https://github.com/sons-of-liberty/DRAGON-VPS-MANAGER/raw/main/Install/jq-linux64 >/dev/null 2>&1 chmod +x jq-linux64 && mv jq-linux64 $(which jq) service cron restart >/dev/null 2>&1 service ssh restart >/dev/null 2>&1 diff --git a/Modulos/bot b/Modulos/bot index 0c6319c..5cfe1cd 100644 --- a/Modulos/bot +++ b/Modulos/bot @@ -16,7 +16,7 @@ fun_menu() { [[ "${message_from_id[$id]}" == "$id_admin" ]] && { local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ SELECT AN OPTION BELOW!\n\n" ShellBot.sendMessage --chat_id ${message_chat_id[$id]} --text "$env_msg" \ @@ -26,13 +26,13 @@ fun_menu() { } [[ -d /etc/bot/suspensos/${message_from_username} ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "🚫 YOU ARE SUSPENDED 🚫\n\nCONTACT THE ADMINISTRATOR")" + --text "$(echo -e "⚠️ YOU ARE SUSPENDED ⚠️\n\n 🆘 CONTACT THE ADMINISTRATOR 🆘")" return 0 } if [[ "$(grep -w "${message_from_username}" $ativos | grep -wc 'revenda')" != '0' ]]; then local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ SELECT AN OPTION BELOW!\n\n" ShellBot.sendMessage --chat_id ${message_chat_id[$id]} --text "$env_msg" \ @@ -42,7 +42,7 @@ fun_menu() { elif [[ "$(grep -w "${message_from_username}" $ativos | grep -wc 'subrevenda')" != '0' ]]; then local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ SELECT AN OPTION BELOW!\n\n" ShellBot.sendMessage --chat_id ${message_chat_id[$id]} --text "$env_msg" \ @@ -51,7 +51,7 @@ fun_menu() { return 0 else ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 fi } @@ -67,7 +67,7 @@ fun_ajuda() { if [[ "$id_chatuser" = "$id_admin" ]]; then local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ Available Commands\n\n" env_msg+="[01] /menu = Display menu\n" @@ -96,18 +96,18 @@ fun_ajuda() { --text "$(echo -e $env_msg)" \ --parse_mode html ShellBot.sendMessage --chat_id $id_chatuser \ - --text "$(echo -e ✅ All Tutorials , Updates : @DRAGON_VPS_MANAGER)" + --text "$(echo -e All Tutorials , Updates : @OPIranCluB)" return 0 elif [[ -d /etc/bot/suspensos/$id_name ]]; then ShellBot.sendMessage --chat_id $id_chatuser \ - --text "$(echo -e "🚫 YOU ARE SUSPENDED 🚫\n\nCONTACT THE ADMINISTRATOR")" + --text "$(echo -e "⚠️ YOU ARE SUSPENDED ⚠️\n\n🆘 CONTACT THE ADMINISTRATOR 🆘")" ShellBot.sendSticker --chat_id $id_chatuser \ - --sticker "CAACAgEAAxkBAAEDbIdhrlBIJ-fUNJHXn-g352lK26WtBQACYgEAAgkeUEUw-f8AAZo7VDciBA" + --sticker "CAACAgIAAxkBAAJTlmS9ESqD0ynAWQT2BLdAvOgVe-SnAAJUAANBtVYMarf4xwiNAfovBA" return 0 elif [[ "$(grep -w "$id_name" $ativos | awk '{print $NF}')" == 'revenda' ]]; then local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ Available Commands\n\n" env_msg+="[01] /menu = Display menu\n" @@ -130,12 +130,12 @@ fun_ajuda() { --text "$(echo -e $env_msg)" \ --parse_mode html ShellBot.sendMessage --chat_id $id_chatuser \ - --text "$(echo -e ✅ All Tutorials , Updates : @DRAGON_VPS_MANAGER)" + --text "$(echo -e All Tutorials , Updates : @OPIranCluB)" return 0 elif [[ "$(grep -w "$id_name" $ativos | awk '{print $NF}')" == 'subrevenda' ]]; then local env_msg env_msg="◈──────────────────◈\n" - env_msg+="🐉 DRAGON VPS MANAGER BOT 🐉\n" + env_msg+=" OPIranCluB BOT \n" env_msg+="◈──────────────────◈\n\n" env_msg+="⚠️ Available Commands\n\n" env_msg+="[01] /menu = display menu\n" @@ -156,13 +156,13 @@ fun_ajuda() { --text "$(echo -e $env_msg)" \ --parse_mode html ShellBot.sendMessage --chat_id $id_chatuser \ - --text "✅ All Tutorials , Updates : @DRAGON_VPS_MANAGER" + --text "$(echo -e All Tutorials , Updates : @OPIranCluB)" return 0 else ShellBot.sendMessage --chat_id $id_chatuser \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" ShellBot.sendSticker --chat_id $id_chatuser \ - --sticker "CAACAgEAAxkBAAEDbIdhrlBIJ-fUNJHXn-g352lK26WtBQACYgEAAgkeUEUw-f8AAZo7VDciBA" + --sticker "CAACAgIAAxkBAAJTlmS9ESqD0ynAWQT2BLdAvOgVe-SnAAJUAANBtVYMarf4xwiNAfovBA" return 0 fi } @@ -179,7 +179,7 @@ verifica_acesso() { fun_adduser() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -188,13 +188,12 @@ fun_adduser() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } criar_user() { - IP=$(cat /etc/IP) newclient() { cp /etc/openvpn/client-common.txt ~/$1.ovpn echo "" >>~/$1.ovpn @@ -211,6 +210,9 @@ criar_user() { echo "" >>~/$1.ovpn } file_user=$1 + openssh_port=$(grep -oP '^Port \K\d+' /etc/ssh/sshd_config | head -1) + dropbear_port=$(netstat -nplt | grep 'dropbear' | awk -F ":" '{print $4}' | xargs) + badvpn_port=$(netstat -nplt | grep 'badvpn-ud' | awk {'print $4'} | cut -d: -f2 | xargs) usuario=$(sed -n '1 p' $file_user | cut -d' ' -f2) senha=$(sed -n '2 p' $file_user | cut -d' ' -f2) limite=$(sed -n '3 p' $file_user | cut -d' ' -f2) @@ -238,7 +240,7 @@ criar_user() { fun_deluser() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -247,7 +249,7 @@ fun_deluser() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -264,7 +266,7 @@ fun_del_user() { } || { [[ ! -e /etc/bot/revenda/${message_from_username}/usuarios/$usuario ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ THE USER DOES NOT EXIST ❌")" \ + --text "$(echo -e "⚠️ THE USER DOES NOT EXIST ⚠️")" \ --parse_mode html _erro='1' return 0 @@ -297,7 +299,7 @@ fun_del_user() { alterar_senha() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -306,7 +308,7 @@ alterar_senha() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -327,7 +329,7 @@ alterar_senha_user() { alterar_limite() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -336,7 +338,7 @@ alterar_limite() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -354,7 +356,7 @@ alterar_limite_user() { [[ -d /etc/bot/revenda/${message_from_username} ]] && { [[ ! -e /etc/bot/revenda/${message_from_username}/usuarios/$usuario ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ THE USER DOES NOT EXIST ❌")" \ + --text "$(echo -e "⚠️ THE USER DOES NOT EXIST ⚠️")" \ --parse_mode html _erro='1' return 0 @@ -362,7 +364,7 @@ alterar_limite_user() { _limTotal=$(grep -w 'LIMITE_REVENDA' /etc/bot/revenda/${message_from_username}/${message_from_username} | awk '{print $NF}') [[ "$limite" -gt "$_limTotal" ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ YOU HAVE NO ENOUGH LIMIT ❌\n\nCurrent Limit: $_limTotal ")" \ + --text "$(echo -e "⚠️ YOU HAVE NO ENOUGH LIMIT ⚠️\n\nCurrent Limit: $_limTotal ")" \ --parse_mode html _erro='1' return 0 @@ -374,7 +376,7 @@ alterar_limite_user() { [[ "$_limsomarev2" -gt "$_limTotal" ]] && { [[ "$_limTotal" == "$(($_limTotal - $_result))" ]] && _restant1='0' || _restant1=$(($_limTotal - $_result)) ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ You don't have enough limit\n\nRemaining limit: $_restant1 ")" \ + --text "$(echo -e "⚠️ You don't have enough limit\n\nRemaining limit: $_restant1 ")" \ --parse_mode html _erro='1' return 0 @@ -391,7 +393,7 @@ alterar_limite_user() { alterar_data() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -400,7 +402,7 @@ alterar_data() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -420,7 +422,7 @@ alterar_data_user() { [ $today -ge $timemachine ] && { verify='1' ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error! Invalid date")" \ + --text "$(echo -e "⚠️ Error! Invalid date")" \ --parse_mode html _erro='1' return 0 @@ -481,7 +483,7 @@ ver_users() { elif [[ "$(grep -wc "${callback_query_from_username}" $ativos)" != '0' ]]; then [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️YOU ARE SUSPENDED! 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ $(ls /etc/bot/revenda/${callback_query_from_username}/usuarios | wc -l) == '0' ]] && { @@ -532,7 +534,7 @@ ver_users() { done else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 fi } @@ -618,7 +620,7 @@ monitor_ssh() { elif [[ "$(grep -wc "${callback_query_from_username}" $ativos)" != '0' ]]; then [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ $(ls /etc/bot/revenda/${callback_query_from_username}/usuarios | wc -l) == '0' ]] && { @@ -673,7 +675,7 @@ monitor_ssh() { } else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 fi } @@ -689,7 +691,7 @@ fun_verif_user() { [[ "${message_from_id[$id]}" == "$id_admin" ]] && { [[ "$(awk -F : '$3 >= 1000 { print $1 }' /etc/passwd | grep -wc $user)" == '0' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e ❌ THE USER $user DOES NOT EXIST !)" \ + --text "$(echo -e ⚠️ THE USER $user DOES NOT EXIST !)" \ --parse_mode html _erro='1' return 0 @@ -698,7 +700,7 @@ fun_verif_user() { [[ -d /etc/bot/revenda/${message_from_username} ]] && { [[ ! -e /etc/bot/revenda/${message_from_username}/usuarios/$user ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e ❌ THE USER $user DOES NOT EXIST !)" \ + --text "$(echo -e ⚠️ THE USER $user DOES NOT EXIST !)" \ --parse_mode html _erro='1' return 0 @@ -709,7 +711,7 @@ fun_verif_user() { fun_down() { [[ "${callback_query_from_id[$id]}" != "$id_admin" ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } [[ ! -d /tmp/file ]] && mkdir /tmp/file @@ -721,7 +723,7 @@ fun_down() { infovps() { [[ "${callback_query_from_id[$id]}" != "$id_admin" ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 } PTs='/tmp/prts' @@ -769,14 +771,14 @@ fun_download() { Opc=$1 [[ -z "$Opc" ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ error try again")" + --text "$(echo -e "⚠️ error try again")" _erro='1' return 0 } _file2=$2 [[ -z "$_file2" ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ error try again")" + --text "$(echo -e "⚠️ error try again")" _erro='1' return 0 } @@ -794,7 +796,7 @@ fun_download() { echo $_file2 ShellBot.sendDocument --chat_id ${message_from_id[$id]} \ --document "@/etc/bot/arquivos/$_file" \ - --caption "$(echo -e "=====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n=====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧ SSH ACCOUNT ⪦─────◈\n\n◈ Username :⪧ $(awk -F " " '/Nome/ {print $2}' $_file2)\n◈ Password :⪧ $(awk -F " " '/Senha/ {print $2}' $_file2)\n◈ Login Limit :⪧ $(awk -F " " '/Limite/ {print $2}' $_file2)\n◈ Expire Date :⪧ $(awk -F " " '/Validade/ {print $2}' $_file2)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈")" \ + --caption "$(echo -e "=====================================\n OPIranCluB \n=====================================\n\n Username => $(awk -F " " '/Nome/ {print $2}' $_file2)\n Password => $(awk -F " " '/Senha/ {print $2}' $_file2)\n Login Limit => $(awk -F " " '/Limite/ {print $2}' $_file2)\n Expire Date => $(awk -F " " '/Validade/ {print $2}' $_file2)\n\n──────⪧ PORTS ⪦───────\n\n SSH => $ssh_port\n DropBear => $dropbear_port\n BadVPN => $udpge_port\n")" \ --parse_mode html [[ -e "/root/$(awk -F " " '/Nome/ {print $2}' $_file2).ovpn" ]] && { ShellBot.sendDocument --chat_id ${message_from_id[$id]} \ @@ -805,7 +807,7 @@ fun_download() { otimizer() { [[ "${callback_query_from_id[$id]}" != "$id_admin" ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 } MEM1=$(free | awk '/Mem:/ {print int(100*$3/$2)}') @@ -841,7 +843,7 @@ otimizer() { speed_test() { [[ "${callback_query_from_id[$id]}" != "$id_admin" ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 } rm -rf $HOME/speed >/dev/null 2>&1 @@ -872,7 +874,7 @@ speed_test() { backup_users() { [[ "${callback_query_from_id[$id]}" != "$id_admin" ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 } rm /root/backup.vps 1>/dev/null 2>/dev/null @@ -888,10 +890,10 @@ backup_users() { sobremim() { local msg msg="◈──────────────────◈\n" - msg+="🐉 DRAGON VPS MANAGER 🐉\n" + msg+=" OPIranCluB \n" msg+="◈──────────────────◈\n\n" - msg+="Developed by: @Dragon_vps_manager\n" - msg+="Official channel: @Dragon_vps_manager\n\n" + msg+="Developed by: @OPIranCluB\n" + msg+="Official channel: @OPIranCluB\n\n" msg+="I was created with the purpose of providing information and tools for VPN management on 🐧 GNU/Linux 🐧 servers.\n\n" msg+="Menu: /menu\n" ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ @@ -903,7 +905,7 @@ sobremim() { fun_add_teste() { if [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]]; then ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 elif [[ "${callback_query_from_id[$id]}" == "$id_admin" ]]; then ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ @@ -915,7 +917,7 @@ fun_add_teste() { _limsomarev2=$(echo "$_result + 1" | bc) [[ "$_limsomarev2" -gt "$_limTotal" ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "❌ You have NO LIMIT AVAILABLE!" + --text "⚠️ You have NO LIMIT AVAILABLE!" return 0 } || { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ @@ -924,13 +926,15 @@ fun_add_teste() { } else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 fi } fun_teste() { - usuario=$(echo TESTE$((RANDOM % +500))) + IP6=$(curl -6 ifconfig.co 2>/dev/null) + IP=$(cat /etc/IP) + usuario=$(echo TEST$((RANDOM % +500))) senha='1234' limite='1' t_time=$1 @@ -938,7 +942,7 @@ fun_teste() { tuserdate=$(date '+%C%y/%m/%d' -d " +2 days") [[ -z $t_time ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ error try again")" \ + --text "$(echo -e "⚠️ error try again")" \ --parse_mode html return 0 _erro='1' @@ -964,21 +968,24 @@ fun_teste() { rm /etc/VPSManager/senha/$usuario > /dev/null 2>&1 rm /etc/VPSManager/userteste/$usuario.sh EOF + ssh_port=$(grep -oP '^Port \K\d+' /etc/ssh/sshd_config | head -1) + dropbear_port=$(netstat -nplt | grep 'dropbear' | awk -F ":" '{print $4}' | xargs) + udpge_port=$(netstat -nplt | grep 'badvpn-ud' | awk {'print $4'} | cut -d: -f2 | xargs) chmod +x /etc/VPSManager/userteste/$usuario.sh echo "/etc/VPSManager/userteste/$usuario.sh" | at now + $t_time hour >/dev/null 2>&1 - [[ "$t_time" == '1' ]] && hrs="hora" || hrs="horas" + [[ "$t_time" == '1' ]] && hrs="Hour" || hrs="hours" [[ "$(ls /etc/bot/arquivos | wc -l)" != '0' ]] && { for arqv in $(ls /etc/bot/arquivos); do ShellBot.sendDocument --chat_id ${message_from_id[$id]} \ --document "@/etc/bot/arquivos/$arqv" \ - --caption "$(echo -e "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧TEST SSH ACCOUNT ⪦─────◈\n\n◈ Username :⪧ $usuario\n◈ Password :⪧ 1234\n◈ Expire at :⪧ $t_time $hrs / Hours \n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈")" \ + --caption "$(echo -e "=====================================\n OPIranCluB \n=====================================\n\n Username => $(awk -F " " '/Nome/ {print $2}' $_file2)\n Password => $(awk -F " " '/Senha/ {print $2}' $_file2)\n Login Limit => $(awk -F " " '/Limite/ {print $2}' $_file2)\n Expire Date => $(awk -F " " '/Validade/ {print $2}' $_file2)\n\n──────⪧ PORTS ⪦───────\n\n SSH => $ssh_port\n DropBear => $dropbear_port\n BadVPN => $udpge_port\n")" \ --parse_mode html done return 0 } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈────⪧TEST SSH ACCOUNT ⪦────◈\n\n◈ Host / IP :⪧ $(cat /etc/IP)\n◈ Username :⪧ $usuario\n◈ Password :⪧ 1234\n◈ Expire at :⪧ $t_time $hrs / Hours \n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈")" \ - --parse_mode html + --text "$(echo -e "====================================\n HOUR SSH ACCOUNT \n====================================\n\n Host => $(cat /etc/IP)\n\n Username => $usuario\n Password => 1234\n Expire => $t_time Hours \n\n──────⪧ PORTS ⪦───────\n\n SSH => $ssh_port\n DropBear => $dropbear_port\n BadVPN => $udpge_port\n◈──────────────────◈")" \ + --parse_mode html return 0 } } @@ -1016,7 +1023,7 @@ fun_exp_user() { elif [[ "$(grep -wc "${callback_query_from_username}" $ativos)" != '0' ]]; then [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ $(ls /etc/bot/revenda/${callback_query_from_username}/usuarios | wc -l) == '0' ]] && { @@ -1045,7 +1052,7 @@ fun_exp_user() { return 0 else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "$(echo -e 🚫 ACCESS DENIED 🚫)" + --text "$(echo -e ⚠️ ACCESS DENIED ⚠️)" return 0 fi } @@ -1119,7 +1126,7 @@ relatorio_rev() { elif [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]]; then [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ $(grep -wc 'SUBREVENDA' /etc/bot/revenda/${callback_query_from_username}/${callback_query_from_username}) == '0' ]] && { @@ -1198,7 +1205,7 @@ relatorio_rev() { else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 fi } @@ -1261,15 +1268,17 @@ restaure_backup() { } msg_bem_vindo() { local msg - msg="👋 Hello ${message_from_first_name[$id]} ! \n\n🤝 Welcome to\n" - msg+="====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n" + msg=" Hello ${message_from_first_name[$id]} ! \n\n Welcome Boss \n" + msg+="====================================\n ADMIN BOT \n====================================\n\n" msg+="To access the menu\nclick [ /menu ]\n\n" - msg+="For information\nclick [ /help ]\n\n ✅ All Tutorials , Updates : @DRAGON_VPS_MANAGER" + msg+="For information\nclick [ /help ]\n\n Gap Group / Tutorials : @OPIranCluB" + msg+="====================================\n More Info: \n====================================\n\n" + msg+="http://youtube.com/@opiran-inistitute\n\n https://t.me/opiranv2rayproxy" ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ --text "$(echo -e $msg)" \ --parse_mode html ShellBot.sendSticker --chat_id ${message_chat_id[$id]} \ - --sticker "CAACAgIAAxkBAAEDZt1hqPwEyUPLlqUVp27340hwwsO8OAACugADMNSdEYTXxIjEUGdWIgQ" + --sticker "CAACAgIAAxkBAAJTlmS9ESqD0ynAWQT2BLdAvOgVe-SnAAJUAANBtVYMarf4xwiNAfovBA" return 0 } @@ -1310,7 +1319,7 @@ fun_verif_limite_rev() { fun_add_revenda() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -1319,7 +1328,7 @@ fun_add_revenda() { --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -1354,16 +1363,16 @@ criar_rev() { fun_del_rev() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "🗑 REMOVE DEALER 🗑\n\nInform his username [Ex: @Dragon_vps_manager]:" \ + --text "🗑 REMOVE DEALER 🗑\n\nInform his username [Ex: @OPIranCluB]:" \ --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -1421,7 +1430,7 @@ del_rev() { return 0 } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e ❌ DEALER DOES NOT EXIST ❌)" + --text "$(echo -e ⚠️ DEALER DOES NOT EXIST ⚠️)" return 0 } } || { @@ -1463,7 +1472,7 @@ del_rev() { return 0 } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e ❌ DEALER DOES NOT EXIST ❌)" + --text "$(echo -e ⚠️ DEALER DOES NOT EXIST ⚠️)" return 0 } } @@ -1472,16 +1481,16 @@ del_rev() { fun_lim_rev() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "♾ CHANGE RESALE LIMIT ♾\n\nInform his username [Ex: @Dragon_vps_manager]:" \ + --text "♾ CHANGE RESALE LIMIT ♾\n\nInform his username [Ex: @OPIranCluB]:" \ --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -1518,16 +1527,16 @@ lim_rev() { fun_dat_rev() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "📆 CHANGE RESALE DATE 📆\n\nInform his username [Ex: @Dragon_vps_manager]:" \ + --text "📆 CHANGE RESALE DATE 📆\n\nInform his username [Ex: @OPIranCluB]:" \ --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -1580,7 +1589,7 @@ dat_rev() { fun_list_rev() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } if [[ "${callback_query_from_id[$id]}" == "$id_admin" ]]; then @@ -1622,7 +1631,7 @@ fun_list_rev() { } else ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 fi } @@ -1630,16 +1639,16 @@ fun_list_rev() { fun_susp_rev() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { ShellBot.sendMessage --chat_id ${callback_query_message_chat_id[$id]} \ - --text "🔒 SUSPEND DEALER 🔒\n\nInform his username [Ex: @Dragon_vps_manager]:" \ + --text "🔒 SUSPEND DEALER 🔒\n\nInform his username [Ex: @OPIranCluB]:" \ --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "🚫 ACCESS DENIED 🚫" + --text "⚠️ ACCESS DENIED ⚠️" return 0 } } @@ -1727,7 +1736,7 @@ infouserbot() { --text "$(echo -e "NAME: ${message_from_first_name[$(ShellBot.ListUpdates)]}\nUSERNAME:" "@${message_from_username[$(ShellBot.ListUpdates)]:-null}")\nID: ${message_from_id[$(ShellBot.ListUpdates)]} " \ --parse_mode html ShellBot.sendSticker --chat_id ${message_chat_id[$id]} \ - --sticker "CAACAgIAAxkBAAEDbJdhrlMi5WT2IvHUwY_3V9t-HQ_tUQACFgADwDZPE2Ah1y2iBLZnIgQ" + --sticker "CAACAgIAAxkBAAJTlmS9ESqD0ynAWQT2BLdAvOgVe-SnAAJUAANBtVYMarf4xwiNAfovBA" return 0 } } @@ -1735,7 +1744,7 @@ infouserbot() { fun_menurevenda() { [[ "$(grep -wc ${callback_query_from_username} $suspensos)" != '0' ]] && { ShellBot.answerCallbackQuery --callback_query_id ${callback_query_id[$id]} \ - --text "⚠️ YOU ARE SUSPENDED! CONTACT THE ADMINISTRATOR" + --text "⚠️ YOU ARE SUSPENDED! ⚠️ 🆘 CONTACT THE ADMINISTRATOR 🆘" return 0 } [[ "${callback_query_from_id[$id]}" == "$id_admin" ]] || [[ "$(grep -wc ${callback_query_from_username} $ativos)" != '0' ]] && { @@ -1760,7 +1769,7 @@ ShellBot.InlineKeyboardButton --button 'menu1' --line 7 --text 'ONLINE USERS' -- ShellBot.InlineKeyboardButton --button 'menu1' --line 8 --text 'INFO USERS' --callback_data '_verusers' ShellBot.InlineKeyboardButton --button 'menu1' --line 9 --text 'EXPIRED' --callback_data '_expirados' ShellBot.InlineKeyboardButton --button 'menu1' --line 1 --text 'INFO VPS' --callback_data '_infovps' -ShellBot.InlineKeyboardButton --button 'menu1' --line 2 --text 'OTIMIZAR' --callback_data '_otimizar' +ShellBot.InlineKeyboardButton --button 'menu1' --line 2 --text 'OPTIMIZAR' --callback_data '_otimizar' ShellBot.InlineKeyboardButton --button 'menu1' --line 3 --text 'FILES' --callback_data '_arqdown' ShellBot.InlineKeyboardButton --button 'menu1' --line 4 --text 'RESALE' --callback_data '_opcoesrev' ShellBot.InlineKeyboardButton --button 'menu1' --line 5 --text 'SPEEDTEST' --callback_data '_speedteste' @@ -1819,32 +1828,6 @@ ShellBot.regHandleFunction --function fun_ajuda --callback_data _ajuda2 unset keyboard2 keyboard2="$(ShellBot.InlineKeyboardMarkup -b 'menu2')" -#LISTA MUNU SUB REVENDEDOR -unset menu3 -menu3='' -ShellBot.InlineKeyboardButton --button 'menu3' --line 1 --text 'CREATE USER' --callback_data '_criaruser3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 1 --text 'CREATE TEST' --callback_data '_criarteste3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 2 --text 'REMOVE USER' --callback_data '_deluser3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 2 --text 'ONLINE USERS' --callback_data '_monitor3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 3 --text 'CHANGE LIMIT' --callback_data '_altlimite3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 3 --text 'USER INFO' --callback_data '_verusers3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 4 --text 'CHANGE PASSWORD' --callback_data '_altsenha3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 4 --text 'EXPIRED' --callback_data '_expirados3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 5 --text 'CHANGE DATE' --callback_data '_altdata3' -ShellBot.InlineKeyboardButton --button 'menu3' --line 5 --text 'HELP' --callback_data '_ajuda3' -ShellBot.regHandleFunction --function fun_adduser --callback_data _criaruser3 -ShellBot.regHandleFunction --function fun_add_teste --callback_data _criarteste3 -ShellBot.regHandleFunction --function fun_deluser --callback_data _deluser3 -ShellBot.regHandleFunction --function alterar_senha --callback_data _altsenha3 -ShellBot.regHandleFunction --function alterar_limite --callback_data _altlimite3 -ShellBot.regHandleFunction --function alterar_data --callback_data _altdata3 -ShellBot.regHandleFunction --function monitor_ssh --callback_data _monitor3 -ShellBot.regHandleFunction --function ver_users --callback_data _verusers3 -ShellBot.regHandleFunction --function fun_exp_user --callback_data _expirados3 -ShellBot.regHandleFunction --function fun_ajuda --callback_data _ajuda3 -unset keyboard3 -keyboard3="$(ShellBot.InlineKeyboardMarkup -b 'menu3')" - #LISTA MENU OPCOES REVENDA unset menu4 menu4='' @@ -1901,14 +1884,14 @@ while :; do [[ "$_erro" == '1' ]] && break [[ "$(awk -F : '$3 >= 1000 { print $1 }' /etc/passwd | grep -w ${message_text[$id]} | wc -l)" != '0' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error! INVALID USER ❌\n\n⚠️ Enter Another Name..")" \ + --text "$(echo -e "⚠️ Error! INVALID USER ⚠️\n\n⚠️ Enter Another Name..")" \ --parse_mode html >$CAD_ARQ break } [ "${message_text[$id]}" == 'root' ] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error! INVALID USER ❌\n\n⚠️ Enter Another Name..")" \ + --text "$(echo -e "⚠️ Error! INVALID USER ⚠️\n\n⚠️ Enter Another Name..")" \ --parse_mode html >$CAD_ARQ break @@ -1916,7 +1899,7 @@ while :; do sizemin=$(echo -e ${#message_text[$id]}) [[ "$sizemin" -lt '4' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error !\n\nUse at least 4 characters\n[EX: test]")" \ + --text "$(echo -e "⚠️ Error !\n\nUse at least 4 characters\n[EX: test]")" \ --parse_mode html >$CAD_ARQ break @@ -1924,7 +1907,7 @@ while :; do sizemax=$(echo -e ${#message_text[$id]}) [[ "$sizemax" -gt '10' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error !\n\nUse a maximum of 8 characters\n[EX: abcdefgh]")" \ + --text "$(echo -e "⚠️ Error !\n\nUse a maximum of 8 characters\n[EX: abcdefgh]")" \ --parse_mode html >$CAD_ARQ break @@ -1940,7 +1923,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ "$sizepass" -lt '4' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error !\n\nUse at least 4 characters\n[EX: 1234]")" \ + --text "$(echo -e "⚠️ Error !\n\nUse at least 4 characters\n[EX: 1234]")" \ --parse_mode html >$CAD_ARQ break @@ -1956,7 +1939,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\nuse only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Error ! \n\nuse only numbers [EX: 1]")" \ --parse_mode html >$CAD_ARQ break @@ -1968,7 +1951,7 @@ while :; do [[ "$_limsomarev2" -gt "$_limTotal" ]] && { _restant1=$(($_limTotal - $_result)) ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ you don't have enough limit\n\nAvailable limit: $_restant1 ")" \ + --text "$(echo -e "⚠️ you don't have enough limit\n\nAvailable limit: $_restant1 ")" \ --parse_mode html >$CAD_ARQ break @@ -1986,7 +1969,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\nuse only numbers [EX: 30]")" \ + --text "$(echo -e "⚠️ Error ! \n\nuse only numbers [EX: 30]")" \ --parse_mode html >$CAD_ARQ break @@ -1996,7 +1979,7 @@ while :; do criar_user $CAD_ARQ [[ "(grep -w ${message_text[$id]} /etc/passwd)" = '0' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e ❌ Error creating user !)" \ + --text "$(echo -e ⚠️ Error creating user !)" \ --parse_mode html >$CAD_ARQ break @@ -2007,7 +1990,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧ SSH ACCOUNT ⪦─────◈\n\n◈ Host / IP :⪧ $(cat /etc/IP)\n◈ Username :⪧ $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password :⪧ $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit :⪧ $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date :⪧ $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n ◈ DropBear => $dropbear_port\n ◈ BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ VPS MANAGER \n◈──────────────────◈" \ --parse_mode html break } @@ -2017,10 +2000,10 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([A-Za-z]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Invalid option ❌\n\n⚠️ use only letters [EX: Yes or No]")" \ + --text "$(echo -e "⚠️ Invalid option ⚠️\n\n⚠️ use only letters [EX: Yes or No]")" \ --parse_mode html ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧ SSH ACCOUNT ⪦─────◈\n\n◈ Host / IP :⪧ $(cat /etc/IP)\n◈ Username :⪧ $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password :⪧ $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit :⪧ $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date :⪧ $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n ◈ DropBear => $dropbear_port\n ◈ BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ VPS MANAGER \n◈──────────────────◈" \ --parse_mode html break } @@ -2040,7 +2023,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧ SSH ACCOUNT ⪦─────◈\n\n◈ Host / IP :⪧ $(cat /etc/IP)\n◈ Username :⪧ $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password :⪧ $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit :⪧ $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date :⪧ $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n ◈ DropBear => $dropbear_port\n ◈ BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ VPS MANAGER \n◈──────────────────◈" \ --parse_mode html } ;; @@ -2049,10 +2032,10 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Invalid option ❌ \n\n⚠️ use only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Invalid option ⚠️ \n\n⚠️ use only numbers [EX: 1]")" \ --parse_mode html ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "====================================\n 🐉 DRAGON VPS MANAGER 🐉 \n====================================\n\n◈─────⪧ IMPORTANT ⪦──────◈\n\n◈⪧ 🚫 NO SPAM\n◈⪧ ⚠️ NO DDOS\n◈⪧ 🎭 NO Hacking\n◈⪧ ⛔️ NO Carding\n◈⪧ 🙅‍♂️ NO Torrent\n◈⪧ ❌ NO MultiLogin\n◈⪧ 🤷‍♂️ NO Illegal Activities\n\n◈─────⪧ SSH ACCOUNT ⪦─────◈\n\n◈ Host / IP :⪧ $(cat /etc/IP)\n◈ Username :⪧ $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password :⪧ $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit :⪧ $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date :⪧ $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH ⌁ 22\n◈ SSL ⌁ 443\n◈ Squid ⌁ 8080\n◈ DropBear ⌁ 80\n◈ BadVPN ⌁ 7300\n\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n DropBear => $dropbear_port\n BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉\n◈──────────────────◈" \ --parse_mode html >$CAD_ARQ break @@ -2068,7 +2051,7 @@ while :; do fun_del_user ${message_text[$id]} [[ "$_erro" == '1' ]] && break ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "✅ *Successfully removed.* 🚮" \ + --text " *Successfully removed.* 🚮" \ --parse_mode markdown ;; '🔐 Change Password 🔐\n\nUsername:') @@ -2088,14 +2071,14 @@ while :; do [[ "$_erro" == '1' ]] && break [[ "$sizepass" -lt '4' ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error !\n\n⚠️ Use at least 4 characters [EX: 1234]")" \ + --text "$(echo -e "⚠️ Error !\n\n⚠️ Use at least 4 characters [EX: 1234]")" \ --parse_mode html break } alterar_senha_user $(cat /tmp/name-s) ${message_text[$id]} [[ "$_erro" == '1' ]] && break ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "◈──────────────────◈\n✅ PASSWORD CHANGED ! !\n◈──────────────────◈\n\nUser: $(cat /tmp/name-s)\nNew Password: ${message_text[$id]}")" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n ◈ DropBear => $dropbear_port\n ◈ BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ VPS MANAGER \n◈──────────────────◈" \ --parse_mode html rm /tmp/name-s >/dev/null 2>&1 ;; @@ -2116,14 +2099,14 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\n⚠️ use only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Error ! \n\n⚠️ use only numbers [EX: 1]")" \ --parse_mode html break } alterar_limite_user $(cat /tmp/name-l) ${message_text[$id]} [[ "$_erro" == '1' ]] && break ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "◈──────────────────◈\n✅ Limit CHANGED ! !\n◈──────────────────◈\n\nUser: $(cat /tmp/name-l)\nNew Limit: ${message_text[$id]}")" \ + --text "====================================\n VPS MANAGER \n====================================\n\n◈ Host / IP => $(cat /etc/IP)\n◈ Username => $(awk -F " " '/Nome/ {print $2}' $CAD_ARQ)\n◈ Password => $(awk -F " " '/Senha/ {print $2}' $CAD_ARQ)\n◈ Login Limit => $(awk -F " " '/Limite/ {print $2}' $CAD_ARQ)\n◈ Expire Date => $(awk -F " " '/Validade/ {print $2}' $CAD_ARQ)\n\n◈──────⪧ PORTS ⪦ ───────◈\n\n◈ SSH => $ssh_port\n ◈ DropBear => $dropbear_port\n ◈ BadVPN => $udpge_port\n◈───⪧ONLINE USER COUNT⪦────◈ \n\nhttp://$(cat /etc/IP):8888/server/online\n\n◈──────────────────◈\n\n©️ VPS MANAGER \n◈──────────────────◈" \ --parse_mode html rm /tmp/name-l >/dev/null 2>&1 ;; @@ -2142,21 +2125,21 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9/]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error! follow the example\n\nformat days [EX: 30]\nDate format [EX: 30/12/2019]")" \ + --text "$(echo -e "⚠️ Error! follow the example\n\nformat days [EX: 30]\nDate format [EX: 30/12/2019]")" \ --parse_mode html break } alterar_data_user $(cat /tmp/name-d) ${message_text[$id]} [[ "$_erro" == '1' ]] && break ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "◈──────────────────◈\n✅ DATE CHANGED ! !\n◈──────────────────◈\n\nUser: $(cat /tmp/name-d)\nNew Date: $udata")" \ + --text "$(echo -e "◈──────────────────◈\n DATE CHANGED ! !\n◈──────────────────◈\n\nUser: $(cat /tmp/name-d)\nNew Date: $udata")" \ --parse_mode html rm /tmp/name-d >/dev/null 2>&1 ;; '[1] - ADD FILE\n[2] - DELETE FILE\n\nInform the option [1-2]:') [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\n⚠️ use only numbers [EX: 1 or 2]")" \ + --text "$(echo -e "⚠️ Error ! \n\n⚠️ use only numbers [EX: 1 or 2]")" \ --parse_mode html break } @@ -2187,7 +2170,7 @@ while :; do } else ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Invalid option")" \ + --text "$(echo -e "⚠️ Invalid option")" \ --parse_mode html break fi @@ -2198,7 +2181,7 @@ while :; do echo $Opc1 [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error Deleting File ! \n\n⚠️ use only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Error Deleting File ! \n\n⚠️ use only numbers [EX: 1]")" \ --parse_mode html break } || { @@ -2217,12 +2200,12 @@ while :; do [[ -e /etc/bot/arquivos/$_file ]] && { rm /etc/bot/arquivos/$_file ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "✅ *successfully deleted* ✅" \ + --text " *successfully deleted* " \ --parse_mode markdown break } || { ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "❌ Invalid option")" + --text "$(echo -e "⚠️ Invalid option")" break } } @@ -2236,7 +2219,7 @@ while :; do file_id=($file_id) ShellBot.getFile --file_id "${file_id[0]}" ShellBot.downloadFile --file_path ${return[file_path]} --dir "/tmp/file" && { - msg='*✅ Successfully hosted file.*\n\n' + msg='* Successfully hosted file.*\n\n' msg+="*📤 Information*\n\n" msg+="*Name*: ${message_document_file_name}\n" msg+="*Saved in*: /etc/bot/arquivos" @@ -2248,7 +2231,7 @@ while :; do } } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error receiving file ❌")" \ + --text "$(echo -e "⚠️ Error receiving file ⚠️")" \ --parse_mode markdown break } @@ -2259,7 +2242,7 @@ while :; do [[ ${message_from_id[$id]} != ${id_admin} ]] && break [[ $Resp != ?(+|-)+([a-z]) ]] && { ShellBot.sendMessage --chat_id ${id_admin} \ - --text "$(echo -e "❌ Error ! \n\n⚠️ Use only yes or no")" \ + --text "$(echo -e "⚠️ Error ! \n\n⚠️ Use only yes or no")" \ --parse_mode html break } @@ -2271,7 +2254,7 @@ while :; do tar -xvf backup.vps rm /backup.vps ShellBot.sendMessage --chat_id ${id_admin} \ - --text "$(echo -e "✅ Backup restored\nsuccessfully!")" \ + --text "$(echo -e " Backup restored\nsuccessfully!")" \ --parse_mode html break } @@ -2287,22 +2270,22 @@ while :; do [[ "$_erro" == '1' ]] && break echo "Nome: ${message_text[$id]}" >$CAD_ARQ ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text 'Inform his username [Ex: @Dragon_vps_manager]:' \ + --text 'Inform his username [Ex: @OPIranCluB]:' \ --reply_markup "$(ShellBot.ForceReply)" ;; - 'Inform his username [Ex: @Dragon_vps_manager]:') + 'Inform his username [Ex: @OPIranCluB]:') verifica_acesso [[ "$_erro" == '1' ]] && break _VAR1=$(echo -e ${message_text[$id]} | awk -F '@' {'print $2'}) [[ -z $_VAR1 ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error \n\n⚠️ inform the username [EX: @Dragon_vps_manager]")" \ + --text "$(echo -e "⚠️ Error \n\n⚠️ inform the username [EX: @OPIranCluB]")" \ --parse_mode html break } [[ -d /etc/bot/revenda/$_VAR1 ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ the dealer ${message_text[$id]} already exists")" \ + --text "$(echo -e "⚠️ the dealer ${message_text[$id]} already exists")" \ --parse_mode html break } @@ -2316,7 +2299,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\n⚠️ use only numbers [EX: 10]")" \ + --text "$(echo -e "⚠️ Error ! \n\n⚠️ use only numbers [EX: 10]")" \ --parse_mode html break } @@ -2327,7 +2310,7 @@ while :; do [[ "$_limsomarev" -gt "$_limTotal" ]] && { _restant1=$(($_limTotal - $_result)) ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ you don't have enough limit\n\nLimite disponivel: $_restant1 ")" \ + --text "$(echo -e "⚠️ you don't have enough limit\n\nLimite disponivel: $_restant1 ")" \ --parse_mode html break } @@ -2344,16 +2327,16 @@ while :; do _clientrev=$(cat $CAD_ARQ) criar_rev $CAD_ARQ ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "✅ successfully created. ✅\n\n$(<$CAD_ARQ)\n\nBOT: @${message_reply_to_message_from_username}" \ + --text " successfully created. \n\n$(<$CAD_ARQ)\n\nBOT: @${message_reply_to_message_from_username}" \ --parse_mode html ;; # REMOVE REVENDEDOR - '🗑 REMOVE DEALER 🗑\n\nInform his username [Ex: @Dragon_vps_manager]:') + '🗑 REMOVE DEALER 🗑\n\nInform his username [Ex: @OPIranCluB]:') echo -e "${message_text[$id]}" >$CAD_ARQ _Var=$(sed -n '1 p' $CAD_ARQ | awk -F '@' {'print $2'}) [[ -z $_Var ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ invalid user")" \ + --text "$(echo -e "⚠️ invalid user")" \ --parse_mode html break } @@ -2361,14 +2344,14 @@ while :; do break ;; # ALTERAR LIMITE - '♾ CHANGE RESALE LIMIT ♾\n\nInform his username [Ex: @Dragon_vps_manager]:') + '♾ CHANGE RESALE LIMIT ♾\n\nInform his username [Ex: @OPIranCluB]:') verifica_acesso [[ "$_erro" == '1' ]] && break echo -e "Dealer: ${message_text[$id]}" >$CAD_ARQ _Var1=$(sed -n '1 p' $CAD_ARQ | awk -F '@' {'print $2'}) [[ -z $_Var1 ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Invalid name !")" \ + --text "$(echo -e "⚠️ Invalid name !")" \ --parse_mode html break } @@ -2379,7 +2362,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Dealer ${message_text[$id]} does not exist")" \ + --text "$(echo -e "⚠️ Dealer ${message_text[$id]} does not exist")" \ --parse_mode html break } @@ -2391,7 +2374,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Sub-dealer does not exist")" \ + --text "$(echo -e "⚠️ Sub-dealer does not exist")" \ --parse_mode html break } @@ -2402,7 +2385,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\nuse only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Error ! \n\nuse only numbers [EX: 1]")" \ --parse_mode html break } @@ -2419,14 +2402,14 @@ while :; do [[ "$_limsomarev2" -ge "$_limTotal" ]] && { echo $_limsomarev2 ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ you don't have enough limit")" \ + --text "$(echo -e "⚠️ you don't have enough limit")" \ --parse_mode html break } [[ "$_limsomarev" -gt "$_limTotal" ]] && { [[ "$_limTotal" == "$(($_limTotal - $_result))" ]] && _restant1='0' || _restant1=$(($_limTotal - $_result)) ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ you don't have enough limit\n\nLimite restante: $_restant1 ")" \ + --text "$(echo -e "⚠️ you don't have enough limit\n\nLimite restante: $_restant1 ")" \ --parse_mode html break } @@ -2434,11 +2417,11 @@ while :; do echo -e "Limite: ${message_text[$id]}" >>$CAD_ARQ lim_rev $CAD_ARQ ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "◈──────────────────◈\n✅ CHANGED RESALE LIMIT ! !\n◈──────────────────◈\n\n$(<$CAD_ARQ)")" \ + --text "$(echo -e "◈──────────────────◈\n CHANGED RESALE LIMIT ! !\n◈──────────────────◈\n\n$(<$CAD_ARQ)")" \ --parse_mode html # ALTERAR DATA ;; - '📆 CHANGE RESALE DATE 📆\n\nInform his username [Ex: @Dragon_vps_manager]:') + '📆 CHANGE RESALE DATE 📆\n\nInform his username [Ex: @OPIranCluB]:') verifica_acesso [[ "$_erro" == '1' ]] && break _VAR1=$(echo -e ${message_text[$id]} | awk -F '@' {'print $2'}) @@ -2456,7 +2439,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ The Reseller ${message_text[$id]} does not exist")" \ + --text "$(echo -e "⚠️ The Reseller ${message_text[$id]} does not exist")" \ --parse_mode html break } @@ -2469,7 +2452,7 @@ while :; do --reply_markup "$(ShellBot.ForceReply)" } || { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ The SubReseller ${message_text[$id]} does not exist")" \ + --text "$(echo -e "⚠️ The SubReseller ${message_text[$id]} does not exist")" \ --parse_mode html break } @@ -2481,7 +2464,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\nuse only numbers [EX: 30]")" \ + --text "$(echo -e "⚠️ Error ! \n\nuse only numbers [EX: 30]")" \ --parse_mode html break } @@ -2489,15 +2472,15 @@ while :; do dat_rev $CAD_ARQ [[ "$_erro" == '1' ]] && break ShellBot.sendMessage --chat_id ${message_from_id[$id]} \ - --text "$(echo -e "◈──────────────────◈\n✅ CHANGED RESALE DATE! !\n◈──────────────────◈\n\n$(<$CAD_ARQ)")" \ + --text "$(echo -e "◈──────────────────◈\n CHANGED RESALE DATE! !\n◈──────────────────◈\n\n$(<$CAD_ARQ)")" \ --parse_mode html ;; # SUSPENDER REVENDEDOR - '🔒 SUSPEND DEALER 🔒\n\nInform his username [Ex: @Dragon_vps_manager]:') + '🔒 SUSPEND DEALER 🔒\n\nInform his username [Ex: @OPIranCluB]:') _VAR1=$(echo -e ${message_text[$id]} | awk -F '@' {'print $2'}) [[ -z $_VAR1 ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Dealer ${message_text[$id]} does not exist")" \ + --text "$(echo -e "⚠️ Dealer ${message_text[$id]} does not exist")" \ --parse_mode html break } @@ -2510,7 +2493,7 @@ while :; do [[ "$_erro" == '1' ]] && break [[ ${message_text[$id]} != ?(+|-)+([0-9]) ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ Error ! \n\nuse only numbers [EX: 1]")" \ + --text "$(echo -e "⚠️ Error ! \n\nuse only numbers [EX: 1]")" \ --parse_mode html >$CAD_ARQ break @@ -2521,7 +2504,7 @@ while :; do _limsomarev2=$(echo "$_result + 1" | bc) [[ "$_limsomarev2" -gt "$_limTotal" ]] && { ShellBot.sendMessage --chat_id ${message_chat_id[$id]} \ - --text "$(echo -e "❌ you don't have enough limit")" \ + --text "$(echo -e "⚠️ you don't have enough limit")" \ --parse_mode html >$CAD_ARQ break diff --git a/Modulos/bulkuser b/Modulos/bulkuser new file mode 100644 index 0000000..d245751 --- /dev/null +++ b/Modulos/bulkuser @@ -0,0 +1,139 @@ +#!/bin/bash +IP=$(cat /etc/IP) +generate_random_pass() { + local type=$1 + local length=$2 + if [[ $type -eq 1 ]] + then + local chars=( {0..9} ) + elif [[ $type -eq 2 ]] + then + local chars=({a..z} {0..9} ) + elif [[ $type -eq 3 ]] + then + local chars=({a..z} {A..Z} {0..9} ) + fi + local str="" + + for (( i=0; i<$length; i++)); do + local rand_idx=$(( RANDOM % ${#chars[@]} )) + str+=${chars[$rand_idx]} + done + + echo "$str" +} +check_username() { + awk -F : ' { print $1 }' /etc/passwd > /tmp/users + local rep=0 + if grep -Fxq "$1" /tmp/users + then + local rep=1 + fi + echo "$rep" +} + + +tput setaf 7 ; tput setab 4 ; tput bold ; printf '%30s%s%-15s\n' "Create bulk user" ; tput sgr0 +echo "" +echo -ne "\033[1;32mNumber of users\033[1;37m: "; read num +if [[ -z $num ]] || [[ ${num} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Invalid number of users." ; echo "" ; tput sgr0 + exit 1 +fi +echo -ne "\033[1;32mUsername\033[1;37m: "; read name +if [[ -z $name ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid name." ; echo "" ; tput sgr0 + exit 1 +fi +echo -ne "\033[1;32mStarting number\033[1;37m: "; read startnum +if [[ -z $startnum ]] || [[ ${startnum} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Invalid starting number." ; echo "" ; tput sgr0 + exit 1 +fi +echo -e "\033[1;32mPassword types\033[1;37m: " +echo -e "\033[1;31m [\033[1;36m1\033[1;31m]\033[1;33m Numeric" +echo -e "\033[1;31m [\033[1;36m2\033[1;31m]\033[1;33m Alphanumeric lower case" +echo -e "\033[1;31m [\033[1;36m3\033[1;31m]\033[1;33m Alphanumeric mixed case" +echo -ne "\033[1;32m◇ Choose\033[1;37m: "; read passtype +if [[ -z $passtype ]] || [[ ${passtype} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid type." ; echo "" ; tput sgr0 + exit 1 +fi +echo -ne "\033[1;32mPassword length\033[1;37m: "; read passlength +if [[ -z $passlength ]] || [[ $passlength -lt 4 ]] || [[ ${passlength} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Length must be number and >=4" ; echo "" ; tput sgr0 + exit 1 +fi +echo -ne "\033[1;32mDays\033[1;37m: "; read days +if [[ -z $days ]] || [[ ${days} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid number of days." ; echo "" ; tput sgr0 + exit 1 +fi +echo -ne "\033[1;32mLimit\033[1;37m: "; read limit +if [[ -z $limit ]] || [[ ${limit} != ?(+|-)+([0-9]) ]] +then +echo "" +tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid limit. +" ; echo "" ; tput sgr0 + exit 1 +fi +echo "Host,Username,Password,Limit,Exp">/tmp/bulkusers +for (( i=$startnum; i<=($startnum+$num); i++ )); do + username=$name$i + check=$(check_username $username) + if [[ check -eq 1 ]] + then + tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "$username already exists." ; echo "" ; tput sgr0 + exit 1 + fi +done +for (( i=$startnum; i<($startnum+$num); i++ )); do + username=$name$i + password=$(generate_random_pass $passtype $passlength) + pass=$(perl -e 'print crypt($ARGV[0], "password")' $password) + useradd -M -s /bin/false -p $pass $username >/dev/null 2>&1 & + echo "$password" >/etc/VPSManager/senha/$username + echo "$username $limit $days 0" >>/root/usuarios.db + echo "$IP,$username,$password,$limit,$days" >>/tmp/bulkusers +done +output="/root/bulkusers-$(date "+%Y-%m-%d-%H-%M-%S")" +column -t -s $',' /tmp/bulkusers > $output + + + + + + +clear + echo -e "\033[1;32m====================================" + echo -e "\033[1;32m 🐉ㅤDRAGON VPS MANAGERㅤ🐉 " + echo -e "\033[1;32m====================================" + echo "" + echo -e "\033[1;37m◈─────⪧ BULK SSH ACCOUNTS ⪦─────◈" + echo "" + awk -F' ' '{print "\033[34m "$1"\033[0m\033[32m "$2"\033[0m\033[33m "$3"\033[0m\033[31m "$4"\033[0m\033[36m "$5"\033[0m"}' $output | column -t -s $' ' + echo "" + echo "" + echo -e "\033[1;37m◈─────⪧ End of list ⪦─────◈" + echo "" + echo "" + echo -e "\033[31mUser information saved to\033[0m\033[37m:" + echo -e "\033[0m\033[32m "$output"\033[0m" + + + + + +exit diff --git a/Modulos/criarteste b/Modulos/criarteste deleted file mode 100644 index cc980c8..0000000 --- a/Modulos/criarteste +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -IP=$(cat /etc/IP) -if [ ! -d /etc/VPSManager/userteste ]; then -mkdir /etc/VPSManager/userteste -fi -tput setaf 7 ; tput setab 4 ; tput bold ; printf '%30s%s%-15s\n' "Create test user" ; tput sgr0 -echo "" -[ "$(ls -A /etc/VPSManager/userteste)" ] && echo -e "\033[1;32mActive Test User!\033[1;37m" || echo -e "\033[1;31mNo active tests!\033[0m" -echo "" -for testeson in $(ls /etc/VPSManager/userteste |sort |sed 's/.sh//g') -do -echo "$testeson" -done -echo "" -echo -ne "\033[1;32mUsername\033[1;37m: "; read nome -if [[ -z $nome ]] -then -echo "" -tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid name." ; echo "" ; tput sgr0 - exit 1 -fi -awk -F : ' { print $1 }' /etc/passwd > /tmp/users -if grep -Fxq "$nome" /tmp/users -then - tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "This user already exists." ; echo "" ; tput sgr0 - exit 1 -fi -echo -ne "\033[1;32mPassword\033[1;37m: "; read pass -if [[ -z $pass ]] -then -echo "" -tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid password." ; echo "" ; tput sgr0 - exit 1 -fi -echo -ne "\033[1;32mLimit\033[1;37m: "; read limit -if [[ -z $limit ]] -then -echo "" -tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid limit. -" ; echo "" ; tput sgr0 - exit 1 -fi -echo -ne "\033[1;32mminutes \033[1;33m(\033[1;31mEx: \033[1;37m60\033[1;33m)\033[1;37m: "; read u_temp -if [[ -z $limit ]] -then -echo "" -tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Empty or invalid limit." ; echo "" ; tput sgr0 - exit 1 -fi -useradd -M -s /bin/false $nome -(echo $pass;echo $pass) |passwd $nome > /dev/null 2>&1 -echo "$pass" > /etc/VPSManager/senha/$nome -echo "$nome $limit" >> /root/usuarios.db -echo "#!/bin/bash -pkill -f "$nome" -userdel --force $nome -grep -v ^$nome[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db -rm /etc/VPSManager/senha/$nome > /dev/null 2>&1 -rm -rf /etc/VPSManager/userteste/$nome.sh -exit" > /etc/VPSManager/userteste/$nome.sh -chmod +x /etc/VPSManager/userteste/$nome.sh -at -f /etc/VPSManager/userteste/$nome.sh now + $u_temp min > /dev/null 2>&1 -clear - echo -e "\033[1;32m====================================" - echo -e "\033[1;32m 🐉ㅤDRAGON VPS MANAGERㅤ🐉 " - echo -e "\033[1;32m====================================" - echo "" - echo -e "\033[1;31m◈─────⪧ IMPORTANT ⪦──────◈" - echo "" - echo -e "\033[1;32m◈⪧ 🚫 NO SPAM" - echo -e "\033[1;32m◈⪧ ⚠️ NO DDOS" - echo -e "\033[1;32m◈⪧ 🎭 NO Hacking" - echo -e "\033[1;32m◈⪧ ⛔️ NO Carding" - echo -e "\033[1;32m◈⪧ 🙅‍♂️ NO Torrent" - echo -e "\033[1;32m◈⪧ ❌ NO MultiLogin" - echo -e "\033[1;32m◈⪧ 🤷‍♂️ NO Illegal Activities" - echo "" - echo -e "\033[1;37m◈─────⪧ TEST SSH ACCOUNT ⪦─────◈" - echo "" - echo -e "\033[1;32m◈ Host / IP :⪧ \033[1;31m$IP" - echo -e "\033[1;32m◈ Username :⪧ \033[1;31m$nome" - echo -e "\033[1;32m◈ Password :⪧ \033[1;31m$pass" - echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$limit" - echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$u_temp minutes" - echo "" - echo -e "\033[1;37m◈──────⪧ PORTS ⪦ ───────◈" - echo "" - echo -e "\033[1;32m◈ SSH ⌁ 22" - echo -e "\033[1;32m◈ SSL ⌁ 443" - echo -e "\033[1;32m◈ Squid ⌁ 8080" - echo -e "\033[1;32m◈ DropBear ⌁ 80" - echo -e "\033[1;32m◈ BadVPN ⌁ 7300" - echo "" - echo -e "\033[1;37m◈───⪧ONLINE USER COUNT⪦────◈ " - echo "" - echo -e "\033[1;32mhttp://$IP:8888/server/online" - echo "" - echo -e "\033[1;37m◈─────────────────────────────────◈" - echo -e "\033[1;37m©️ 🐉 DRAGON VPS MANAGER SCRIPT 🐉" - echo -e "\033[1;37m◈─────────────────────────────────◈" - echo "" - echo -e "\033[1;33mAfter the defined time of the user \033[1;32m$nome" - echo -e "\033[1;33mwill be disconnected and deleted.\033[0m" -exit diff --git a/Modulos/criarusuario b/Modulos/criarusuario index 6594fb7..7f083b5 100644 --- a/Modulos/criarusuario +++ b/Modulos/criarusuario @@ -313,12 +313,11 @@ echo -ne "\033[1;32mLimit of connections:\033[1;37m ";read sshlimiter echo -e "\n${cor1}Number of concurrent connections must be greater than zero!${scor}\n" exit 1 } -final=$(date "+%Y-%m-%d" -d "+$dias days") gui=$(date "+%d/%m/%Y" -d "+$dias days") pass=$(perl -e 'print crypt($ARGV[0], "password")' $password) -useradd -e $final -M -s /bin/false -p $pass $username >/dev/null 2>&1 & +useradd -M -s /bin/false -p $pass $username >/dev/null 2>&1 & echo "$password" >/etc/VPSManager/senha/$username -echo "$username $sshlimiter" >>/root/usuarios.db +echo "$username $sshlimiter $dias 0" >>/root/usuarios.db [[ -e /etc/openvpn/server.conf ]] && { echo -ne "\033[1;32mGenerate Ovpn File \033[1;31m? \033[1;33m[s/n]:\033[1;37m "; read resp [[ "$resp" = @(s|S) ]] && { @@ -357,8 +356,8 @@ echo "$username $sshlimiter" >>/root/usuarios.db echo -e "\033[1;32m◈ Host / IP :⪧ \033[1;31m$IP" echo -e "\033[1;32m◈ Username :⪧ \033[1;31m$username" echo -e "\033[1;32m◈ Password :⪧ \033[1;31m$password" - echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$gui" - echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$gui" echo "" echo -e "\033[1;37m◈──────⪧ PORTS ⪦ ───────◈" echo "" @@ -428,8 +427,8 @@ echo "$username $sshlimiter" >>/root/usuarios.db echo -e "\033[1;32m◈ Host / IP :⪧ \033[1;31m$IP" echo -e "\033[1;32m◈ Username :⪧ \033[1;31m$username" echo -e "\033[1;32m◈ Password :⪧ \033[1;31m$password" - echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$gui" - echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$gui" echo "" echo -e "\033[1;37m◈──────⪧ PORTS ⪦ ───────◈" echo "" @@ -468,8 +467,8 @@ echo "$username $sshlimiter" >>/root/usuarios.db echo -e "\033[1;32m◈ Host / IP :⪧ \033[1;31m$IP" echo -e "\033[1;32m◈ Username :⪧ \033[1;31m$username" echo -e "\033[1;32m◈ Password :⪧ \033[1;31m$password" - echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$gui" - echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Login Limit :⪧ \033[1;31m$sshlimiter" + echo -e "\033[1;32m◈ Expire Date :⪧ \033[1;31m$gui" echo "" echo -e "\033[1;37m◈──────⪧ PORTS ⪦ ───────◈" echo "" diff --git a/Modulos/firstuse b/Modulos/firstuse new file mode 100644 index 0000000..2c9948d --- /dev/null +++ b/Modulos/firstuse @@ -0,0 +1,14 @@ +#!/bin/bash + +database="/root/usuarios.db" +temp_file="/tmp/t_t_t" +user=$PAM_USER +status="$(grep -w $user $database | cut -d' ' -f4)" +days="$(grep -w $user $database | cut -d' ' -f3)" + +if [ $status -eq 0 ]; then + echo $status + awk -v usr="$user" 'BEGIN{FS=OFS=" "}{$4 = ($1 == usr ? 1 : $4)}1' "$database" > "$temp_file" && mv "$temp_file" "$database" + expiration=$(date "+%Y-%m-%d" -d "+$days days") + chage -E $expiration $user +fi diff --git a/Modulos/limiter b/Modulos/limiter index 3535e70..bfe8436 100644 --- a/Modulos/limiter +++ b/Modulos/limiter @@ -2,13 +2,17 @@ clear database="/root/usuarios.db" +count=0 fun_multilogin() { ( while read user; do [[ $(grep -wc "$user" $database) != '0' ]] && limit="$(grep -w $user $database | cut -d' ' -f2)" || limit='1' conssh="$(ps -u $user | grep sshd | wc -l)" [[ "$conssh" -gt "$limit" ]] && { + passwd -l $user pkill -u $user + echo $user >> /root/locked.db + } [[ -e /etc/openvpn/openvpn-status.log ]] && { ovp="$(grep -E ,"$user", /etc/openvpn/openvpn-status.log | wc -l)" @@ -25,10 +29,26 @@ fun_multilogin() { } } done <<<"$(awk -F: '$3 >= 1000 {print $1}' /etc/passwd)" + ) & } + +unlock_users() { + if [ -f /root/locked.db ]; then + while read -r user; do + passwd -u "$user" + done < /root/locked.db + > /root/locked.db + fi +} while true; do echo 'Checking...' + ((count++)) fun_multilogin > /dev/null 2>&1 + if [ $count -eq 5 ]; then + unlock_users > /dev/null 2>&1 + count=0 + fi sleep 15s + done diff --git a/Modulos/menu b/Modulos/menu index f69402d..d26c1c5 100644 --- a/Modulos/menu +++ b/Modulos/menu @@ -301,7 +301,7 @@ echo -e "\033[1;32m◇ㅤOnline:\033[1;37m $_onlin \033[1;31m◇ㅤexpired: \0 echo -e "\033[0;34m◇───────────────────────────────────────────────◇\033[0m" echo "" echo -e "\033[1;31m[\033[1;36m01\033[1;31m] \033[1;37m◇ \033[1;33mCREATE USER \033[1;31m [\033[1;36m11\033[1;31m] \033[1;37m◇ \033[1;33mSPEEDTEST \033[1;31m -[\033[1;36m02\033[1;31m] \033[1;37m◇ \033[1;33mCREATE TEST USER \033[1;31m [\033[1;36m12\033[1;31m] \033[1;37m◇ \033[1;33mBANNER \033[1;31m +[\033[1;36m02\033[1;31m] \033[1;37m◇ \033[1;33mCREATE BULK USER \033[1;31m [\033[1;36m12\033[1;31m] \033[1;37m◇ \033[1;33mBANNER \033[1;31m [\033[1;36m03\033[1;31m] \033[1;37m\033[1;37m◇ \033[1;33mREMOVE USER \033[1;31m [\033[1;36m13\033[1;31m] \033[1;37m◇ \033[1;33mNETWORK TRAFFIC \033[1;31m [\033[1;36m04\033[1;31m] \033[1;37m◇ \033[1;33mONLINE USER MONITOR \033[1;31m [\033[1;36m14\033[1;31m] \033[1;37m◇ \033[1;33mVPS OPTIMIZE \033[1;31m [\033[1;36m05\033[1;31m] \033[1;37m◇ \033[1;33mCHANGE DATE \033[1;31m [\033[1;36m15\033[1;31m] \033[1;37m◇ \033[1;33mUSER BACKUP \033[1;31m @@ -323,7 +323,7 @@ case "$x" in ;; 2 | 02) clear - criarteste + bulkuser echo -ne "\n\033[1;31m◇ ENTER \033[1;33mto return to \033[1;32mMENU!\033[0m"; read ;; 3 | 03) diff --git a/README.md b/README.md index d40d75d..c29b44b 100644 --- a/README.md +++ b/README.md @@ -1,110 +1,61 @@ -## ◇────── DRAGON VPS MANAGER ───────◇ - -ㅤ -

- - logo +

+ + + logo + +

-## -___REFERRAL LINK___ - -[![DigitalOcean Referral Badge](https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg)](https://www.digitalocean.com/?refcode=0c8d9b763684&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) - -## ㅤ +

Dragon

-___Update System Packages and Install SCRIPT___ - -``` -apt-get update -y; apt-get upgrade -y; wget https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/hehe; chmod 777 hehe;./hehe - -``` +

+ Shell based SSH Management Panel +

ㅤ -## ㅤ -___Tutorial___ - -

-

- - -
-

- -## ㅤ +ㅤ -___Screenshots___ +## Installation -
-

Click To View [Terminal]

-
+Run this command: -

-

-

-

-

-

-
+``` +bash -c "$(curl -fsSL https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/hehe)" +``` +Once the installation is complete, run: +``` +menu +``` -
-

Click To View [Telegram Bot]

-
-

-

-

-

-

-
+## New Features +- Create **bulk** user: add mutiple users at once. +- Update limiter: users exceeding their limit, get **banned** for 1 minute. +- Expiration date is now set **after** user's first connection. -## ㅤ + -___Based on___ +## Tutorial -

+

- - - - - - - + +
-

- - ## ㅤ - -___Credits___ - -

see on wiki

-

see on Telegra.ph 

-

💐💐 To everyone who gave me advice and ideas.💐💐

- -## ㅤ - -___Follow Us!___ - -

-

- -
-

- -## ㅤ - -___⚠️ Announcement ⚠️___ +

+ -

This script is not our own @SingleDevelopers creation and we will be working on providing our own script soon.

+## Donation +If you found these new features helpful and would like to support me, you can send your donations to: +- TRON network (TRC20): `TK28Znv9VWF8M9qAZsFHH7EkSVZyKKyZ1v` - -## ㅤ +Thank You. +ㅤ -___Licence___ +## Licence [![License](https://www.gnu.org/graphics/gplv3-127x51.png)](LICENSE) diff --git a/hehe b/hehe index 2e2683d..8af8eac 100644 --- a/hehe +++ b/hehe @@ -60,11 +60,11 @@ echo -ne "\033[1;36m◇ Want to continue? [Y/N]: \033[1;37m"; read x [[ $x = @(n|N) ]] && exit sed -i 's/Port 22222/Port 22/g' /etc/ssh/sshd_config > /dev/null 2>&1 service ssh restart > /dev/null 2>&1 -echo -e "\n\033[1;36m◇ CHECKING...(It Take Some Time Please Wait!)\033[1;37m 16983:16085\033[0m" ; rm $_Ink/list > /dev/null 2>&1; wget -P $_Ink https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Install/list > /dev/null 2>&1; verif_key +echo -e "\n\033[1;36m◇ CHECKING...(It Take Some Time Please Wait!)\033[1;37m 16983:16085\033[0m" ; rm $_Ink/list > /dev/null 2>&1; wget -P $_Ink https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Install/list > /dev/null 2>&1; verif_key sleep 3s echo "/bin/menu" > /bin/h && chmod +x /bin/h > /dev/null 2>&1 rm versao* > /dev/null 2>&1 -wget https://raw.githubusercontent.com/januda-ui/DRAGON-VPS-MANAGER/main/Install/versao > /dev/null 2>&1 +wget https://raw.githubusercontent.com/sons-of-liberty/DRAGON-VPS-MANAGER/main/Install/versao > /dev/null 2>&1 > /dev/null 2>&1 wget https://iplogger.org/2lHZ43 > /dev/null 2>&1 > /dev/null 2>&1 @@ -113,7 +113,7 @@ echo "" echo -e "\033[1;33m◇ SOME PACKAGES ARE EXTREMELY NECESSARY!\033[0m" echo "" inst_pct () { -_pacotes=("bc" "apache2" "cron" "screen" "nano" "unzip" "lsof" "netstat" "net-tools" "dos2unix" "nload" "jq" "curl" "figlet" "python3" "python-pip") +_pacotes=("bc" "apache2" "cron" "screen" "nano" "unzip" "lsof" "netstat" "net-tools" "dos2unix" "nload" "jq" "curl" "figlet" "python3" "python-pip" "bsdmainutils") for _prog in ${_pacotes[@]}; do apt install $_prog -y done