autovodafone versione 0.3: esecuzione senza privilegi di root e riduzione del numero di file temporanei

Creato il 25 novembre 2011 da Nightfly

Dopo le versioni 0.1 e 0.2 di autovodafone, ecco la versione 0.3 uteriormente ottimizzata rispetto alle precedenti:

#!/bin/bash

#File di log
FILELOG=/var/log/autovodafone

data=$(date)
echo "Inserisci il destinatario:"
read destinatario
echo "Inserisci l'oggetto del messaggio:"
read oggetto
echo "Inserisci il testo del messaggio:"
read testo
echo "$testo" > text
cat text | sed -f urlencoding.sed > encoded
enc=$(cat encoded)
curl -c cookiev.txt -F "username=vostrousername" -F "password=vostrapassword" https://www.vodafone.it/190/trilogy/jsp/login.do 2&>1
curl -b cookiev.txt --data "recipient=$destinatario&subjecttosend=$oggetto&SmilName=&TextName=$enc&ImageName=&AudioName=&nextPage=/web/servletresult.html" http://mmsviaweb.net.vodafoneomnitel.it/WebComposer/web/elaborapop.jsp | grep -o -E '"s*(.*)>(.*)"' > out
sed -n -e s/"//g -e "s/ /+/g" -e "2p" out > out1
url="http://mmsviaweb.net.vodafoneomnitel.it"
url1=$(cat out1)
url2=$(echo "$url$url1")
curl -b cookiev.txt $url2 > result
if grep -q "SendMessage=1" result;then
echo "$data: messaggio inviato" >> $FILELOG
else
echo "$data: il messaggio non e' stato inviato" >> $FILELOG
fi
rm out*
rm cookiev.txt
rm text
rm encoded
rm result
exit 0

In particolare, mediante il comando:

sed -n -e s/"//g -e "s/ /+/g" -e "2p" out > out1

ho ridotto il numero di file temporanei, grazie all'utilizzo ottimizzato di sed (espressioni multiple).

Per poter eseguire lo script senza i privilegi di root, dovete prima identificare il proprietario dei seguenti file:

autovodafone

urlencoding.sed

/var/log/autovodafone

e nel caso in cui ce ne fosse bisogno, potete modificare il loro owner mediante il comando:

nightfly@nightbox:~$ sudo chwon vostrouser:vostrogruppo nomefile

A questo punto l'esecuzione dello script senza privilegi di root dovrebbe filare liscia.

Bye.


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :