SuperSify v0.60b

A Sify Broadband Client by InfernalProteus

Prerelease of version 0.60 - temporary workaround for login/ logout issues with Sify's new protocol

What is SuperSify?

SuperSify is a simple console based client which you can use to log into your Sify Broadband account. Currently, it exists only for Win32 systems. SuperSify is a standalone client and does not require Sify's Client to work.

If you don't know what Sify Broadband is, you shouldn't be here. Go away.

Features

Apart from logging you on, keeping you on, and logging you off; SuperSify doesn't do much else. The really cool part about it is, the really small memory footprint. As compared to Sify's official clients - it takes a maximum of around 80KB of Physical Memory. eighty kilobytes. Compare that to the 8 MB that you lose to the Win32 client and the 15 - 20 MB which you lose to the Java client, I'd say it's worth not having a GUI ... for now.

Console? aargh. How do we use this thing?

It's the simplest thing, really. SuperSify takes 11 switches, out of which only 2 are compulsory, here they are ...
-u = username
-p = password
-m = macaddress
-h = heartbeat enable/disable
-b = heartbeat interval
-l = logout
-k = keypress supression
Since version 0.60b
-a = keep alive
-c = keep open
-v = verbosity
-o = override login/logout URLs

Allrighty, here's an example. Suppose your username is "panduram" and my password is "bonehead". (All further doc assumes this, so memorize this until you can say it backwards in your sleep). Getting back on track, you can log on like this
supersify -u panduram -p bonehead
If the heartbeat is enabled for your connection, SuperSify will start "beating". You can quit anytime by typing in "quit" on the console. This will exit SuperSify without logging you out. If you type "logout", you will be logged out of Sify before SuperSify quits. You could also Ctrl+C SuperSify or close the console, though this is not recommended. This will leave you logged in as well.

Logout (-l):
You can quit the client without logging out (this happens if you disable heartbeat or you quit in any way after logging in - Ctrl+C or using quit). When you need to logout, invoke SuperSify like so.
supersify -u panduram -p bonehead -l
Note: A session ID is assigned to you when you contact the server. If this is the ID used for logging in - it must consequently be used for logging out. SuperSify will save this ID to a file (supersify.sid) for it's own use.

You don't really need the next eight switches, SuperSify will work just fine without them; read on if you're interested

Mac Address (-m):
I know for a fact that Sify transmits your mac address as part of the login string. I also know that currently they don't seem to give a rat's ass about what the address actually IS, or whether a value is even transmitted. I do have routine in there that sends the mac address of one of your network adapters. If you have more than one card - this might not be the actual mac address of the card through which you are connected to Sify. But this is how it is in the other Sify clients as well, so WTH anyway. The routine is slightly messy and I haven't found a better alternative, it also takes the memory consumed up to 80KB (otherwise it's about 55-60KB). So, you just might want to supply your own address - actually pick up the address from your card or anything really. Say you want to transmit "hero" as your mac address ... this is how you can log in
supersify -u panduram -p bonehead -m hero

Hearbeat (-h):
As far as I know, the hearbeat serves one prime purpose ... to tell Sify you're still there and it should keep your connection alive. This is useful for people who have time based connections, in case you forget to logout, Sify will.
For the rest of us, with unlimited connections, this is a nuisance actually. You can call up customer care and ask them to disable the heartbeat thingy for your account. Apparently disabling the hearbeat is not an atomic process, because my heartbeat is supposed to be disabled (I called and asked), but the validation data says that it is enabled (and therefore required to keep my connection alive).
What the hearbeat switch does is this.
supersify -u panduram -p bonehead -h disable
is how you can disable your (connection's) heartbeat.
Note: Disabling the hearbeat will cause the SuperSify to terminate immediately after logging you in, there is no sense in keeping it running. You can try this and see if your connection remains alive for more than 30 minutes. If it does then you're home free. If this isn't working for you - either keep the heartbeat on, or call Sify and ask them to disable it.

Heartbeat Interval (-b):
By default, I think the heartbeat interval is 300 seconds. This is a value that SuperSify receives from the Sify server. If for some reason you want to increase or decrease the frequency of your hearbeat, you can use this argument, the value is in seconds.
supersify -u panduram -p bonehead -b 60
is how the hearbeat is sent out every 60 seconds instead of the usual 300. If you find your connection dying frequently, you could try reducing the beat interval from the usual 5 minutes.

Keypress supression (-k):
By default SuperSify will login / logout and then wait for you to press a key before exiting (if the heartbeat is disabled). If you use this flag, SuperSify exit without waiting for you to press a key.
SuperSify will always wait for a keypress if a failure in either the login or logout process occured, even if -k has been specified. This is so that you can read the error message on the console and you are aware that something went wrong

Options since v0.60b

Keep Alive (-a):
supersify -u panduram -p bonehead -a 300/100
This will cause SuperSify to check if you are logged in every 300 seconds. If you are, it does nothing, if not it will attempt to log you in immediately. If it fails to log you in, it will retry in 100 seconds.

Keep Open (-c):
Use this flag if you want SuperSify to remain active even if the heartbeat and keep alive are disabled. In such a case, if this flag is not specified, SuperSify will exit immediately after logging you on/off.

Verbosity (-v):
Use this flag with an integer argument, ranging 0-2. supersify -u panduram -p bonehead -v 2

Override URLs (-o):
Sify has recently changed it's login process. Until we figure out how this works, you might need to specify this flag which forces SuperSify to use the old login page. This might or might not work, depending on how far along Sify is the crossover to the the new protocol in your sector/zone/whatever. Or maybe it will work forever, though I doubt it.
Bottom Line: If you see a "Receive data format error" message or SuperSify has stopped working for you suddenly, try using this flag.
supersify -u panduram -p bonehead -o

Download & Installation

Disclaimer: I hereby disclaim myself.
On a more serious note, I am not affiliated with Sify Ltd. in any way. Also, this software was written with the best intent; but Sushubh, SEO4India and I are not responsible for any damage or loss you may suffer as a result of using this software. Sushubh and SEO4India only provide hosting for SuperSify - Thanks a ton Sushubh :)

Note to Sify:
Get real and write a decent client. Some of the "features" of your client are ludicrous.
I am not doing this to malign sify in any way. If you have a problem with SuperSify, let me know.

No fancy installer is required atm, so I just have a single zip file.
Download v0.60b here (125 KB)
- Please make sure you have read the disclaimer above. Unzip that anywhere, fire up the console and you're ready to go.
Source for v0.52 (29 KB), see COMPILING for compilation instructions.
I suggest creating a shortcut to supersify on your desktop. Edit the shortcut properties and append the arguments to the contents of the Target box.

For the uninitiated - here is a rundown of the process
Of course, you could fire up the console and invoke supersify manually. Who needs Windows and all it's cruddy shortcuts and stuff, eh? I have tested SuperSify on Windows 98, ME and XP and it should work Win 95 onwards. Please minimize the console window after it shows up. This has a bearing on the Physical Memory used. You may subsequently maximize it and do whatever you please. See the F.A.Q for details.

If you have a firewall installed, please make sure SuperSify has the necessary permissions.
See the Changelog if you want older versions.

F.A.Q

Changelog

Current - SuperSify v0.60b SuperSify v0.52 SuperSify v0.5

Contact

Mail: infernalproteus at gmail dot com
Website: http://broadbandforum.in/sify/supersify/
You can also look for support threads on the SEO4India forums, this thread in particular.
Last modified: 18th December 2005; 0403hrs IST
eXTReMe Tracker