I make Peersuite, a p2p encrypted discord alternative
from jerrimu@lemmy.world to privacy@lemmy.ml on 30 May 06:35
https://lemmy.world/post/30477112

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:

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 peersuite.space

github - github.com/openconstruct/Peersuite

#privacy

threaded - newest

autonomoususer@lemmy.world on 30 May 06:47 next collapse

Libre Software? Push-To-Talk?

bloubz@lemmygrad.ml on 30 May 09:33 next collapse

Sentences?

OP not your pet

jerrimu@lemmy.world on 30 May 17:03 next collapse

Yes and no, push to talk is on the roadmap, but haven’t implemented it yet.

jerrimu@lemmy.world on 01 Jun 07:57 collapse

Push to talk is now implemented! (you were not the first person to ask)

Interstellar_1@lemmy.blahaj.zone on 30 May 07:08 next collapse

The website gives a 404 error

Mikelius@lemmy.ml on 30 May 07:18 next collapse

I removed the dash at the end. Guess it was a typo

melroy@kbin.melroy.org on 30 May 12:58 collapse
blindbunny@lemmy.ml on 30 May 07:34 next collapse

And revolt was right there being all open source and stuff

shinomoroll@sh.itjust.works on 30 May 08:07 next collapse

But it’s not decentralized

bloubz@lemmygrad.ml on 30 May 09:32 next collapse

You mean Matrix, surely

ekky@sopuli.xyz on 30 May 09:58 next collapse

Go tell 'em! Why have alternatives if we can just put all our eggs in one, holey, basket?

[deleted] on 30 May 10:51 collapse

.

Lemmchen@feddit.org on 30 May 10:52 next collapse

Revolt is not E2EE, h fortunately.

auraithx@lemmy.dbzer0.com on 30 May 12:38 next collapse

How do you think matrix feels.

jerrimu@lemmy.world on 30 May 18:39 collapse

Revolt uses a server.

blindbunny@lemmy.ml on 30 May 18:48 collapse
TheKracken@lemmy.world on 30 May 07:34 next collapse

Is this open source? Otherwise this feels like a honey pot.

Botzo@lemmy.world on 30 May 07:42 next collapse

Asked the same question I was gonna, so I did the googling.

github.com/openconstruct/Peersuite

AGPL

jerrimu@lemmy.world on 30 May 16:57 next collapse
burgerchurgarr@lemmus.org on 30 May 12:13 collapse

Kinda makes sense that honey pots show up here, idk there was another post the other day about some anonymous file sharing thing and it also seemed either a honeypot or just an amateur project which is okay in many cases but not when it’s about cryptography.

jerrimu@lemmy.world on 30 May 17:10 collapse

It’s fairly amateur I guess, but I’m not rolling my own cryptography or anything.

dysprosium@lemmy.dbzer0.com on 30 May 07:35 next collapse

That’s so cool, but wouldn’t everyone need automat port forwarding/opening like UPnP IGD / PCP to initiate connection? Not everyone has this enabled

Trimatrix@lemmy.world on 30 May 08:11 next collapse

Not trying to shill, but seems like a perfect opportunity to integrate Tailscale for network access and then use the funnel feature to connect to peers.

chaoticnumber@lemmy.dbzer0.com on 30 May 09:08 next collapse

As good as tailscale is, I do so loathe it. It does make things easy, but I have to trust a 3rd party with my traffic and for me thats just no bueno.

wildbus8979@sh.itjust.works on 30 May 14:36 next collapse

You can run your own, or community run, headscale server technically.

F04118F@feddit.nl on 30 May 22:19 next collapse

Heard of Headscale?

Evotech@lemmy.world on 30 May 22:51 collapse

Yet you trust your isp, curious

chaoticnumber@lemmy.dbzer0.com on 31 May 05:54 collapse

Assumption on your end. I dont trust the ground I walk on.

jerrimu@lemmy.world on 30 May 17:02 collapse

I’ll look into it. currently using trystero-torrent.

jerrimu@lemmy.world on 30 May 17:03 collapse

Nah it uses https ports which are ususally open

Baynd@feddit.org on 30 May 07:51 next collapse

This needs to be widely known. I didn’t test all the functions yet, but if this works, this is big!

jerrimu@lemmy.world on 30 May 17:08 collapse

Everything works!

Ulrich@feddit.org on 30 May 08:08 next collapse

It’s peer-to-peer, there’s no server

The best way for self hosting is docker

🤔

bloubz@lemmygrad.ml on 30 May 09:31 next collapse

I’ve looked into the sources because that was weird to me as well.

It’s because the web “client” is using nginx as a local web server. You’re selfhosting the web client

The app still is 100% a frontend js client

OP did link to their public instance of the client, but gives more opportunities

melroy@kbin.melroy.org on 30 May 12:57 next collapse

It doesn't contradict by definition. So ipfs is also decentralized yet you will need to run a client /server. So the client is also the server. Allowing you to connect to a mesh decentralized system. Just like torrent is also both a client and a server.

jerrimu@lemmy.world on 30 May 16:56 collapse

Yes, it takes an initial connection for discovery. The peers need to know how to find each other.

Ulrich@feddit.org on 30 May 19:17 collapse

If there’s no account, how do I “log in” to my community or whatever

jerrimu@lemmy.world on 30 May 19:26 collapse

If you are hosting you send them the room code and a password. You can save a workspace and restart it later, so if you had an active chat it would reload automatically when you imported the file

Ulrich@feddit.org on 30 May 20:07 collapse

That’s no what I’m asking. If I open the site and create a workspace, then close the window, how do I get back into my workspace?

jerrimu@lemmy.world on 30 May 20:13 next collapse

Just log back in with the room code and password.

crazyminner@lemmy.ml on 01 Jun 06:36 collapse

I’m guessing if you were the last person to close this session, all chat would be lost, unless you saved it to the file.

OP mentioned that they were working on a self-host version that persists.

timewarp@lemmy.world on 30 May 08:41 next collapse

I don’t want to rain on your parade, but to claim you’re a Discord alternative is like saying a box is a an alternative to a luxury resort. You’ve got a lot of work to do before being a Discord alternative.

N0x0n@lemmy.ml on 30 May 09:33 next collapse

Yeah, some consider a room in Prison a luxury resort 🤷‍♂️!

jagged_circle@feddit.nl on 30 May 15:19 collapse

3 hot meals a day, a bed with a roof, and I don’t even have to work 3 jobs to afford it? Sign me up!

N0x0n@lemmy.ml on 30 May 15:34 collapse

Thats the spirit ! 😁 You even make a lot of new friends (some are weird sickos tho 🤫 !)

jerrimu@lemmy.world on 30 May 17:12 collapse

Th UI isn’t there, hopefully someone with a great sense of design puts in a PR.

Cenotaph@mander.xyz on 30 May 08:48 next collapse

I’ll spin this up in docker and check it out tomorrow

jerrimu@lemmy.world on 30 May 18:37 collapse

Let me know what you think!

Cenotaph@mander.xyz on 30 May 18:55 collapse

So far really liking it! Very high quality screenshare, will be testing with more peers tonight. I had one question: I saw elsewhere you recommended running in docker for more permanence. Does that mean if everyone leaves a room and its hosted on docker things are saved and you can rejoin? Or would the last person leaving need to export the board? Either way I’m testing more tonight, just curious.

jerrimu@lemmy.world on 30 May 19:29 collapse

Thanks! Yeah if there’s bandwidth video streams at full resolution. Currently you have to export the workspace. I’m going to build a node server for it down the road. There are still things in my roadmap before then though.

Cenotaph@mander.xyz on 30 May 19:49 collapse

Regardless, working great! It has many features that other discord alternatives don’t. I’ll be using it and following development closely!

raltoid@lemmy.world on 30 May 10:13 next collapse

It’s html and javascript, the release comes with loose chromium files, ffmpeg binary and a 190MB executable. The link typo hasn’t been fixed in hours, they don’t link to the github, they misuse terminology, etc. and it’s version 0.3.

That’s a no from me.

MonkderVierte@lemmy.ml on 30 May 13:23 next collapse

The link typo hasn’t been fixed in hours,

Whoa, hey, they’re not paid on-call. Give it a few days.

jerrimu@lemmy.world on 30 May 16:56 collapse

I’ve been babysitting my granddaughter, just got on the laptop.

IncogCyberspaceUser@lemmy.world on 30 May 19:27 collapse

How dare you

jerrimu@lemmy.world on 30 May 17:04 next collapse

That’s fair, the project is about a month old, the electron releases will get an installer for some platforms.

raltoid@lemmy.world on 30 May 23:18 next collapse

Yeah it’s an early version and I have no doubt that you guys will make it a lot neater, and it seems like a nice project. I just think it breaks several basic rules of privacy and security oriented programming, which is why I don’t think it’s a good fit for this community just yet.

jerrimu@lemmy.world on 30 May 23:25 collapse

Noted. Thanks for the reralistic input

mac@lemm.ee on 31 May 00:47 collapse

You should try out something that utilizes the normal system webview instead of electron that just bundles chromium.

Check out tauri

jerrimu@lemmy.world on 31 May 06:35 collapse

Tauri webview doesn’t support WebRTC, would have preferred that. Using system webview would be super iffy because of WebRTC support.

mac@lemm.ee on 31 May 07:29 collapse

Ahhh interesting. I haven’t worked with webrtc so never ran into that!

ayyy@sh.itjust.works on 31 May 03:37 collapse

You should ask for a refund.

doodledup@lemmy.world on 30 May 12:52 next collapse

It’s not a Discord alternative if it doesn’t have servers and doesn’t look anything like the Discord UI.

BakedCatboy@lemmy.ml on 30 May 13:53 next collapse

It’s worth noting that Discord misuses the term “server” to mean a community. When you create a Discord “server”, they aren’t booting up a machine just for you. So the lack of servers in this project has nothing to do with the ability to create groups of channels with shared moderators that represents a community.

refurbishedrefurbisher@lemmy.sdf.org on 30 May 16:51 next collapse

Yeah, when Discord first became popular, the whole “server” terminology was massively confusing to me.

doodledup@lemmy.world on 30 May 17:25 collapse

Sure, terminology is confusing here.

But this concept of communities and especially channels is exactly what I like about Discord. It’s their main concept. You can’t call Signal a Discord alternative either because it has call, screenshare and chats. It’s just a completely different UI concept.

BakedCatboy@lemmy.ml on 30 May 17:45 collapse

Right, but this does have communities - they’re just called workspaces. The screenshot literally shows the equivalent to a Discord “server”. You’re getting confused by the correct usage of the term servers because this project doesn’t have backend servers

ladfrombrad@lemdro.id on 30 May 22:02 next collapse

I’m finding it confusing as an old fart that they can’t distinguish the terminology even thou they’re on the Fediverse.

Amazing 😁

doodledup@lemmy.world on 31 May 04:44 collapse

It’s P2P. How can these workspaces be equivalent to Discord servers? I’m confused. Also why are they called “workspaces”? Discord is tailored towards gamers.

verdigris@lemmy.ml on 31 May 07:27 collapse

From my understanding, currently the lack of a persistent superpeer makes a long-standing community unrealistic without someone remaining constantly connected, but once that’s implemented it would just be a persistent workspace. Publish the link in a centralized location for your project and bam, you’ve got the equivalent of an official discord server.

What functionality do you think is missing?

doodledup@lemmy.world on 31 May 13:04 collapse

Don’t get me wrong. This software looks great in terms of features and functionality. I might give it a try. What I’m saying is that the concept is too different from Discord to be able to call it an alternative to replace Discord with. The way servers and channels in work in Discord is what makes Discord so unique and why I still use (this piece of shit corporate greedy garbage).

verdigris@lemmy.ml on 31 May 18:42 collapse

So it sounds like the lack of multiple text channels is the main missing feature? I haven’t used it myself yet so I’m assuming those don’t exist, but the concept of a server seems to be pretty one-to-one with a persistently hosted workspace.

crazyminner@lemmy.ml on 01 Jun 06:44 collapse

It does have multiple text channels.

verdigris@lemmy.ml on 01 Jun 19:01 collapse

lol okay then I’m pretty mystified. Seems like all of the major features of Discord will either be directly replicated or have functional equivalents.

crazyminner@lemmy.ml on 02 Jun 04:57 collapse

It’s not as pretty. You have text channels, but they’re literally just text channels. There’s no reactions. or fun gifs. TBH It might be refreshing to not have this stuff for a bit.

jerrimu@lemmy.world on 30 May 16:53 next collapse

No, but it has most of the features discord has.

ayyy@sh.itjust.works on 31 May 08:03 collapse

(Just a heads up you don’t need to give a shit about this person’s opinion, they are a literal Nazi supporter)

doodledup@lemmy.world on 31 May 12:50 collapse

Are you done? Is it your life’s mission to visit every threat of mine and write that? This threat is about a software and Discord. You don’t even know me. What are you on about?!

Besides, your claims are not even true. I have never supported Nazis. You just have a personal grudge against me (some rando on the internet) probably because I said some capitalistic views somewhere that you disagree with. I don’t even know. Your link doesn’t work.

Just block me if you don’t like me and move on…

Just a heads up you don’t need to give a shit about this person’s opinion

Also, isn’t that what a Nazi would say? I don’t say personally attacking shit like that about people.

[deleted] on 30 May 12:54 next collapse

.

detun3d@lemm.ee on 30 May 14:29 next collapse

Keep up the good work, it’s always good to have alternatives. But please at least fix the link in your post, it’s giving a bad first impression.

jerrimu@lemmy.world on 30 May 16:52 collapse

thanks!

