10.10
Semplice script che prendere un file di links ed2k (separati da “andata a capo”) e li inserisce uno a uno in aMule (corrispettivo di eMule su linux). Può essere usato sia con aMule installato localmente che da un client remoto. Per l’escuzione dello script è necessario il comando amulecmd, presente nel pacchetto amule-utils (in ubuntu).
Script
#!/bin/bash
WORKING_DIR=$(dirname $0)
# -----------------------------------------------------
# UTIL FUNCTIONS
print_verbose()
{
if [[ -n $VERBOSE ]]
then
printf "$1\n"
fi
}
# -----------------------------------------------------
# PARSING CMD LINE OPTIONS
usage()
{
printf "usage: $0 [-d|v] [-p params] ed2k_file\n"
printf "\n"
printf "Add ed2k link stored in a file to aMule.\n"
printf "\n"
printf "OPTIONS:\n"
printf " -h Show this message\n"
printf " -d Delete file at the end\n"
printf " -v Verbose\n"
printf " -p params Amule additional params\n"
printf "\n"
}
DELETE_FILE=
VERBOSE=
AMULE_PARAMS=
ED2K_FILE=
while getopts “hdvp:” OPTION
do
case $OPTION in
h)
usage
exit 1
;;
d)
DELETE_FILE=1
;;
v)
VERBOSE=1
;;
p)
AMULE_PARAMS=$OPTARG
;;
?)
usage
exit 1
;;
esac
done
eval ED2K_FILE=\$$OPTIND
# Some check
if [[ -z $ED2K_FILE ]]
then
printf "You must select a file\n"
usage
exit 1
fi
if [[ ! -e $ED2K_FILE ]]
then
printf "$ED2K_FILE: File don't exist!\n"
exit 1
fi
i=0
# Read file ED2K_FILE line by line
while read line
do
executed_command="amulecmd -c \"add $line\""
# Add some optional parameters
test "$AMULE_PARAMS" && executed_command="$executed_command $AMULE_PARAMS"
test ! $VERBOSE && executed_command="$executed_command &>/dev/null"
if eval $executed_command
then
print_verbose "Added: $line\n"
(( i += 1 ))
else
printf "Error on exuction: '$executed_command'!\n"
exit 1
fi
done < $ED2K_FILE
print_verbose "Added $i ed2k link from file $ED2K_FILE\n"
# Remove $ED2K_FILE
if [[ $DELETE_FILE ]]
then
if rm $ED2K_FILE
then
print_verbose "$ED2K_FILE: File eliminato correttamente\n"
else
printf "$ED2K_FILE: Impossibile cancellare il file!\n"
exit 1
fi
fi
exit 0
Vi consiglio di copiare lo script in /usr/local/bin o cmq in una delle directory indicate nella variabile $PATH e modificare i permessi (es. chmod 775 addE2dk.sh) come meglio credete. In questo modo lo avrete sempre a disposizione come un qualsiasi comando linux.
addE2dk.sh [-d|v] [-p params] ed2k_file| -d | Cancella il file (ed2k_file) alla fine del processo |
| -v | Abilita la modalità verbose, visualizzando anche l’output di amulecmd |
| -p params | Comandi per amulecmd (es. -P passwd, -h host, etc…) |
Esempio
addE2dk.sh -dv -p "-P mypasswd -h muletto" ed2k_file
Con il flag -d cancelliamo il file al termine dell’esecuzione, -v abilitiamo la modalità verbose visualizzando anche l’output di amulecmd, mentre con -p ci colleghiamo in remoto ad un demone aMule sull’host muletto con la password mypasswd.
L’opzione -p serve per passare parametri ad amulecmd, nell’esempio -P e -h. E’ necessario racchiudere i comandi all’interno di doppi apici.
| ![]() |

No Comment.
Add Your Comment