Carbonite Clone Birthday Surprise!

My mom's birthday is tomorrow, and I've always wanted to buy her a subscription to Carbonite (one of the more popular back-up-your-files-to-the-cloud services). She's a teacher and has amassed quite a large number of school documents that she prints copies of year to year. So I went to the Carbonite site and was devastated when I found the yearly cost to be $60. Far too steep for my limited income! Of course the only solution was to make a Carbonite Clone.

CarboniteClone is a very simple program. It opens a system tray icon and checks every 30 seconds or so whether any files in a user-specified root directory have changed. If so it uploads these files to an offsite FTP server (also user-specified).  If you put a shortcut in the .EXE to the startup folder in your programs menu it will, of course, load at startup. I used FTPLib as an internal FTP client (so assume I'm releasing this under whatever license fits best with FTPLib). Also note that this is windows only (sorry, but it was just a quickie!)

The tray icon has 3 states indicating that it's in standby, transferring files, or experiencing a connection problem. When transferring files, the icon's tooltip displays a percent complete.

 

There are two text files that concern the user:

  • settings.txt (contains 4 lines for "local root directory", "FTP hostname", "username", and "password")
  • logfile.txt (self-explanatory, but fun to look at)

Please visit http://code.google.com/p/carboniteclone/ for the source code (C++) or a zipped distributable that you can put in Program Files or wherever. Keep in mind that I put this together in a day and the code is extremely messy and completely uncommented.

Hopefully Mom likes the gift!