Find Jobs
Hire Freelancers

Web server

$15-25 CAD / hour

Closed
Posted about 6 years ago

$15-25 CAD / hour

Mini-server for email You are asked to design and implement a mini-server to which the web client (project 1) connects to receive and send messages. The mini server runs locally on the same machine as the client. In this way, your client (web interface) will even work without connections to the internet. The main role of the mini-server is to maintain the collection of all messages, even if they are not intended for you. All email users must have their RSA key (private). The public key of the user identifies it; the public key plays the role of the user's address. Each message is encrypted with the public key (address) of the addressee, so only the addressee can decrypt it. The mini-server can receive messages in two ways: -either directly from a customer, -by synchronizing with a peer, that is, another instance of the same server of another machine Mini-server communication with the web client The web client could be a Single Page Application accessible via resource /[login to view URL] or /[login to view URL] from the mini-server. The communication between a client and the mini-server will be via AJAX technology (REST). Encryption and decryption will be done by the client because the server does not know any private key. GET messages for a user To search for the set of messages for a given user (represented by his public key), the web client will make a request such as: GET /massages?dest=-----BEGIN%20PUBLIC%20KEY-----%0AMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAphXGu0yOMJaSHmKP3c70%0ANkBC9VG8jAWvEi0SOPbT4MfMq3WRA3HDEPU4dgZ4bh937zNevgebJUiUsTY4%2Ftbz%0APRPbXdPduT0sRP5%2B9REXuSg1pPDOQXcs8fmGRwy1uQukhrO%2FLOInFDsm%2BJnpeCXq%0A1Da6fQ%2F1iSojna3hoqapXxCntlyiVnV3j0Jpegs9ZI%2B3cQ06KHWZ%2Fd%2BO7jJ4LVDI%0AD%2B6b%2FnJkslcWXw9vqY8UFQAlwCF50y1xR%2FUbP9hH32%2FNff47bbFczOZdZFs827nN%0ATNMb%2BfDM%2BV830CEbl2qd4RVGOoqKPiQA%2BJ4G68D2wYJN86z2p3wlLSzXs08bFyH%2F%0ADwIDAQAB%0A-----END%20PUBLIC%20KEY----- if the public key is (in PEM format): -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAphXGu0yOMJaSHmKP3c70 NkBC9VG8jAWvEi0SOPbT4MfMq3WRA3HDEPU4dgZ4bh937zNevgebJUiUsTY4/tbz PRPbXdPduT0sRP5+9REXuSg1pPDOQXcs8fmGRwy1uQukhrO/LOInFDsm+JnpeCXq 1Da6fQ/1iSojna3hoqapXxCntlyiVnV3j0Jpegs9ZI+3cQ06KHWZ/d+O7jJ4LVDI D+6b/nJkslcWXw9vqY8UFQAlwCF50y1xR/UbP9hH32/Nff47bbFczOZdZFs827nN TNMb+fDM+V830CEbl2qd4RVGOoqKPiQA+J4G68D2wYJN86z2p3wlLSzXs08bFyH/ DwIDAQAB -----END PUBLIC KEY----- As an answer, the mini-server will send messages to the user (encrypted with the key). POST a message: To send a message, the client must first encrypt it with the recipient's public key : POST /message { "to": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAphXGu0yOMJaSHmKP3c70\nNkBC9VG8jAWvEi0SOPbT4MfMq3WRA3HDEPU4dgZ4bh937zNevgebJUiUsTY4/tbz\nPRPbXdPduT0sRP5+9REXuSg1pPDOQXcs8fmGRwy1uQukhrO/LOInFDsm+JnpeCXq\n1Da6fQ/1iSojna3hoqapXxCntlyiVnV3j0Jpegs9ZI+3cQ06KHWZ/d+O7jJ4LVDI\nD+6b/nJkslcWXw9vqY8UFQAlwCF50y1xR/UbP9hH32/Nff47bbFczOZdZFs827nN\nTNMb+fDM+V830CEbl2qd4RVGOoqKPiQA+J4G68D2wYJN86z2p3wlLSzXs08bFyH/\nDwIDAQAB\n-----END PUBLIC KEY-----", "msg": "be0X/are25Ajj2KyNnmoHwJyheGZzXURcNsAFN++l5OO2YW74Mk0tx4CQAYmdloLBGV3Z9sxMjEPSMMTePAUSSnMKugXxW12FsBYK2L8FpQyjGbV6gCp+AgBq92HXeJk3NNJfUcPH0hpE6S49RyZwXgpLUIG9eo2MHn9Sj/Y6sWsdZylidDxPI1QEnK/y4iUe+2ql+SKLHLoXsKzBRnvqI9nGMiQOJICRAo1Utag5zxII+x1R3wFrs7/Vb7niS+0ZOu9fy1beGYsiRuylmdmg9f1Wg9oKKzuU9YG5kf40BAWP05SZudLYjIsJdLECBLSi6aqMncwXWNXeQA/QFTGLA==" } Mini-server communication with peers Peer communication will allow the distribution of messages. A mini-server should support two types of queries: share messages, via GET / messages; and share the list of peers, via GET / peers.
Project ID: 16656405

About the project

10 proposals
Remote project
Active 6 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
10 freelancers are bidding on average $23 CAD/hour for this job
User Avatar
Hi there, We are not those who are in a hurry to bid without understanding the complete requirement of the bidder which creates ambiguity at a later stage. It also cost us our valuable time and time is money. Having said this, I would like to take this opportunity to design and implement a mini-server application which meets all your requirements and the users can do much more with our solution. Let’s discuss in detail about it and I'm sure it would turn out to be a win-win conversation for both of us. Regards, Best1
$27 CAD in 40 days
4.7 (223 reviews)
9.7
9.7
User Avatar
Hello, I have analyzed your requirement and have an experience with the same in the past. I have more than 7 years of work experience in web development. PLease come to for further discussion. My skills PHP, jQuery, Ajax, Responsive, Graphic Design, User Interface / IA, WordPress, Open-kart, Codeignitor, Woo-commerce, ASP.NET, MVC, C#, MSSQL, MYSQL, Database Programming, Bootstrap, Jquery, Front-end, SEO. etc.. I assure you for the best output. Waiting for your response. Open Inbox to share requirement in detail. Best, Ashish
$16 CAD in 40 days
5.0 (7 reviews)
4.3
4.3

About the client

Flag of CANADA
gatineau, Canada
5.0
2
Payment method verified
Member since Oct 17, 2017

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.