cptbichez@leminal.space on 30 May 16:43 next collapse

cool in the same area as Retroshare

swelter_spark@reddthat.com on 30 May 20:00 collapse

That was my first thought.

dingleberrylover@lemmy.world on 30 May 21:35 next collapse

This looks very promising, thank you very much! Going to fully test it out tomorrow.

Is there anything planned to have a persistent server option (self-hosted)?

jerrimu@lemmy.world on 30 May 22:38 collapse

Yes, I plan to create a node server for permanent rooms. It will allow you to name the server, which then acts like a superpeer and keeps the workspace open and saves progress every 10-30 minutes.

dingleberrylover@lemmy.world on 31 May 09:39 collapse

Wonderful! The possibility to spontaneously hop on the server to look whether a friend is online or not is very important at least for us compared to the necessity of having to set up the room each time (which would require us to coordinate beforehand that we want to hangout in a voice channel).

StopSpazzing@lemmy.world on 30 May 22:58 next collapse

Any reason you chose github vs codeberg? Just wondering. Gave your project a star regardless. Nice work!

jerrimu@lemmy.world on 30 May 23:27 collapse

I’ve been on github for like 8 years now, familiarity, plus the build tools are nice, github actions builds the docker images for me now

ayyy@sh.itjust.works on 31 May 08:00 next collapse

There are some seriously toxic fuckheads in this thread. Thanks for your effort so far, I look forward to seeing where your project ends up!

jerrimu@lemmy.world on 31 May 10:15 collapse

Thanks!

dingleberrylover@lemmy.world on 31 May 12:32 next collapse

OK, so I tested Peersuite with a friend and I have to say: wow! We have collected a bit of feedback we would like to share:

Positive: The audio, video and screenshare quality is outright amazing and much better than Discord. We had no crackling, delays or any other disturbances in any of those features. The UI is simple and functional, and everything is snappy and fast. It is also very easy to setup a workspace and to find yourself around the overall UI.

Negatives: There appears to be no option to also share audio while screensharing, which currently is a major drawback for us. There is no dedicated audio channel. As soon as someone starts an audio call, you’ll hear the person no matter what. Only if you purposely join the call, will the others hear you. Opting in and out of an audio channel like in Teamspeak or Discord would be nice. When my friend started a video call, the audio input of the webcam’s microphone got activated, so I heard him twice. When he turned off the video call, the webcam’s microphone stayed activated. Once someone shared their screen or their webcam and turned it off later, you would still see them in the video and screenshare menu but with the picture being black. We would expect to be gone when closing the stream. There is no option to adjust the volume of an individual user. It would be nice to assign users to carts or columns on the Kanban Board. It would be nice to adjust the size of the Collaborative Whiteboard.

It might seem like we are complaining a lot, but we actually really like the experience so far, so thank you very very much!! Once you can also share audio with your screen, and once we can setup our own persistent server (and maybe be able to adjust the volume or mute a user, and have the audio room a bit more isolated from the rest), we are ready to jump ship.

Arkhive@lemmy.blahaj.zone on 31 May 17:06 next collapse

This review honestly sold me on trying it more than I already was. Assuming it gets actively maintained, this is a great roadmap feature/bug list. Perfectly presented constructive criticism. The internet needs more of this.

jerrimu@lemmy.world on 01 Jun 02:10 collapse

Awesome! Real world testing finds things I never have! I’m going to improve a lot of things based on this, thanks for the input.

I have actually never thought of audio while screensharing, In my head it was mainly for people to watch videos and games. That’s an easy fix. Opting out of audio is easy enough. Audio and Vido shouldnt happen at the same time, thats a bug. Seeing a blackscreen after sharing is also a bug. I can implement per-user volume easily enough. User assignments in kanban is already on the roadmap. Adjusting the size of the whiteboard, this one is probably not going to happen. It was a real struggle getting it working as good as it does now. It should scale to your screen for the most part. I may re-implement Zoom in/out for drawing.

It doesn’t sound like complaining, this is what I need, thank you for your input!!

beveradb@lemm.ee on 01 Jun 04:23 next collapse

I appreciate your mature response to feedback - I don’t personally have a strong interest in this but generally like to support open source competitors to commercial monopolies; if you have any way to donate money to you please share and I’ll send a few bucks

jerrimu@lemmy.world on 01 Jun 07:53 collapse

I have a gihub sponsor button on the repo, and I think you found it.

Thanks! I appreciate the support!

dingleberrylover@lemmy.world on 01 Jun 06:09 collapse

Thanks for your response!

Instead of Discord another friend and I used Peersuite (via browser) for over 2h to hang out. I watched him play Oblivion for around 30 min. So far everything was stable and high qualitiy. Hadn’t had any issues with the audio or the stream.

