if [[ ! $# -ne 0 ]]; then
	echo "Install deb packages & ipa files with url."
   echo "use -ip option without url <will be prompted>"
	echo "Usage : insurl [options] Url"
	echo "opt."
	echo "-b  : bulk install <deb=max 10 url, ipa=max 5 url> e.g “url1” “url2”"
   echo "-ip : install ipa with url"
	echo "-l  : list of installed tweaks"
	echo "-r  : uninstall deb packages"
	echo "-v  : verbose mode"
	echo "-ur : uicache+respring"
	exit 1
fi

insdebs=/var/tmp/Insurldebs
insipa=/var/tmp/Insurlipa

if [[ $1 =~ .*http.* && $# -eq 1 ]]; then
	echo "Downloading..."
	mkdir $insdebs
		echo $1>$insdebs/deb.txt > /dev/null 2>&1
	wget -i $insdebs/deb.txt -P $insdebs > /dev/null 2>&1
	echo "Installing..."
	dpkg -iR --force-depends > /dev/null 2>&1 $insdebs
	echo "Checking Dependencies..."
	rm -r $insdebs
	apt-get update > /dev/null 2>&1
	apt-get -f install -y > /dev/null 2>&1
	uicache
	echo "Done!"
	exit 0
fi

while [ $# -gt 0 ]; do
	case "$1" in
  -l) if [ -z ${@:2} ]; then
  			while true; do
  				if [ ! -f "/Library/Insurl/coretweaks.txt" ]; then
			echo "Lists not found, please re-install Insurl"
						exit 7
					else
						cut=/Library/Insurl/coretweaks.txt
						tweaks=/Library/Insurl/tweaks.txt
						dpkg --get-selections | grep install | grep -v gsc. | sed 's/\s.*$//' > $tweaks
						comm -13 $cut $tweaks | nl -w2 -s"] "
						rm $tweaks
						exit 0
					fi
				done
			fi
	break;
	;;
  -r) if [ -z ${@:2} ]; then
  			while true; do
  				if [ ! -f "/Library/Insurl/coretweaks.txt" ]; then
  					echo "Lists not found, please re-install Insurl"
  					exit 7
  				else
  					cut=/Library/Insurl/coretweaks.txt
  					tweaks=/Library/Insurl/tweaks.txt
  					dpkg --get-selections | grep install | grep -v gsc. | sed 's/\s.*$//' > $tweaks
  					options=($(comm -13 $cut $tweaks))
  					PS3="Please select package to remove: "
  					select opt in "${options[@]}" "QUIT" ; do
  					if (( REPLY == 1 + ${#options[@]} )) ; then
  						rm $tweaks
  						exit 6
  					elif (( REPLY > 0 && REPLY <= ${#options[@]} )) ; then
  						echo "Uninstalling..."
  						dpkg -r "$opt" > /dev/null 2>&1
  						apt-get autoremove -y > /dev/null 2>&1
  						uicache
  						echo "Done!"
  						rm $tweaks
  						exit 0
  					else
						echo "Try again"
						fi
						done
					fi
				done
				exit 0
			elif [ $2 = -v ]; then
				while true; do
					if [ ! -f "/Library/Insurl/coretweaks.txt" ]; then
						echo "Lists not found, please re-install Insurl"
						exit 7
					else
						cut=/Library/Insurl/coretweaks.txt
						tweaks=/Library/Insurl/tweaks.txt
						dpkg --get-selections | grep install | grep -v gsc. | sed 's/\s.*$//' > $tweaks
						options=($(comm -13 $cut $tweaks))
						PS3="Please select package to remove: "
						select opt in "${options[@]}" "QUIT" ; do
						if (( REPLY == 1 + ${#options[@]} )) ; then
							rm $tweaks
								exit 6
						elif (( REPLY > 0 && REPLY <= ${#options[@]} )) ; then
							echo "Uninstalling..."
							dpkg -r "$opt"
							apt-get autoremove -y > /dev/null 2>&1
							uicache
							echo "Done!"
							rm $tweaks
							exit 0
						else
							echo "try again"
						fi
						done
					fi
				done
				exit 0
			else
				echo "Invalid Options"
				exit 1
			fi
	break;
	;;
  -ur) if [ -z $2 ]; then
  			uicache
  			echo "your phone
will respring in 3..."
  			sleep 1;
  			echo "will respring in 2..."
  			sleep 1;
  			echo "will respring in 1..."
  			sleep 1;
  			killall -9 backboardd
  		else
  			echo "Invalid Options"
  			exit 1
  		fi
  break;
  ;;
  -b) if [[ $# -eq 2 && $2 != -ip ]]; then
  			echo "please input more url"
  			exit 1
  		elif [[ $2 == -v && $3 != -ip ]] && [ $# -eq 3 ]; then
  			echo "please input more url"
  			exit 2
  		elif [[ $2 == -v || $2 == -ip ]] && [[ $3 == -v || $3 == -ip ]] && [ $# -gt 3 ]; then
  			echo "please use -ip without url"
  			exit
  		elif [[ $2 == -ip && $3 != -v ]] && [ $# -gt 2 ]; then
  			echo "please use -ip without url"
  			exit
  		fi
  		
  		if [[ $2 != -ip && $2 != -v ]] && [[ $# -gt 2 ]]; then
  			echo "Downloading..."
  			mkdir $insdebs
  			echo ${@:3:10} | tr ' ' '\n'>$insdebs/deb.txt > /dev/null 2>&1
  			wget -i $insdebs/deb.txt -P $insdebs > /dev/null 2>&1
  			echo "Installing..."
  			dpkg -iR --force-depends > /dev/null 2>&1 $insdebs
  			echo "Checking Dependencies..."
  			rm -r $insdebs
  			apt-get update > /dev/null 2>&1
  			apt-get -f install -y > /dev/null 2>&1
  			uicache
  			echo "Done!"
  			exit 0
  		elif [[ $2 == -v && $3 != -ip ]] && [ $# -gt 3 ]; then
  			echo "Downloading..."
  			mkdir $insdebs
  			echo ${@:3:10} | tr ' ' '\n'>$insdebs/deb.txt
  			wget -i $insdebs/deb.txt -P $insdebs
  			echo "Installing..."
  			dpkg -iR --force-depends $insdebs
  			echo "Checking Dependencies..."
  			rm -r $insdebs
  			apt-get update > /dev/null 2>&1
  			apt-get -f install -y
  			uicache
  			echo "Done!"
  			exit 0
  		elif [[ $2 == -ip ]] && [ $# -eq 2 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1,5p | sort -u > $insipa/ipa.txt > /dev/null 2>&1
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -P $insipa > /dev/null 2>&1
  				i=1
  				for f in $insipa/*.ipa; do
  				mv "$f" $insipa/"$i.ipa" > /dev/null 2>&1; (( i++ ));
  				done
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/2.ipa" ]; then
  				appinst $insipa/2.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/3.ipa" ]; then
  				appinst $insipa/3.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/4.ipa" ]; then
  				appinst $insipa/4.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/5.ipa" ]; then
  				appinst $insipa/5.ipa > /dev/null 2>&1
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		elif [[ $2 == -ip || $2 == -v ]] && [[ $3 == -v || $3 == -ip ]] && [ $# -eq 3 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1,5p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -P $insipa
  				i=1
  				for f in $insipa/*.ipa; do
  				mv "$f" $insipa/"$i.ipa"; (( i++ ));
  				done
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa
  			fi
  			if [ -f "$insipa/2.ipa" ]; then
  				appinst $insipa/2.ipa
  			fi
  			if [ -f "$insipa/3.ipa" ]; then
  				appinst $insipa/3.ipa
  			fi
  			if [ -f "$insipa/4.ipa" ]; then
  				appinst $insipa/4.ipa
  			fi
  			if [ -f "$insipa/5.ipa" ]; then
  				appinst $insipa/5.ipa
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		fi
  break;
  ;;
  -ip) if [ $# -gt 1 ] && [[ $2 != -b && $2 != -v ]] && [[ $3 != -v && $3 != -b ]]; then
  			echo "please use -ip without url or with -b"
  			exit 1
  			elif [[ $2 == -b || $2 == -v ]] && [[ $3 != -v && $3 != -b ]] && [ $# -gt 2 ]; then
  			echo "please use -ip without url"
  			exit 2
  		elif [[ $2 == -b || $2 == -v ]] && [[ $3 == -b || $3 == -v ]] && [ $# -gt 3 ]; then
  			echo "please use -ip without url"
  			exit 3
  		fi
  		
  		if [ $# -eq 1 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -O $insipa/1.ipa > /dev/null 2>&1
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa > /dev/null 2>&1
  				echo "Done!"
  			fi
  			rm -r $insipa > /dev/null 2>&1
  			exit 0
  		elif [ $2 == -v ] && [ $# -eq 2 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -O $insipa/1.ipa
  				echo "Installing..."
  			if [ -f "/var/tmp/Insurlipa/1.ipa" ]; then
  				appinst $insipa/1.ipa
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		elif [ $2 == -b ] && [ $# -eq 2 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1,5p | sort -u > $insipa/ipa.txt > /dev/null 2>&1
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -P $insipa > /dev/null 2>&1
  				i=1
  				for f in $insipa/*.ipa; do
  				mv "$f" $insipa/"$i.ipa" > /dev/null 2>&1; (( i++ ));
  				done
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/2.ipa" ]; then
  				appinst $insipa/2.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/3.ipa" ]; then
  				appinst $insipa/3.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/4.ipa" ]; then
  				appinst $insipa/4.ipa > /dev/null 2>&1
  			fi
  			if [ -f "$insipa/5.ipa" ]; then
  				appinst $insipa/5.ipa > /dev/null 2>&1
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		elif [[ $2 == -b || $2 == -v ]] && [[ $3 == -v || $3 == -b ]] && [ $# -eq 3 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1,5p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -P $insipa
  				i=1
  				for f in $insipa/*.ipa; do
  				mv "$f" $insipa/"$i.ipa"; (( i++ ));
  				done
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa
  			fi
  			if [ -f "$insipa/2.ipa" ]; then
  				appinst $insipa/2.ipa
  			fi
  			if [ -f "$insipa/3.ipa" ]; then
  				appinst $insipa/3.ipa
  			fi
  			if [ -f "$insipa/4.ipa" ]; then
  				appinst $insipa/4.ipa
  			fi
  			if [ -f "$insipa/5.ipa" ]; then
  				appinst $insipa/5.ipa
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		fi
  break;
  ;;
  -v) if [ -z $2 ]; then
  			echo "please input url"
  			exit 1
  		elif [ $2 == -b ] && [ $# -eq 2 ]; then
  			echo "please input url"
  			exit 1
  		elif [[ $2 == -b && $3 != -ip ]] && [ $# -eq 3 ]; then
  			echo "please input more url"
  			exit 2
  		elif [[ $2 = -ip && $3 != -b ]] && [ $# -gt 2 ]; then
  			echo "please use -ip without url"
  			exit
  		elif [[ $2 == -ip || $3 == -ip ]] && [[ $2 == -b || $3 == -b ]] && [[ $# -gt 3 ]]; then
  			echo "please use -ip without url"
  			exit 3
  		elif [ $# -eq 3 ] && [[ $2 != -ip || $2 != -b ]] && [[ $3 != -b && $3 != -ip ]]; then
  			echo "please use bulk install"
  			exit 4
  		elif [ $2 == -r ]; then
  			while true; do
  				if [ ! -f "/Library/Insurl/coretweaks.txt" ]; then
  					echo "Lists not found, please re-install Insurl"
  					exit 7
  				else
  					cut=/Library/Insurl/coretweaks.txt
  					tweaks=/Library/Insurl/tweaks.txt
  					dpkg --get-selections | grep install | grep -v gsc. | sed 's/\s.*$//' > $tweaks
  					options=($(comm -13 $cut $tweaks))
  					PS3="Please select package to remove: "
  					select opt in "${options[@]}" "QUIT" ; do
  					if (( REPLY == 1 + ${#options[@]} )) ; then
  						rm $tweaks
  						exit 6
  					elif (( REPLY > 0 && REPLY <= ${#options[@]} )) ; then
  						echo "Uninstalling..."
  						dpkg -r "$opt"
  						apt-get autoremove -y > /dev/null 2>&1
  						uicache
  						echo "Done!"
  						rm $tweaks
  						exit 0
  					else
  						echo "try again"
  					fi
  					done
  				fi
  			done
  		exit 0
  		fi
  		
  		if [[ $2 == -b && $3 != -ip ]]; then
  			mkdir $insdebs
  			echo ${@:3:10} | tr ' ' '\n'>$insdebs/deb.txt
  			wget -i $insdebs/deb.txt -P $insdebs
  			echo "Installing..."
  			dpkg -iR --force-depends $insdebs
  			echo "Checking Dependencies..."
  			rm -r $insdebs
  			apt-get update
  			apt-get -f install -y
  			uicache
  			echo "Done!"
  			exit 0
  		elif  [[ $2 == -ip && $# -eq 2 ]]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -O $insipa/1.ipa
  				echo "Installing..."
  			if [[ -f "$insipa/1.ipa" ]]; then
  				appinst $insipa/1.ipa
  			fi
  			rm -r $insipa
  			exit 0
  		elif [[ $2 == -b && $3 == -ip ]] || [[ $2 == -ip && $3 == -b ]] && [ $# -eq 3 ]; then
  			mkdir $insipa
  			while [[ $ipa == '' ]]; do
  				read -p "Input Ipa Url: " ipa;done
  				echo -e "${ipa// /\\n}" | sed -n 1,5p | sort -u > $insipa/ipa.txt
  				echo "Downloading..."
  				wget -i $insipa/ipa.txt -P $insipa
  				i=1
  				for f in $insipa/*.ipa; do
  				mv "$f" $insipa/"$i.ipa"; (( i++ ));
  				done
  				echo "Installing..."
  			if [ -f "$insipa/1.ipa" ]; then
  				appinst $insipa/1.ipa
  			fi
  			if [ -f "$insipa/2.ipa" ]; then
  				appinst $insipa/2.ipa
  			fi
  			if [ -f "$insipa/3.ipa" ]; then
  				appinst $insipa/3.ipa
  			fi
  			if [ -f "$insipa/4.ipa" ]; then
  				appinst $insipa/4.ipa
  			fi
  			if [ -f "$insipa/5.ipa" ]; then
  				appinst $insipa/5.ipa
  			fi
  			echo "Done!"
  			rm -r $insipa
  			exit 0
  		else
  			echo "Downloading..."
  			mkdir $insdebs
  			echo $2>$insdebs/deb.txt
  			wget -i $insdebs/deb.txt -P $insdebs
  			echo "Installing..."
  			dpkg -iR --force-depends $insdebs
  			echo "Checking Dependencies..."
  			rm -r $insdebs
  			apt-get update > /dev/null 2>&1
  			apt-get -f install -y
  			uicache
  			echo "Done!"
  			exit 0
  		fi
  break;
  ;;
  *) echo "Invalid Options or use bulk install"
  	exit 33
  esac
  break;
done
exit 0
