I need an application that will continuously monitor one or more directories on a PC, and at set intervals automatically encrypt using symmetric-key encryption and upload new files to an FTP site. In most cases these files will be digital voice files in .wav, .dss or other audio format that have been uploaded from a digital handheld voice recorder, but the program should be able to handle any type of file. In addition to the automated function, the program should allow users to manually initiate an encryption/upload cycle.
The symmetric-key encryption feature is very important. When the program is first initiated, users should be able to input an encryption key phrase which will subsequently be used to encrypt all files until or unless it is changed. The files will be downloaded from the FTP server and opened using the key phrase, so I'm assuming the program must save the files in .exe or some other format that can be executed on the recipient's end. The program should create names for the encrypted files based on their original file names with the appropriate file extension added.
The application should have a clean GUI interface that will allow users to input encryption key information as well as FTP log-in info, target directory info, upload interval info, Internet connection info, etc. The program should be able to run in the background and perform its operations transparently.
One scenario that should be addressed is the possibility that the program may try to upload files at the same time that new files are being saved to the target directory. Also, the program would have to be able to actually initiate a dial-up or broadband Internet connection in cases where there is not an active Internet connection already available, and have the ability to display error messages in case a good connection could not be made, or in case the upload process was unexpectedly interrupted, etc.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.