Many South African Vodacom cell phone users are stuck with a horrid piece of website known as Vodacom4Me. It uses frames and Javascript to ensure some of the slowest load times you can imagine and has a session cookie that expires rather too quickly, leaving you watching page loads most of your day. In addition it is often buggy. The reason many people bear with this awful service is that it lets you send 20 free sms (text) messages a day.
A long time ago this service used to be free and open to anyone, back then we had a cool perl script written by our resident perl guru, Jonathan Hitchcock. However this service soon changed to a login based service and I released a modification of his script. The web team at vodacom then decided to bludgeon the page a bit more and my last attempt has sat idle and not-working.
However, after some considerable effort, I present the new and improved vodasms.
This version retains many of the cool features of the last two, such as a phonebook and logging, but adds a configuration file, better packaging and the ability to create your own time saving vodacom4me forms.
If you would like to get hold of this, download the package from here, extract it, and read the (fairly detailed) README file. Windows users can use it too, with ActivePerl, I haven't tested it though. From extraction to running, it shouldn't take more than 5 minutes to configure.
This essentially lets you send an sms from the command line by typing lines like:
vodasms 0761234567 hello
vodasms Dominic "hello"
If you open the send page in another window/tab, then login via the login page and close it once it starts redirecting you to the horrors of vodacom4me. Next switch to your send page and fill in the number and message and click send. Away it works. I essentially used the WWW::Mechanize modules to do the same thing. It isn't the most elegant of solutions, but after trying to make my perl bot fake entire pages written in Javascript (seriously, no HTML, all JavaScript) I lost it and went for the easy solution.
On the up side, it does provide a neat decoupled intermediary, where you can modify the forms to handle changes they make to vodacom4me, without too much difficulty.
UPDATE: Two fixes were just added. The phonebook search was iterating through the entire phonebook instead of stopping on the first found entry. Also 076 numbers are now supported. I updated the readme to intruct people to send me an sms when they get it working. I like getting sms'es.
UPDATE 21 April 2006: The benefits of the form decoupling in action: Vodacom changed their login form to use SSL, this required a simple change of the HTML instead of the perl script. Also I have a new cell phone number, the example phone book has been updated so that you can all sms me! The package is up at the same place.
Barry Irwin

Schneier on Security: Adi Shamir's Cube Attacks
0 Trackbacks