Download Script con Gui

 

 

Questo è uno script per il download che utilizza wget e zenity,  quindi crea una finestra di dialogo dove inserire il link da scaricare, inoltre supporta il resume nel caso si annullasse la procedura di download.

 

DOWNLOAD() {
rand="$RANDOM `date`"
pipe="/tmp/pipe.`echo '$rand' | md5sum | tr -d ' -'`"
mkfifo $pipe
wget -c $1 2>&1 | while read data;do
if [ "`echo $data | grep '^Length:'`" ]; then
total_size=`echo $data | grep "^Length:" | sed 's/.*\((.*)\).*/\1/' | tr -d '()'`
fi
if [ "`echo $data | grep '[0-9]*%' `" ];then
percent=`echo $data | grep -o "[0-9]*%" | tr -d '%'`
current=`echo $data | grep "[0-9]*%" | sed 's/\([0-9BKMG.]\+\).*/\1/' `
speed=`echo $data | grep "[0-9]*%" | sed 's/.*\(% [0-9BKMG.]\+\).*/\1/' | tr -d ' %'`
remain=`echo $data | grep -o "[0-9A-Za-z]*$" `
echo $percent
echo "#Scaricamento da $1\n$current of $total_size ($percent%)\nVelocità : $speed/Sec\nTempo Stimato : $remain"
fi
done > $pipe &

wget_info=`ps ax |grep "wget.*$1" |awk '{print $1"|"$2}'`
wget_pid=`echo $wget_info|cut -d'|' -f1 `

zenity --progress --auto-close --text="Connessione a  $1\n\n\n" --width="350" --title="Scaricamento"< $pipe
if [ "`ps -A |grep "$wget_pid"`" ];then
kill $wget_pid
fi
rm -f $pipe
}

if [ $1 ];then
DOWNLOAD "$1"
else
dllink=$(zenity --entry --text "Inserire link da scaricare :" --width="350" --entry-text "" --title="Download")
if [ $dllink ];then
DOWNLOAD "$dllink"
fi
fi

 

salvare come download.sh

$ chmod +x download.sh

$ ./download.sh

nel caso di errori di formattazione si può scaricare da questo link.

 

enjoy ;)