Develop API for Windows Vista, XP and 2000 (W98 and NT desirable)

Cancelled Posted Apr 10, 2009 Paid on delivery
Cancelled Paid on delivery

For better readiability, download the PDF

This project is ideal for those who have worked with peer - peer file sharing applications with Linux servers providing backend services, secure connections and data encryption.

At the end:

· You will provide full source code and documentation so my developer can understand and support the code.

· Intellectual property passes to me.

If you want the job, then you must show you pay attention to details. Don't bid if you don't have the required experience:

· Security issues

· Dealing with secure connections and encryption

· Developing Win API

· File sharing

· File compression

Payment in milestones, through escrow.

Below is an overview of what I want. I have a good idea of how it should work. I want someone who can work with me to get the best design.

Windows API - Main Features:

· Security is a BIG issue. Encryption used MUST be strong.

· Multi-lingual. All messages, error messages, displayed text and prompts must cater for multiple languages, including support for Asian languages.

· Create Private and Public set of keys

· Establish partnerships with other users (sending requests and acceptance / rejection).

· Exchange keys between PC - Server. Partner keys exchanged via intermediary servers.

· Manage Private / Public Keys (client will have public keys belonging to servers and many partners).

· Connect to a Server and or another PC.

· ALL connections between PC - Server and PC - PC must be secure.

· Authentication: PC - Server (Linux), PC - PC

· Process .XML files to determine which task needs to be performed.

· Compress / Decompress files and folders.

· Encrypt / Decrypt files incorporating Private / Public key pairs

· Upload / download files from a Windows client to one of a group of Linux servers

· Upload / download files from a Windows PC to another Windows PC (as in peer - peer file sharing)

· Size of files can be large (10GB+)

· Copies of the uploaded and downloaded messages and files are saved in the local database or in part as files.

· Task Manager. Probably run as a Windows service. Lists all jobs in the job queue. It then starts and manages processes, listed above (compress / decompress, encrypt, decrypt, upload, download etc..).

· Multi-threading. Multiple jobs of the same type may be queued and running at any one time.

· Task Priority. All jobs need to run at low / lower priority to prevent impact on PC performance. May be the task priority could be set in the .INI file.

· Job Monitor. When the different jobs / tasks run, they update their progress in the job queue. The Job monitor can then display every queued job and how far it has progressed. The display will include job details, graphical progress bar, start time, elapsed time and approximate time remaining for each active job. The job monitor may be started and closed down or minimised to the system tray. Some jobs may be run in silent mode i.e. not shown in the Job Monitor.

· Data Reads - Queries. Approximately 12 database read functions that return different table data as objects. These include record sets, single record, text file stored in a record or binary files (compressed data) saved in the record or as a separate file on disk.

· Data Writes. Create (fields include text, text files and binary data), Update, Delete (some records may be protected and can not be deleted) single and multiple records.

· Listener / Server (Windows PC).

1. This will be listening for a secure connection from another PC.

2. Both PCs will have the other PC's public keys.

3. Both PCs will connect to the same or a different Linux server.

4. Each PC knows which server the other PC connects to and can get the other PC's IP address.

5. The connection method should be able to negotiate firewalls (i.e. use UDP hole punching or similar).

6. File transfer is mediated by the sending PC's server. That is the PC has to get 'permission' from its server before transferring messages and files.

7. After completion, the sending PC reports back to its server and gets a transaction completion 'receipt' (binary encrypted file) which is saved in the local database.

The system data store:

· Will be made up of a central database (probably MS Access but you must cater for MS SQL desktop, MySQL and MS SQL Server)

· Will also have number of sub-folders containing various files.

· The database has a messages table for saving text / html messages.

· Small attachment files (size limit set in .INI file) are stored in the messages table in the database and larger files saved separately within sub-folders.

Linux Server with MySQL database:

This is for testing the above Windows API. The Linux and Windows API must be able to demonstrate the following features:

· Client makes a secure connection with server.

· On first time connection, Client PC request an account ID and password from server and saves them for future use.

· Server and Client, both able to create public and private keys (saved for future use).

· Server & Client exchange public keys.

· Connection is dropped and all future connections are secure and use exchanged keys.

· Server must demonstrate connection capability from multiple PCs with different login details.

· Client can upload binary file which is saved in client's private area on the server

· Client can request a list of file saved on the server

· Client can request and download a binary file (file remains on server)

· Client can request the file to be deleted after transfer completion.

· Client can request another client's public key (by sending that client's account ID)

· PC Client (PCc) - PC Server (PCs) i.e. P2P transfer

· PCc establishes a secure connects to PCs using each other's public keys when both PCs are behind firewalls.

· PCc can then upload text and binary files. All data transfer has to be listed in the job queue (at both ends, client and server) and show in the job monitor.

To discuss this further, you can contact me through Skype, [login to view URL], +44 1709 37 1441, Mob: +44 7956 547 944.

.NET C Programming Linux Visual Basic XML

Project ID: #416458

About the project

19 proposals Remote project Active May 30, 2009

19 freelancers are bidding on average $1645 for this job

WhizPool

Hey Bob, I have seen the details and let me assure you it can be done with real reliablilty and with speed. The reason behind this is my profile over GAF and set of expertise. Please respond so that I can initiat More

$1500 USD in 20 days
(14 Reviews)
7.4
pgcoding

WE are ready,pl check pmb

$2000 USD in 30 days
(28 Reviews)
6.8
aig

can be done

$1000 USD in 30 days
(2 Reviews)
5.0
itcslive

Lets do it more details will be provided once I get reply form you. Thanks, Subikar

$1500 USD in 30 days
(9 Reviews)
4.9
waws

See PM please.

$1500 USD in 60 days
(5 Reviews)
4.5
kosmocode

Hi. I can start to develop this software immediately. I have a good experience in Windows and Linux programming using C++, and a great experience in .NET/C# (I'm used Mono to develop network servers, which runs on a sm More

$1500 USD in 30 days
(1 Review)
3.4
ashmantri

Please check my PMB. Regards, Ashish Mantri

$1500 USD in 30 days
(3 Reviews)
3.3
meetanshu

Kidly Check PMB.

$1500 USD in 25 days
(4 Reviews)
2.5
bdzahirul

I am five years experienced in software development and ready to start

$750 USD in 40 days
(1 Review)
2.8
KaoKao

Hi, I want to share in this project

$1000 USD in 30 days
(0 Reviews)
0.0
AlexeiBo

Hi. I'm ready. I think it's above 30 days (with testing and bug fixing)

$1500 USD in 30 days
(0 Reviews)
0.0
devr10

we have been working with the environment specified. you will not be disappointed

$1500 USD in 30 days
(0 Reviews)
0.0
mnarayanan

Have 15 years of experience with strengths in C++/.NET/Databases. Can furnish more details upon request. I see the following categories in your requiremnts a. Secure communication .NET Framework provides infras More

$2500 USD in 45 days
(0 Reviews)
0.0
SmartDesign05

team familiar with this

$1000 USD in 30 days
(0 Reviews)
0.0
jayakrishnan007

I wil do the job in my best way in 6 days with $1810

$1810 USD in 6 days
(0 Reviews)
0.0
SMan4Soft

Hello! 1. I have 10 years of experince in C/C++/JavaSE/JavaEE Databases development (including Windows/Linux Kernel Level Development). 2. I have some research and development experince in cryptography area (SSL More

$3000 USD in 45 days
(0 Reviews)
0.0