Hey everyone.

I make Peersuite, an opensource free communication platform.

It’s private by default, there’s no sign-in or email collection.

It’s peer-to-peer, there’s no server, after discovery you are connected directly to your friends my AES-GCN encrypted WebRTC channels. It forms a mesh and identifies superpeers. Because there is no server, in order to save your data between sessions, you can download your workspace into a password encrypted file. Happy to answer any questions.

FEATURES: chat with images, PMs, channels, and file send group audio/video calling screensharing kanban board whiteboard for diagrams/flowchartswith PNG export collaborative document editing with formatted PDF export

The best way for self hosting is docker, its on dockerhub as openconstruct/peersuite. You can also download desktop versions from the github or use on the web at https://peersuite.space/

github - https://github.com/openconstruct/Peersuite

  • TempermentalAnomaly@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 hours ago

    My group recently switched to Matrix and so this would be a tough sell, but it seems interesting. I haven’t been a fan of Matrix and miss the ease of UI in discord, but was happy to leave with it’s direction. How would you sell it with a small group that has small, but mounting usability issues with Matrix?

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 hours ago

      Get everybody in to at least try it. I tried to make everything as intuitive as possible.

  • themachine@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    13 hours ago

    Well hell I may stand this up tonight. My only question is does the voice chat support push-to-talk?

    Edit: Ok, gave it a spin. It does not support push-to-talk but being fully browser based I don’t think that’s a trivial thing to implement anyway.

    That said, this is pretty sweet though certainly still rudimentary. I was really looking forward to the screen sharing but my friend on the other end said the quality and framerate were pretty bad. Not sure what flexibility there is as far as adjustable bit rate and framerate with what you’re doing but I’ll definitely be keeping my eye on this project.

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      13 hours ago

      Push to talk is in testing now. WebRTC changes quality automatically based on bandwidth. Its usually really good. It runs at full quality in testing ( i have like 6 devices I hook up and test). If you guys normally have a good connection, try again?

  • secret300@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    16 hours ago

    feel-ford-bean-base

    pass: poop

    workspace code ^^^ for anyone that wants to test it out with me. I don’t have friends to do so :(

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      13 hours ago

      I could package the electron version to flathub, I hadn’t considered that. I will read up on it.

  • Andres@social.ridetrans.it
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    1 day ago

    @jerrimu A usability suggestion, having just tried it out - save the username and room password in the export file to make it more like a traditional chat experience. So when you import the chat file, the username and password are pre-populated along with the room name.

        • Andres@social.ridetrans.it
          link
          fedilink
          arrow-up
          3
          ·
          21 hours ago

          @martinb @jerrimu I wrote the initial comment with the idea of saving just the username, but then figured “why not?” for the password. If the password is saved in browser memory (and based how I *think* the app functions, it would have to be), then it wouldn’t be much different than saving a password in firefox’s password manager (for example). Assuming reasonable crypto usage by the app, of course.

        • jerry@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          21 hours ago

          The export is password encrypted already. I’ll see if there’s a good way to do it.

          • martinb@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            21 hours ago

            Fair enough, it lowers the risk. Are you doing key stretching? Ie. X rounds of pbkdf or whatever it’s called?

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      20 hours ago

      Group voice and video are working fine. I’ve only tested screen share with 3 computers but if works fine also.

      • alphabethunter@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        19 hours ago

        I just realized it’s on the post. Sorry for that. This looks like a solid thing, for sure. Since we’re talking, do you ever worry about people making use of the privacy features for nefarious purposes?

        • jerry@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          5
          ·
          19 hours ago

          I guess that could be an issue. I don’t think privacy makes you a criminal, but sure they want it. But so do tons of people who follow the rules. A Scottish Indepence group cloned it on github. That’s really coo to me, I love the idea of political dissidents using it, but the idea of it being used to hurt people does bother me.

  • iopq@lemmy.world
    link
    fedilink
    English
    arrow-up
    31
    arrow-down
    2
    ·
    edit-2
    1 day ago

    This space definitely needs competition

    I like Matrix, but I do run into issues, like messages not being decrypted even though I verified my session. The average user is not ready for it. Or rather, it’s not ready for the average user

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      EVERYTHING is encrypted in peersuite, it’s mandatory. I tried to make the UI intuitive and simple, but IDK if I’m great at it.

      • ladfrombrad 🇬🇧@lemdro.id
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        22 hours ago

        but IDK if I’m great at it.

        Simples is best, hands down. Maybe some tooltips wouldn’t go amiss on your demo page?

        But as someone else pointed out, a link to the GitHub either in the header or footer of your demo page would be ace too. It was the first thing I looked for this morning seeing your posts and had to come back to the comments to find it 🙈

        Keep up the great work, and I shared between our nerd group and they have eyeballs on it. Seems a no brainer for teams collaborating online where we’ve got used of shitty Slack 🤢 Dicksword whatever.

        ninjaedit: if you want some help Android app wise, give us a ping. I have a few bored devs lurking looking for app ideas ;)

        • jerry@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          21 hours ago

          I think I’m going to go the route of buildind a PWA first then using bubblewrap to generate an APK. I tried capacitor, but audio/video didn’t work, it has meh WebRTC support.

  • XNX@slrpnk.net
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    Sounds great! Will mobile clients be impossible due to the p2p nature of it?

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 day ago

      I’m working on getting an android version up, don’t have a mac so I can’t make an IOS version. It works great in mobile browsers, I have been testing on mbile during development.

  • Clay_pidgin@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 days ago

    That sounds pretty cool! You have listed a lot of great privacy features. I’m sure you know they will likely restrict adoption, because Grandma probably won’t be able to figure it out.

    It does look neat and I will give it a try.

  • jagged_circle@feddit.nl
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    1 day ago

    Can I tick a box in settings to force it to only connect to Tor Onion Services for enhanced privacy?

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      Working on it, capacitor doesnt work because it’s webview doesnt work with WebRTC

  • surfrock66@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    I have been exploring self-hosted Discord alternatives and had been looking at Rocket Chat, so I am wondering what is the pitch for this versus something like that? I am very early in my exploration, of course.

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      Rocket chat needs a server, and doesn’t e2e encrypt by default are this biggest differences.

      • surfrock66@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 day ago

        Ok, understood. So if you’re not online, you pretty much lose messages, or are they cached and the next time the sender is online you get them?

        My use case is a kid using a minecraft server and wants to talk to his friends, and we’re using mumble now, but they want “discord” and they want things like plugins that allow mgmt from the discord channels, which I would be willing to try to develop, but the model pretty much requires a server to be online.

        In general, I’m trying to make a small internet for my kids and their friends to have “normal” internet experiences without being on the wider internet. No youtube, but pinchflat -> jellyfin. No discord, but mumble. No google drive, but nextcloud.

        • jerry@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          6
          ·
          1 day ago

          That’as a noble endeavour, IDK if peersuite is the best app for that at the moment.

  • gonzo-rand19@moist.catsweat.com
    link
    fedilink
    arrow-up
    3
    ·
    1 day ago

    I’m gonna try this when I get time to tinker around since my friend and I are becoming exceedingly weary of Discord for communication. I also hate how bulky and rigid it is in its design.

    Edit: Tested it on LAN between my PC and phone; it’s easy to get running and works great. Some buttons seem invisible on mobile, like the channels list, so I had a hard time joining the “general” channel upon connecting to the workspace. I want to test it with my friend to see how it works across networks but it seems really promising so far.

    • jerry@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      19 hours ago

      What kind of phone? I do testing during development and it works fine on my tablet.

      • gonzo-rand19@moist.catsweat.com
        link
        fedilink
        arrow-up
        1
        ·
        8 hours ago

        I have a Samsung Galaxy S21 FE 5G. It seems like anything near the bottom of the screen gets cut off and I’m not able to scroll down to see it.

  • jagged_circle@feddit.nl
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    1 day ago

    How quickly does it load when you’re connected to 1,000 chats, each with 100,000 messages?

            • jerry@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              3
              ·
              19 hours ago

              Chat is Peersuite is limited to workspaces. You can only talk to people inside your workspace. I didn’t want to add accounts, and sign-ins and all those things that collect data. So when you sign into peersuite, you are only talking to the people in the workspace with you. It works entirely different and your questions don’t really apply to how it works.

            • moonpiedumplings@programming.dev
              link
              fedilink
              English
              arrow-up
              3
              ·
              1 day ago

              There is literally no way to do performant e2ee at large scale. e2ee works by encrypting every message for every recipient, on the users device.

              At 1000 users, that’s basically a public room.

              • jerry@lemmy.worldOP
                link
                fedilink
                English
                arrow-up
                2
                ·
                19 hours ago

                I haven’t had a chance to test the limits of Peersuite, but since it’s a mesh network, I don’t think it would run well with even 100 people.

              • Andres@social.ridetrans.it
                link
                fedilink
                arrow-up
                3
                ·
                1 day ago

                @moonpiedumplings @jagged_circle I read your initial question as 1,000 active chat *rooms* (with some large number of users for each), which… seems excessive. That’s what I was referring to.

                1,000 individual private 1-on-1 chats (or group chats with 2-3 users), if that’s what you meant (and especially over a long period of time, with lots of inactive chats), seems like a more common scenario*. If that was your question, I apologize.

                • Andres@social.ridetrans.it
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 day ago

                  @moonpiedumplings @jagged_circle
                  * I can’t speak on behalf of the author, but I could imagine handling it by simply not decrypting _everything_ on startup, and only decrypting an older chat if you click on it or attempt to run a search on everything. Although for a search, I would expect some kind of hashed (and of course encrypted) database that allows a quick search of all prior messages.