• 12 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2024

help-circle

  • positive_intentions@lemmy.mlOPtoOpen Source@lemmy.mlP2P WhatsApp Clone
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 days ago

    it certainly gives more control over your own data, but (if you know what youre doing) from a cybersec perspective, it can help to reduce the “attack surface”. the current direction is to allow users the flexibility from a version provided from me hosted on aws s3 or host it yourself from open source code. additionally, you can host your own peerjs-server as used for brokering connections… by default it connects to the public instance of peerjs-server (so its easier for users to get startedt).

    im aiming for flexibility in “getting started” from ready-to-go to selfhosting. it all depends on if a user knows what theyre doing.


  • For testing and demo purposes only. NOT to replace any other app you use.

    Session, Signal, Simplex and countless more apps are better for privacy and security. I can only hope to get to that level on my project.

    Selhosting and a vpn are optional depending on your use case; the app works with niether to help users try it out and get started. Like all secure messaging apps, its better to selfhost given the option.

    I’ve put effort into how the app is working, but ultimately i dont think its appropiate for me to suggest this code is ready for your sensitive data when it hasnt been reviewed or audited.




  • im pretty sure its zero-installation. its a webapp. you go to a url, then thats it.

    with WebRTC, the p2p connections is established between browsers. so i think it has a strong case for being p2p. You would be using your own device to run the javascript in the browser and storage provided by the browser is also from your device.

    it will do all the encryption, data storage, etc on your browser using only the resources the browser will provide. I believe the functionality as a result is substancially independent selfhosted and p2p.



  • thanks for the advice. perhaps you have some tips of where i might have done something incorrectly in a previous attempt at open source and libre software. this could be a whole discussion, but i will try to be brief.

    https://github.com/positive-intentions/chat

    i optimistically started with the aim to get grant funding for a novel approach to secure and private communication using p2p tech. after countless rejections im dont think i should presue that direction.

    so then i thought to create something competative in the space of file-transfer. the app would be is a simplified version of the chat app and with less complexity in exchange increased stability. thats that app mentioned in the parent post. mi might not work as privacy solution, but it could still be competative in the tools for file-transfer if i can get it to nice stable polish that can work with massive file-sizes.

    i briefly looked at how to get it on the f-droid store and there were details like moving things to gitlab. i then decided to push back indefinately in favor of focusing on the the file-transfer project.

    if anyone want to help me with getting the chat app to the f-droid store, some initial changes can be found here: https://www.reddit.com/r/tauri/comments/1j6g71h/is_there_any_examples_out_there_of_a_tauri_app_in

    im not entirely sure i have a service to sell. my efforts are on the PWA. the service i can sell is to provide the native build because people wont want to compile thier own. its a shot in the dark with the Play store, but im curious to see what happens.







  • An entirely valid and understandable view to have. I’m sure you’re not suggesting different approaches shouldn’t be explored. My approach is fairly unique and im personally interested in what can be done with this.

    This project is a PWA running on a S3 bucket. The app is free to use entirely. (Disclaimer: I’m in the process of putting something on the play store where I would like to charge for it.)

    While syncthing seems appealing. There should always be options for approaching privacy. Mine stands out as a unique approach and so nessesary at least to demonstrate the concept.

    I created an open source version first which demonstrates different concepts like instant messaging and video calls.

    https://github.com/positive-intentions/chat





  • positive_intentions@lemmy.mlOPtoOpen Source@lemmy.mlP2P E2EE Messaging
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    7 months ago

    group chat is still a work-in-progress, but it’ll work in a way where asymmetric and symmetric encryption keys are generated in javascript using cryptography tools provided by the browser of your choice.

    when a connection is established over webrtc (which mandates encryption anyway), the asymmetric keys are exchanged using the diffie-helman technique.

    the keys are persisted into browser storage (indexedDB) so in a future reconnection, new keys dont need to be rgenerated. if you connect to a “known-peer”, the keys can be used for a kind-of p2p authentication.

    all the security here depends on the security of the connected devices involved. this approach is in contast to connecting to an api to authenticate and proxy encrypted messages.

    for more info there may be related information/links here: https://positive-intentions.com/blog/security-privacy-authentication







  • its browser based. it uses webrtc to create p2p connections between browsers. concepts like authentication takes the form of using cryptography capabilities of a typical browser. the storage of data from messages to encryption keys are stored in indexedDB as provided by the browser of your choice. there is an emphesis on client-side browser-based capabilities in all parts of the app.

    matrix is a good peer reviewed and generally reccommended solution. this project isnt intended to replace any existing solution. there are many other similar projects out there, but i notice there arent many presented as webapps. this is my attempt.