But we found another bug: if multiple people are working on columns or carts on the Kanban board, as soon as someone posts it, the textbox of the others get reset and the text they were working on is gone.

And we also had another thought: would it be possible to have the option of creating multiple audio channels like in Teamspeak or Discord? When playing team games, it is nice to have individual voice channels for each team. Another point would be user rights management, so basically what a user can or cannot do (maybe with a role-based approach: create roles like admin or read-only that you can assign to individual users), as well as the ability to block and unblock users (is this even possible with P2P?).

jerrimu@lemmy.world on 01 Jun 07:52 collapse

I’m planning to implement some sort of auth system. My current thoughts are host is auto admin, and they can pass admin. The overall issue with admin features, is if someone knows the room/password combo, theres no way to keep them out. Reloading the website or app will generate another peer ID.

I’ll mess with the kanban stuff some.

kittenzrulz123@lemmy.blahaj.zone on 31 May 12:43 next collapse

What does it do above matrix,m

crazyminner@lemmy.ml on 31 May 17:17 next collapse

At a glance looks easier to setup, less complicated, a few more features, Kanban, Notes etc. One big thing is the P2P. Matrix needs a server to run, this is P2P.

kittenzrulz123@lemmy.blahaj.zone on 31 May 18:43 collapse

Yeah but it also looks like it lacks federation and support for third party clients

crazyminner@lemmy.ml on 31 May 18:55 collapse

federation isn’t really required here since account creation is trivial and non-persistent from the looks of it. Third party clients and being a protocol are definitely pros that matrix has over this. Matrix is definitely a lot more fleshed out than this project, but even though its new it already has more to it in some ways than matrix has. It also feels way more snappy than matrix, matrix can be sluggish at times.

jerrimu@lemmy.world on 01 Jun 09:04 collapse

IT has some features matrix doesn’t, but matrix has many features peersuite lacks also.

toastmeister@lemmy.ca on 31 May 17:24 next collapse

Kanban is interesting, as it makes it seem like its geared towards work in some ways?

Is Documents a wiki section or a file repo?

jerrimu@lemmy.world on 01 Jun 02:00 collapse

Yeah that was the plan to make it good for teams or friends. Documents is just for collaborative writing, You can create/rename/delete documents that live in storage until you print them. Importing files to edit would be a good addition.

tobi_tensei@lemmy.ml on 31 May 17:25 next collapse

just improve the UI, rest is great

jerrimu@lemmy.world on 01 Jun 07:54 collapse

I’m hoping a design guru submits a PR. I honestly put a lot of thought into the UI, I just think I’m not skilled enough.

Psythik@lemm.ee on 31 May 22:26 next collapse

Sweet, I’ve been looking for something exactly like this for my upcoming radio station. I was going to use RocketChat but man is it a pain in the ass to get it to do the things I want it to do.

How difficult is it to install, configure, and keep Peersuite up to date? Does it integrate well with websites? Would it be suitable for use as a public chat? The whole “no server” thing is concerning, especially since I’ll need to be able to see a full chat history at any given moment (for moderation purposes).

jerrimu@lemmy.world on 01 Jun 01:57 collapse

I don’t have ANY moderation tools yet. TBH probably not the best fit for you right now.

Psythik@lemm.ee on 01 Jun 02:05 collapse

When I saw the words “Discord alternative”, I got excited. Disappointing, but thanks for the heads up.

I’ll check back in a few months to a year to give you time to build up the featureset. Thank you for making this. Discord doesn’t have enough competition.

crazyminner@lemmy.ml on 03 Jun 00:55 next collapse

Can you please add the ability to delete chat channels after they have been created. Thank you for making this.

jerrimu@lemmy.world on 03 Jun 04:02 collapse

I will put that in my to-do list, that’s a great idea!

Xttweaponttx@sh.itjust.works on 03 Jun 18:32 next collapse

I have been searching for a discord alternative for so long 😭 THANK YOU THANK YOU! Cannot wait to start testing this out with friends 😃

How do we get this listed on alternative.to alternativeto.net ? Would love to get this posted on there for more folks to find it on their own prerogative!!

jerrimu@lemmy.world on 03 Jun 23:16 collapse

It’s on alternativeto.net needs upvotes alternativeto.net/software/peersuite/

Xttweaponttx@sh.itjust.works on 04 Jun 16:19 collapse

Ah nice, seems I misremembered that URL also! Fixed my comment 🙂

So excited to see this progress!! 😃❤️

Alfredolin@sopuli.xyz on 05 Jun 17:21 collapse

Amazing!