You are on page 1of 4

#!/data/data/com.

termux/files/usr/bin/bash -e
# Copyright ©2018 by Hax4Us. All rights reserved. 🌎 🌍 🌏 🌐 🗺
#
# https://hax4us.com
################################################################################

# colors

red='\033[1;31m'
yellow='\033[1;33m'
blue='\033[1;34m'
reset='\033[0m'

# Clean up
pre_cleanup() {
find $HOME -name "kali*" -type d -exec rm -rf {} \; || :
}

post_cleanup() {
find $HOME -name "kalifs*" -type f -exec rm -rf {} \;
}

# Get patched proot binary for aarch64

proot_patch() {
printf "\n\n"
printf "${blue}[*]$yellow HUAWEI kernel detected ...$reset"
axel --alternate
https://github.com/Hax4us/Nethunter-In-Termux/raw/master/proot
mv proot $PREFIX/bin
chmod +x $PREFIX/bin/proot
apk-mark hold proot
}

# Utility function for Unknown Arch

#####################
# Decide Chroot #
#####################

setchroot() {
chroot=minimal
}
unknownarch() {
printf "$red"
echo "[*] Unknown Architecture :("
printf "$reset"
exit
}

# Utility function for detect system

checksysinfo() {
printf "$blue [*] Checking host architecture ..."
case $(getprop ro.product.cpu.abi) in
arm64-v8a)
SETARCH=arm64
;;
armeabi|armeabi-v7a)
SETARCH=armhf
;;
*)
unknownarch
;;
esac
}

# Check if required packages are present

checkdeps() {
printf "${blue}\n"
echo " [*] Updating apt cache..."
apt update -y &> /dev/null
echo " [*] Checking for all required tools..."

for i in proot tar axel; do


if [ -e $PREFIX/bin/$i ]; then
echo " • $i is OK"
else
echo "Installing ${i}..."
apt install -y $i || {
printf "$red"
echo " ERROR: check your internet connection or apt\n
Exiting..."
printf "$reset"
exit
}
fi
done
}

# URLs of all possibls architectures

seturl() {
URL="https://build.nethunter.com/kalifs/kalifs-20171013/kalifs-${1}-$
{chroot}.tar.xz"
}

# Utility function to get tar file

gettarfile() {
printf "$blue [*] Getting tar file...$reset\n\n"
DESTINATION=$HOME/kali-${SETARCH}
seturl $SETARCH
axel --alternate "$URL"
rootfs="kalifs-${SETARCH}-${chroot}.tar.xz"
}

# Utility function to get SHA

getsha() {
printf "\n${blue} [*] Getting SHA ... $reset\n\n"
axel --alternate "https://build.nethunter.com/kalifs/kalifs-20171013/kalifs-$
{SETARCH}-${chroot}.sha512sum"
}

# Utility function to check integrity


checkintegrity() {
printf "\n${blue} [*] Checking integrity of file...\n"
echo " [*] The script will immediately terminate in case of integrity
failure"
printf ' '
sha512sum -c kalifs-${SETARCH}-${chroot}.sha512sum || {
printf "$red Sorry :( to say your downloaded linux file was corrupted
or half downloaded, but don't worry, just rerun my script\n${reset}"
exit 1
}
}

# Utility function to extract tar file

extract() {
printf "$blue [*] Extracting... $reset\n\n"
proot --link2symlink tar -xf $rootfs 2> /dev/null || :
}

# Utility function for login file

createloginfile() {
bin=${PREFIX}/bin/startkali
cat > $bin <<- EOM
#!/data/data/com.termux/files/usr/bin/bash -e
unset LD_PRELOAD
exec proot --link2symlink -0 -r ${DESTINATION} -b /dev/ -b /sys/ -b /proc/ -b
/storage/ -b $HOME -w $HOME /usr/bin/env -i HOME=/root USER=root TERM="$TERM"
LANG=$LANG PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login
EOM

chmod 700 $bin


}

printline() {
printf "${blue}\n"
echo " #-----------------------------------------------#"
}

#################
# Start #
#################

clear
#EXTRAARGS="default"
if [[ ! -z $1 ]]
then
EXTRAARGS=$1
if [[ $EXTRAARGS = "uninstall" ]]
then
echo "uninstalled"
exit
fi
fi
# Dont run in non-home
if [ `pwd` != $HOME ]; then
printf "$red You are not in home :($reset"
exit 2
fi
printf "\n${yellow} You are going to install Kali Nethunter In Termux Without
Root ;) Cool\n\n"
pre_cleanup
checksysinfo
SETARCH=armhf
checkdeps
if [ $(getprop ro.product.manufacturer) = HUAWEI -a $SETARCH = arm64 ]
then
proot_patch
fi
setchroot
gettarfile
getsha
checkintegrity
extract
createloginfile
post_cleanup

printf "$blue [*] Configuring Kali For You ..."

# Utility function for resolv.conf


resolvconf() {
#create resolv.conf file
printf "\nnameserver 8.8.8.8\nnameserver 8.8.4.4" >
${DESTINATION}/etc/resolv.conf
}
resolvconf

################
# finaltouchup #
################

finalwork() {
[ -e $HOME/finaltouchup.sh ] && rm $HOME/finaltouchup.sh
echo
axel -a
https://github.com/Hax4us/Nethunter-In-Termux/raw/master/finaltouchup.sh
DESTINATION=$DESTINATION SETARCH=$SETARCH bash $HOME/finaltouchup.sh
}
#finalwork

printline
printf "\n${yellow} Now you can enjoy Kali Nethuter in your Termux :)\n"
printline
printline
printf "\n${blue} [∆] My official email:${yellow} lkpandey950@gmail.com.com\n"
printf "$blue [∆] My website:${yellow} https://hax4us.com\n"
printf "$blue [∆] My YouTube channel:${yellow} https://youtube.com/hax4us\n"
printline
printf "$reset"

You might also like