#!/bin/bash
clear
cd $HOME
#########
# COLORS
#########
#colors
#colors
white="\033[1;37m" ##
grey="\033[0;37m" ##
purple="\033[1;35m" ##
red="\033[1;31m" ##
green="\033[1;32m" ##
yellow="\033[1;33m" ##
purple="\033[0;35m" ##
cyan="\033[0;36m" ##
cyan1="\033[1;36m" ##
cafe="\033[0;33m" ##
fiuscha="\033[0;35m" ##
blue="\033[1;34m" ##
l_red="\033[1;37;41m" ##
nc="\033[0m" ##
arch=`uname -m`
ArNam=$(dpkg --print-architecture)
#spinner
spinner() {
pid=$!
spin='\|/-'
i=0
tput civis
while kill -0 $pid 2>/dev/null
do
i=$(( (i+1) %4 ))
printf "\r${cyan1}[${spin:$i:1}]${nc} ${cyan1} ${launch}"
sleep .1
done
clear
printf "\r\n${green}[✔]${nc} ${green} ${splashdown}";echo
tput cnorm
}
function os () {
cat /etc/os-release > /dev/null 2>&1
if [ "$?" -eq "0" ]; then
OS=DEBIAN
BIN="/usr/bin"
main="/usr/share/shark"
sudo apt install iputils-ping -y &>/dev/null
sudo apt install p7zip-full -y &>/dev/null
else
OS=TERMUX
BIN="${PREFIX}/bin"
main="${PREFIX}/share/shark"
pkg install ncurses-utils -y &>/dev/null
pkg install p7zip -y &>/dev/null
fi
}
function git_clone() {
launch="cloning shark";splashdown="shark cloned";echo
[ -d "${main}" ] && rm -rf ${main} > /dev/null 2>&1
(git clone https://github.com/E343IO/shark --quiet ${main} --depth=1) & spinner
}
function dependencies() {
killall -q dpkg apt pkg &>/dev/null
clear
sleep 1
launch="installing lib";splashdown="installed lib"; echo
for i in apache2 php jq curl git unzip dialog proot sox ffmpeg; do
if [ ${OS} != "DEBIAN" ]; then
(pkg update -y &> /dev/null && pkg install ${i} -y &> /dev/null && pkg install proot resolv-conf &> /dev/null)& spinner
else
(sudo apt-get install ${i} -y &> /dev/null && sudo dnf -y install &> /dev/null)& spinner
fi
done
}
function setup_cloudflare() {
if [ ! -f ${BIN}/cloudflared ]; then
if [[ ("$arch" == *'arm'*) || ("$arch" == *'Android'*) ]]; then
cloudd="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm"
elif [[ "$arch" == *'aarch64'* ]]; then
cloudd="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64"
elif [[ "$arch" == *'x86_64'* ]]; then
if [[ "$ArNam" == *'amd64'* ]]; then
cloudd="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64"
else
cloudd="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64"
fi
else
cloudd="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-386"
fi
launch="Installing server-1, size@25mb";splashdown="installed.";echo
(wget --quiet ${cloudd} -O cloudflared)& spinner
chmod +x cloudflared && mv cloudflared $BIN
else
echo ""
fi
}
function setup_ngrok() {
if [ ! -f "${BIN}/ngrok" ]; then
if [[ ("$arch" == *'arm'*) || ("$arch" == *'Android'*) ]]; then
ngrok_url="https://github.com/E343IO/stuff/raw/main/ngrok-2in1.zip"
elif [[ "$arch" == *'aarch64'* ]]; then
if [[ "$ArNam" == *'amd64'* ]]; then
ngrok_url="https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip"
else
ngrok_url="https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm64.zip"
fi
elif [[ "$arch" == *'x86_64'* ]]; then
if [[ "$ArNam" == *'amd64'* ]]; then
ngrok_url="https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip"
else
ngrok_url="https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm64.zip"
fi
else
ngrok_url="https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-386.zip"
fi
launch="installing server-2, size@4mb";splashdown="Installed.";echo
(wget --quiet $ngrok_url -O ngrok.zip)& spinner
unzip -q ngrok.zip && rm -rf ngrok.zip && chmod +x ngrok && mv ngrok $BIN
else
echo ""
fi
}
function final_touchup() {
for i in shark; do
chmod +x ${main}/${i}
mv ${main}/${i} ${BIN}
launch="setting up files"; splashdown="done";echo
(cd ${main} && 7z x file &>/dev/null)& spinner
done
if [ ${OS} != "DEBIAN" ]; then
clear
dialog --title "© SHARK 2022-2023" --inputbox "*Ngrok Authtoken verification \nEnter your authtoken without './' :" 0 0 2> authtk
mv authtk ${BIN}
chmod +x ${BIN}/authtk
sleep 2
clear
sleep 2
authtk &>/dev/null
export user=$HOME
mv ${BIN}/authtk ${BIN}/authtoken
chmod +x ${BIN}/authtoken
#printf ${yellow}"Full exiting....\nJust Reopen your termux after exit. \n"
sleep 1
printf "\n${green}>>${white} simply run : shark \n\n ${nc}"
else
clear
dialog --title "© SHARK 2022-2023" --inputbox "*Ngrok Authtoken verification \nEnter your authtoken without './' :" 0 0 2> authtk
mv authtk ${BIN}
chmod +x ${BIN}/authtk
sleep 2
clear
authtk &>/dev/null
printf "\n${green}>>${white} simply run : shark \n\n ${nc}"
fi
}
printf "${yellow}Please Wait.\n\n[!] Don't terminate this task.\n"
os
clear
printf "${green}Setting up libs...\n"
sleep 2
clear
dependencies
git_clone
setup_cloudflare
setup_ngrok
final_touchup
#########################################
# DON'T TRY TO COPY 😂😂 #
# JUST LEARNING KEEP SUPPORTING #
# THANKYOU #
# M r. D e r e K (Contributor) #
# B h a v i k O z a (Publisher) #
# A s h i s h S i n g h (Author) #
#########################################