Auto-speed Amule

Questo script per linux permette di variare la velocità di upload di Amule dinamicamente, in base al carico sulla rete tramite il tempo di risposta ottenuto pingando Google.. è grezzo da morire ma funziona.. :D

Necessita di amule-utils.

ps: la formattazione mi sega parte del testo.. copia e incolla per vedere tutto bene.. ;)

#!/bin/bash
ping=150    #ping desiderato al fine di non congestionare la rete
up=30        #valore di up iniziale
counter=0    #variabile contatore.
while [ i=i ]
do
a=$(ping -c1 www.google.it | cut -d '=' -f4 | cut -d '.' -f1 | tr -d a-z | grep -v PING | grep -v - | grep -v ,)
sleep 1

if [ "$up" -lt "5" ]    #decido che il valore minimo di up impostabile è di 5kb/s
then
up=5
fi

if [ "$a" -gt "$ping" ]    #se il ping ottenuto è maggiore del ping desiderato, incremento il contatore altrimenti lo decremento.
then
let counter=counter+1
else
let counter=counter-1
fi
if [ "$counter" -gt "3" ] #se il contatore raggiunge il valore 3 limito la banda in up di 2kb/s (ovvero ci vogliono 3 ping superiori a 150ms per abbassare l'up). questo per far si che il ping rilevato sia più veritiero.
then
let up=up-2
amulecmd -c "set bwlimit up $up"
amulecmd -c "set bwlimit down -1" #setto banda in down infinita in quanto amule regola il down in base all'up nel caso questo diventi troppo basso.. (è una soluzione abbastanza grezza... :D )
counter=0
fi
if [ "$counter" -lt "-3" ]
then
let up=up+1
amulecmd -c "set bwlimit up $up"
amulecmd -c "set bwlimit down -1"
counter=0
fi

#output sulla shell
echo "ping=$a"
echo "up=$up"
echo "counter=$counter"

done
exit 0

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

 
Iscriviti

Get every new post delivered to your Inbox.