This repository has been archived by the owner on Apr 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
meetsms
executable file
·95 lines (80 loc) · 2.38 KB
/
meetsms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash
set -e
username="NULL"
receiver="NULL"
message="NULL"
#remove old meetcookies
if [ -f /tmp/meetcookies ]
then
rm -f /tmp/meet*
fi
#help section
function usage {
echo -e "Usage:
./meetsms -u username -r receiver's_number -m \"message\" \n
OR
./meetsms -u username -r receiver's_number -f filename"
}
function send {
curl -c /tmp/meetcookies -s --request POST 'http://www.meet.net.np/meet/action/login' -d "username=$username" -d "password=$password" -d "loginPage=true" -d "loginbut=login"
curl -b /tmp/meetcookies -s --request POST 'http://www.meet.net.np/meet/mod/sms/actions/send.php' -d "recipient=$receiver" -d "message=$message" -d "sendbutton=Send Now" > /tmp/meetlog
curl -b /tmp/meetcookies -s --request GET 'http://www.meet.net.np/meet/sms/sms' > /tmp/meetnumber
}
while getopts ":u:r:m:f:h" OPT
do
case $OPT in
u)
username=$OPTARG;;
r)
receiver=$OPTARG;;
m)
message=$OPTARG;
charnumber=`echo $message | wc -c`;
if [ "$charnumber" -gt 304 ]
then
echo "Maximum number of allowed character is 304. Your message contains $charnumber characters. Please shorten it."
exit
fi
;;
f)
filename=$OPTARG;
charnumber=`cat $filename | wc -c`;
if [ "$charnumber" -gt 304 ]
then
echo "Maximun number of allowed characters is 304. Your message contains $charnumber characters. Please shorten it."
exit
fi
message=$(cat $filename);;
h)
usage;
exit;;
\?)
echo "Invalid Option. -$OPTARG" >&2;
usage
exit;;
:)
echo "Missing option arguements for -$OPTARG" >&2;
exit;;
*)
echo "Unimplemented option: -$OPTARG" >&2;
exit;;
esac
done
shift $((OPTIND-1))
#Check if all parameters are fulfilled
if [ "$username" == "NULL" ] || [ "$receiver" == "NULL" ] || [ "$message" == "NULL" ]
then
echo "All three of -u, -r & -m or -f are required. Check syntax:"
usage
exit
fi
echo -n "Password for $username: "
read -s password
echo
echo "Sending...."
send
grep -q -o SUCCESS /tmp/meetlog && { echo "SMS successfully sent. :)"; } || { echo -e "SMS sending failed. :( \nPossible reasons: \n\t1) Incorrect password, \n\t2) Free SMS Limit Reached, \n\t3) Network Problem, \n\t4) Incorrect Receiver's Mobile Number."; rm -rf /tmp/meet*; exit; }
sent=`cat /tmp/meetnumber | grep Quota | awk '{print $4}' | grep -o -P '(?<=:).*(?=/)'`
echo -e "Number of sms sent today: $sent \nNumer of sms left: $((10-$sent))"
#Delete cookies and stuffs
rm -rf /tmp/meet*