Find Jobs
Hire Freelancers

C++ remote backup program

$100-1000 USD

Cancelled
Posted over 16 years ago

$100-1000 USD

Paid on delivery
We are looking for expert C++/PHP programmers to complete a backup solution that works on windows and linux There is no GUI. We need a command line interface that has the following options: [login to view URL] -upload -local local-filename -remote remote-filename -username user -password pwd [-waitForCompletion false] e.g., [login to view URL] -upload -local c:\works\[login to view URL] -remote ftp://[login to view URL] -username joe -password secret [login to view URL] -delete -file remote-filename -username user -password pwd [login to view URL] -download -remote remote-filename -local local-filename [-username user -password pwd] [-waitForCompletion false] More important than the command line interface we need a library that can perform these functions correctly. Assume that the data is uploaded to a remote server that runs php by default. Some server side programming is also required (see below). There are three diffulties: 1. The file should be divided into 128KB chunks and chunks that are already uploaded should not be uploaded again. For example, uploading the same file twice should complete very quickly. This requires storing SHA1 of the uploaded chunks locally and dedicating a remote folder for storing the chunks. 2. The upload/download should occur in the background (we need you to use a queue like an email outbox). So upload should return immediately unless instructed otherwise [-waitForCompletion flag]. We need you to use sqlite to store information about files that are being uploaded and downloaded. If the outbox queue is full, an error should be returned. 3. The same library can be used on multiple computers concurrently. To do that we dont want to use locking but an optimistic solution. This requires some php programming (details will be provided) on our server. ## Deliverables Deliverables: 1. a .lib (debug / release) versions 2. a .h 3. an executable for windows and linux 4. required server side changes (php) 5. documentation No installer is necessary as the main deliverable will be the library and executable. The solution needs to use plain C++ and compiled on windows using visual studio 2003 and 2005. There should be no warnings or error messages. Same program should also compile correctly using gcc (windows/linux). Background processing is the only place where OS depending code can be used. The program should be able to upload to our server (php) and also to an ftp server and to amazon s3. The developer should be familiar with source control and bug management (svn and mantis). A large number of libraries will be provided and there is some integration effort. A regression tester (a batch file is fine) that can be used to test concurrency issues needs to be provided. We expect the code size to be small. Most of the time would be spent on ensuring the correctness of the solution. 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform PHP 5.x and C++ (Windows / linux)
Project ID: 3282875

About the project

16 proposals
Remote project
Active 16 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
16 freelancers are bidding on average $675 USD for this job
User Avatar
See private message.
$850 USD in 10 days
5.0 (6 reviews)
5.9
5.9
User Avatar
See private message.
$850 USD in 10 days
5.0 (55 reviews)
5.7
5.7
User Avatar
See private message.
$850 USD in 10 days
3.8 (6 reviews)
5.6
5.6
User Avatar
See private message.
$850 USD in 10 days
4.8 (14 reviews)
5.3
5.3
User Avatar
See private message.
$680 USD in 10 days
4.7 (9 reviews)
4.5
4.5
User Avatar
See private message.
$680 USD in 10 days
4.8 (11 reviews)
4.2
4.2
User Avatar
See private message.
$85 USD in 10 days
5.0 (8 reviews)
3.7
3.7
User Avatar
See private message.
$850 USD in 10 days
4.7 (8 reviews)
1.6
1.6
User Avatar
See private message.
$722.50 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
See private message.
$850 USD in 10 days
0.0 (1 review)
0.0
0.0
User Avatar
See private message.
$595 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
See private message.
$425 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
See private message.
$425 USD in 10 days
0.0 (1 review)
0.0
0.0
User Avatar
See private message.
$850 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
See private message.
$680 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
See private message.
$552.50 USD in 10 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
United States
5.0
334
Member since Jan 13, 2007

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.