#!/data/data/com.termux/files/usr/bin/bash # Install required packages pkg install proot proot-distro bsdtar libxml2 axel neofetch -y clear cd $HOME # Display the menu echo "Select your Distro Number:" echo "1. adelie" echo "2. alma" echo "3. alpine" echo "4. altlinux" echo "5. amazon" echo "6. archlinux" echo "7. artix" echo "8. backbox" echo "9. blackarch" echo "10. centos" echo "11. chimera" echo "12. cirros" echo "13. crux" echo "14. debian" echo "15. deepin" echo "16. devuan" echo "17. fedora" echo "18. gentoo" echo "19. kali" echo "20. manjaro" echo "21. openeuler" echo "22. openkylin" echo "23. opensuse" echo "24. openwrt" echo "25. oracle" echo "26. pardus" echo "27. parrot" echo "28. photon" echo "29. rocky" echo "30. slackware" echo "31. ubuntu" echo "32. ufocal" echo "33. ujammy" echo "34. uoracular" echo "35. void" # Read the user's choice read -p "Enter the Number: " choice # Set the FS variable based on the user's choice case $choice in 1) FS="adelie" ;; 2) FS="alma" ;; 3) FS="alpine" ;; 4) FS="altlinux" ;; 5) FS="amazon" ;; 6) FS="archlinux" ;; 7) FS="artix" ;; 8) FS="backbox" ;; 9) FS="blackarch" ;; 10) FS="centos" ;; 11) FS="chimera" ;; 12) FS="cirros" ;; 13) FS="crux" ;; 14) FS="debian" ;; 15) FS="deepin" ;; 16) FS="devuan" ;; 17) FS="fedora" ;; 18) FS="gentoo" ;; 19) FS="kali" ;; 20) FS="manjaro" ;; 21) FS="openeuler" ;; 22) FS="openkylin" ;; 23) FS="opensuse" ;; 24) FS="openwrt" ;; 25) FS="oracle" ;; 26) FS="pardus" ;; 27) FS="parrot" ;; 28) FS="photon" ;; 29) FS="rocky" ;; 30) FS="slackware" ;; 31) FS="ubuntu" ;; 32) FS="ufocal" ;; 33) FS="ujammy" ;; 34) FS="uoracular" ;; 35) FS="void" ;; *) echo "Invalid value, Exiting...!!!" exit 1 ;; esac clear # Read FS value FS=$FS # Forward the value of FS to NM NM=$FS # Capitalize the first letter of NM NM=$(echo $NM | awk '{print toupper(substr($0,1,1)) substr($0,2)}') # Display neofetch with custom ASCII art neofetch --ascii_distro $NM # Output the selected value echo "You Selected $NM Linux" echo " " # Download the rootfs using axel axel -o $FS.tar.xz https://github.com/xiv3r/Termux-Pentesting-Distro/releases/download/rootfs/$FS.tar.xz # Create a proot-distro configuration file echo " " echo "[*] Checking $NM Linux File Integrity..." echo " " echo "[*] Checking MD5..." md5sum $FS.tar.xz echo " " echo "[*] Checking SHA256..." sha256sum $FS.tar.xz echo " " echo "[*] Checking SHA512..." sha512sum $FS.tar.xz # Extract the rootfs echo " " echo "[*] Extracting $NM Linux Rootfs...!!!" proot --link2symlink bsdtar -xpJf $FS.tar.xz 2>/dev/null # Create a shortcut command to launch the distro cat > $PREFIX/bin/$FS <<- EOF #!/data/data/com.termux/files/usr/bin/bash cd $HOME # Load libraries unset LD_PRELOAD unset LD_LIBRARY_PATH export LD_LIBRARY_PATH=$HOME/$FS/lib:/data/data/com.termux/files/usr/lib # Mount rootfs cmdline="proot \\ --link2symlink \\ -0 \\ -r $FS \\ -b /dev \\ -b /proc \\ -b /sdcard \\ -b $FS/root:/dev/shm \\ -w /root \\ /usr/bin/env -i \\ HOME=/root \\ PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \\ TERM=\$TERM \\ LANG=C.UTF-8 \\ /bin/bash --login" cmd="\$@" if [ "\$#" == "0" ];then exec \$cmdline else \$cmdline -c "\$cmd" fi EOF chmod 755 $PREFIX/bin/${FS} # Add start-up login notification sed -i '/echo "Login $NM Linux: $FS"/d' $PREFIX/etc/bash.bashrc cat >> $PREFIX/etc/bash.bashrc << EOF echo "Login $NM Linux: $FS" EOF # Add support for uninstallation cat > $PREFIX/bin/uninstall-$FS << EOF #!/data/data/com.termux/files/usr/bin/bash rm -rf $FS sed -i '/echo "Login $NM Linux: $FS"/d' $PREFIX/etc/bash.bashrc rm -f $PREFIX/bin/uninstall-$FS rm -f $PREFIX/bin/$FS EOF chmod 755 $PREFIX/bin/uninstall-$FS # Free up space rm -rf $FS.tar.xz # Display final instructions echo " " echo -e '\e[1;96mSuccessful Installation!' echo -e '\e[0m' cat <<- EOF To login $NM Linux, Type: $FS EOF sleep 15s clear $FS