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..
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...) 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
