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

Cancelled

Description

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, [url removed, login to view], +44 1709 37 1441, Mob: +44 7956 547 944.

Skills: .NET, C Programming, Linux, Visual Basic, XML

See more: windows vista api, bob kapur getafreelancer, develop api, xml developer job, work task manager, work in nt, within my capability, which are the best jobs, when you don t get the job, what's an escrow service, what makes a good manager need, what job can i get with a linux, what is my skype id, what is job sharing, what is escrow service, what is an escrow service, what is an escrow account, what are some good jobs, what are milestones, up jobs login, t sql jobs, t sql developer jobs, transaction escrow, testing skype connection, task and project manager

Project ID: #416458

20 freelancers are bidding on average $1638 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)
6.8
pgcoding

WE are ready,pl check pmb

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

Hello please have a look on the pmb for more details.Thanks

$2500 USD in 35 days
(17 Reviews)
5.8
Shot

Experience of programming on various versions of C 20+ years. Wide experience of work with Win API.

$1500 USD in 60 days
(10 Reviews)
5.8
sunztech

Please see PMB.

$1500 USD in 25 days
(10 Reviews)
5.4
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
EnventureTech

we can do this for you.. please get back to us for further discussion. we sincerely look forward to work with you.see pm thanks kk

$2500 USD in 40 days
(1 Review)
4.5
waws

See PM please.

$1500 USD in 60 days
(3 Reviews)
3.9
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
jayakrishnan007

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

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

I offer to implement the project. Thanks Sshram

$2749 USD in 60 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
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
KaoKao

Hi, I want to share in this project

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

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

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

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

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

i have 2years exprience in platforms you mentioned.so i can do it perfectly.

$1200 USD in 30 days
(0 Reviews)
0.0