Giter Club home page Giter Club logo

p2pcrypt-server's People

Contributors

pipboy avatar xenland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

p2pcrypt-server's Issues

Client User panel: Needs vertical tabs for different pages

The client user panel is the window that is displayed when a user has connected to the network(in the future this will change to when the user has typed in their identities password).

When the user has connected to the network the "User Panel" will pop up. This user panel will be divided in 3 parts(vertically). The far left side will feature "icons" stacked on top of each other vertically. The icons will be triggers to completely change the user panel. This left side is imaginatively small (about 64 pixels wide at the most -- height is dependant on the size of the window).

Depending on which user panel icon the user has triggered the middle and right screen will change accordingly but the general rule would be is the middle screen will show "lists" of things and the right side will show "settings/config" options. So if we are looking at the "Messaging" icon , then the middle screen would show "lists of contacts", "add/remove/edit/label contacts", and the right screen would show "Start a text/audio/video conversation with this contact."

User panel: Send/Recieve message box

A box that allows the user to type in the intended recipients sha256 address to send the message (The user should already have the recipients public key stored locally).

Generate RSA identity

The client should have a button on the main window a "Generate Identity" button for generating an RSA identity

Send encrypted messages

When sending encrypted messages the message packet should be like the following:
JSON
{"timestamp_sent":"", "message":"message here"}

Encrypt JSON with publickey and sign it with private key

Submit message packet with signature to "nodes".

Await confirmation.

--Finished.

[NOTE TO FIX]GTK/GNOME Standards are not implmented properly

Just a note: GTK/GNOME don't like it when we don't cast our objects errors like the ones listed below show what we mean.

warning: passing argument 2 of ‘gtk_box_pack_start’ from incompatible pointer type

The code could be fixed like the following...

gtk_box_pack_start(GTK_BOX(powerstatus_container), GTK_WIDGET(powerswitch_radio_container), TRUE, TRUE, 1);

The original code was the following...

gtk_box_pack_start(GTK_BOX(powerstatus_container), powerswitch_radio_container, TRUE, TRUE, 1);

Did you notice how the GTK_WIDGET() was present? that is the kind of warning messages we need to remove for the final release

Invalid JSON crashes server

The server crashes with segmentation fault if the string the client sends is invalid, this is from the "JSON C" library. The solution is to find a JSON validator, and validate the JSON before allowing the JSON C library to parse/read it at all.

boot up a "card" like window

The dummy client should boot up a "card" like the ratio of a widescreen tv (or more relatble to the new Skype login boot up page)

Display Sent/Received Encrypted Messages

Receive message packet from server.

Decrypt packet and check/verify signature

Decode JSON into objects that can be parsed.

Save the encrypted message data (not the plain text) into the database.

--Finished.

New client connections need to exchange some information

When a client connects to a p2p node for the first time the client needs to exchange their public key to the p2pnode. So the first thing a client should send upon first contact is like the following....

{"cmd":"identupdate", "client_pubkey":"public_key_here"}

The p2p node can then submit their pubkey/identity and the client will auto save the public key along with the receiving incoming ip address, if the client already has the identity saved the client will disregard the incoming key. (In the future we must ask the user what to do as long as it is set in intermediate mode or higher)

Written in C

Not to be a total dick, but if this project ever gets close to complete, the integrity of the code will be fairly important. Perhaps it should be written in a language that does not lend itself so easily to vulnerabilities.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.