The program is a backup program that backs up to a secure ftp server on the internet.
* The client user will need to be able to select files and folders (calculate the total size of selected files).
* No Server side work is required. The SFTP is a standard SFTP server.
* The file/folder selection saved to a backup set file (just like Microsoft Windows 2000 Server Backup).
* The backup file needs to either compress (zip or rar preferred but tar/gz ok also so long as the file can be opened in a Windows Application, eg: WinZip / WinRar) all the files/folders into 1 single file on the sftp server OR (user can select which method) compress every file before it is sent to the sftp server and these single files are uploaded to a single directory for that backup. A catalogue of the files/folders backed up is needed and can be stored either locally or remotely or preferably in both locations & the program must keep track of the backup sets.
* The program should support SSLv3 & TLSv1 to encrypt the FTP command & data channels. SSLv2 must be disabled & TLSv1 must be supported.
* The program will need to be able to be run in an unattended / auto mode. This functionality can be added later in this project once functionality is proven.
Eg: The program is executed with command-line parameters (ie: -auto -script [url removed, login to view]) which will tell the program to backup the files in the [url removed, login to view] file automatically to the predetermined SFTP server.
* If user's backup is going to exceed the amount of free space on the ftp server, the user needs to be notified before the backup process starts? They are advised that there is not enough free storage left & to delete an old backup set from the ftp server? This can be done by reading a text file on the sftp server. This file is read only to the user.
* The backup program must calculate the amount of free space available on the ftp server and display this in the status bar? If the size of the backup set exceeds the free storage available on the ftp server, the user will need some feedback before the backup process begins.
* The restore screen must display each backup set (the catalogue) & the user must be able to view what files are in the backup set (catalogue).
* The user must be able to delete old backup sets on the ftp server also (eg from the restore screen would be best).
Also the program needs to be able to restore.
Eg: the user selects the date of the backup and opens the backup catalogue. The user will then select files/folders they want to restore & restore options, (eg: overwrite, restore to different location) and start the restore progress.
User feedback is required during the backup/restore process so the user knows the amount of data sent/received & the time it will take to either do the backup or restore.
Program can be written in any language so long as it works on Windows 2000, XP & 2003 & Vista platforms.
The S-FTP's hostname/IP address will be hard-coded in the program. The program must handle accepting the SSL certificate connection initially then on future connections check & accept the certificate (if it's the same) without pop-ups' the server certificate. If the cert is different, it must display a pop-up requesting the user confirm the new certificate.
* I can provide some example screen's of what I would like the application to look like.
* I will provide a test sftp account for the developer to test the sftp connection, etc.
I will put up to half the full payment into escrow upon a developer accepting the project. Once the developer has provided an alpha or beta version where a user can select files/folders and can upload I will put full payment into escrow. I will release up to half payment if the source code is provided as good faith to the developer for a working alpha / beta version/s.
I look forward to working with you.
More details (example screen layout): [url removed, login to view]