#!/bin/bash apt-get clean -y > /dev/null 2>&1 if ! dpkg -l | grep -q -w "ncurses-utils"; then pkg install ncurses-utils -y; fi &>/dev/null if [ ! -f dialogs ]; then curl -s -o dialogs https://raw.githubusercontent.com/GabiAle97/termux-box/main/scripts/dialogs &>/dev/null curl -s -o dialog.rc https://raw.githubusercontent.com/GabiAle97/termux-box/main/scripts/dialog.rc &>/dev/null curl -s -o loop https://raw.githubusercontent.com/GabiAle97/termux-box/main/scripts/loop &>/dev/null chmod +x loop fi if [ -e $HOME/dialogs ] && dpkg -l | grep -q -w "ncurses-utils"; then . $HOME/dialogs else echo "" echo "Something went wrong with termux repositories. You may have to clean termux data and reinstall termux-box mod" echo "" exit 0 fi cd if [ ! -e storage ]; then termux-setup-storage &>/dev/null fi while true; do if [ -e storage ]; then rm -rf /sdcard/termux-box break fi done mkdir -p /sdcard/termux-box touch /sdcard/termux-box/Installer.log dialog_loading "Updating termux packages" & apt-get clean -y > /dev/null 2>&1 apt-get update -y > /dev/null 2>&1 apt-get -y --with-new-pkgs -o Dpkg::Options::="--force-confdef" upgrade > /dev/null 2>&1 kill_current_dialog dialog_loading "Installing necessary packages" & pkg install x11-repo -y &>>/sdcard/termux-box/Installer.log pkg install pulseaudio -y &>>/sdcard/termux-box/Installer.log pkg install xwayland -y &>>/sdcard/termux-box/Installer.log pkg install proot -y &>>/sdcard/termux-box/Installer.log pkg install wget -y &>>/sdcard/termux-box/Installer.log pkg install tsu -y &>>/sdcard/termux-box/Installer.log pkg install root-repo -y &>>/sdcard/termux-box/Installer.log pkg install jq -y &>>/sdcard/termux-box/Installer.log pkg install pv -y &>>/sdcard/termux-box/Installer.log kill_current_dialog dialog_progressbar_wget "Termux-box MOD" "Applying Termux Style" "https://github.com/GabiAle97/termux-box/releases/download/Dll_overrides/termux-style.tar.xz" "termux-style.tar.xz" dialog_progressbar_tar "termux-style.tar.xz" "J" . $HOME/termux-style/termux-style apply-termux-style rm -rf $HOME/termux-box &>/dev/null mkdir -p $HOME/termux-box &>/dev/null cd $HOME/termux-box dialog_menu "Termux-Box" "Install Termux-x11" \ "1" "Default Termux-x11 (Tested and stable for Android 13 and below)" \ "2" "Termux-x11-nightly (For Android 14)" case $? in 1) dialog_loading "Installing Termux-x11 default" & wget "https://github.com/GabiAle97/termux-box/raw/main/components/termux-x11-1.02.07-0-all.deb" -O "termux-x11-1.02.07-0-all.deb" &>>/sdcard/termux-box/Installer.log dpkg -i "termux-x11-1.02.07-0-all.deb" &>>/sdcard/termux-box/Installer.log rm -rf termux-x11-1.02.07-0-all.deb &>>/sdcard/termux-box/Installer.log ;; 2) dialog_loading "Installing Termux-x11-nightly" & pkg install termux-x11-nightly -y &>>/sdcard/termux-box/Installer.log ;; 255) exit 0 ;; esac kill_current_dialog cd $HOME/termux-box dialog_menu "Termux-Box" "Download preconfigured Rootfs" \ "1" "Default Jammy (stable, missing libs)" \ "2" "Enhanced Mantic (Performance, useful for Wine-GE)" case $? in 1) dialog_progressbar_wget "Termux-box MOD" "Downloading Default Jammy" "https://github.com/GabiAle97/termux-box/releases/download/Dll_overrides/rootfs.tar.xz" "rootfs.tar.xz" export core=1 ;; 2) dialog_progressbar_wget "Termux-box MOD" "Downloading Enhanced Mantic" "https://github.com/GabiAle97/termux-box/releases/download/Dll_overrides/rootfs-mantic.tar.xz" "rootfs.tar.xz" export core=2 ;; 255) exit 0 ;; esac dialog_progressbar_tar "rootfs.tar.xz" "J" rm -rf rootfs.tar.xz &>>/sdcard/termux-box/Installer.log cd $HOME/termux-box/ubuntu-fs/opt if [ $core = 2 ] then touch $HOME/termux-box/ubuntu-fs/opt/mantic-core-system fi dialog_progressbar_wget "Termux-box MOD" "Downloading scripts.tar.gz" "https://github.com/GabiAle97/termux-box/releases/download/mod_box/scripts.tar.gz" "scripts.tar.gz" dialog_progressbar_tar "scripts.tar.gz" "z" rm -rf scripts.tar.gz &>>/sdcard/termux-box/Installer.log cd $HOME/termux-box dialog_progressbar_wget "Termux-box MOD" "Downloading termux-box" "https://github.com/GabiAle97/termux-box/raw/main/scripts/termux-box" "termux-box" chmod +x termux-box mv termux-box $PREFIX/bin dialog_progressbar_wget "Termux-box MOD" "Downloading start-proot.sh" "https://github.com/GabiAle97/termux-box/raw/main/scripts/start-proot.sh" "start-proot.sh" dialog_progressbar_wget "Termux-box MOD" "Downloading start-chroot.sh" "https://github.com/GabiAle97/termux-box/raw/main/scripts/start-chroot.sh" "start-chroot.sh" chmod +x start-proot.sh chmod +x start-chroot.sh dialog_progressbar_wget "Termux-box MOD" "Downloading update-scripts" "https://github.com/GabiAle97/termux-box/raw/main/scripts/update-scripts" "update-scripts" chmod +x update-scripts cd $HOME/termux-box/ubuntu-fs/opt dialog_progressbar_wget "Termux-box MOD" "Downloading patch.tar.xz" "https://github.com/GabiAle97/termux-box/releases/download/Dll_overrides/patch.tar.xz" "patch.tar.xz" rm -rf d3d &>>/sdcard/termux-box/Installer.log rm -rf mesa &>/dev/null dialog_progressbar_tar "patch.tar.xz" "J" rm -rf patch.tar.xz &>>/sdcard/termux-box/Installer.log curl -s "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases" | jq -r '.[].name' | wc -l > countge curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | jq -r '.[].name' | wc -l > countkron curl -s "https://api.github.com/repos/HansKristian-Work/vkd3d-proton/releases" | jq -r '.[].name' | wc -l > countvkd3d expr $(cat countge) + $(cat countkron) > totalcount cd dialog_message "Termux-Box Mod" "Successfully installed!" rm -rf "$0" exec $PREFIX/bin/termux-box