Temat: smstools3 web gui strona www do wysyłania i odbierania smsów
Mając chwilkę czasu na potrzeby własne przerobiłem skrypt Cezarego wysyłający sms-y przez www z wykorzystaniem gnokii (które nie kompiluje się w lede) tak aby wysyłał on sms-y przez www ale wykorzystując smstools3.
Więc po kolei:
Tworzymy plik HTML o nazwie sms.html który będzie uruchomiał skrypt sms.sh w w podkatalogu cgi-bin.
# touch /www/sms.htmlO następującej treści.
#!/bin/sh
echo "Content-type: text/html"
echo ""
echo "
<html>
<style type=\"text/css\">
#centered {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 50%;
height: 80%;
margin: auto;
text-align: center;
}
.label {
text-align: left;
}
.text {
width: 100%;
}
</style>
<head>
<title>SMS</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
</head>
<body>
"
if [ "$REQUEST_METHOD" = POST ]; then
read -t 3 QUERY_STRING
eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}')
action=`uhttpd -d $action`
tel=`uhttpd -d $msisdn`
msg=`uhttpd -d $msg`
nazwa=`uhttpd -d $nazwa`
else
action=""
tel=""
msg=""
nazwa=""
fi
echo "<div id=centered>"
case "$action" in
send)
echo "To: $tel" > /tmp/sms
echo "" >> /tmp/sms
echo "$msg" >> /tmp/sms
R=$?
if [ $R -eq 0 ]; then
echo "Wiadomosc sms zostala wyslana do $tel <br />"
else
echo "Wystapil problem z wyslaniem wiadomosci!<br />"
fi
data=`date +"%Y-%m-%d-%H:%M:%S"`
echo $data" "$tel" msg:"$msg >> /tmp/sendsms.txt
mv /tmp/sms /var/spool/sms/outgoing
;;
delete)
rm $nazwa
echo " Wiadomość zostala usunieta !<br />"
;;
esac
echo "
<form method=\"post\">
<input type=\"hidden\" name=\"action\" id=\"action\" value=\"send\">
<div class=label>Numer telefonu: (+48 numer telefonu)</div><input name=\"msisdn\" class=text><br />
<div class=label>Tresc wiadomosci:</div><textarea name=\"msg\" class=text></textarea><br /><br />
<input type=\"submit\" name=\"submit\" value=\"Wyslij wiadomosc sms\" text-align=center>
</form>
<hr />
"
for i in /tmp/spool/sms/incoming/*; do
#echo "plik $i
nadawca=`grep "From:" $plik $i | cut -d' ' -f2`
wyslano=`grep "Sent:" $plik $i| cut -d' ' -f2,3`
odebrano=`grep "Received:" $plik $i | cut -d' ' -f2,3`
msg=`tail -1 $plik $i`
echo "Nadawca: "$nadawca" <br /><br />
"Wyslano: "$wyslano" "Odebrano: "$odebrano"<br /><br />
" "$msg <br /><br />"
echo "
<form method=\"post\">
<input type=\"hidden\" name=\"action\" id=\"action\" value=\"delete\">
<input type=\"hidden\" name=\"nazwa\" value=\"$i\">
<input type=\"submit\" name=\"submit\" value=\"Usun wiadomosc sms\" text-align=center>
</form>
<hr />
"
echo "<br />"
done
echo "</pre>
</div>
</body>
</html>"Wchodzimy na stronę www
https://192.168.1.1/sms.htmlI możemy wysyłać sms-y.
Wszystkie wysłane sms-y zapisują się w pliku sendsms.txt który znajduje się w
/tmp/sendsms.txtMoże komuś się przyda ![]()