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/
just improve the UI, rest is great
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?
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.
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.
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!
Thanks!
What does it do above matrix?
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.
Yeah but it also looks like it lacks federation and support for third party clients
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.
Any reason you chose github vs codeberg? Just wondering. Gave your project a star regardless. Nice work!
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
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)?
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.
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).
It’s peer-to-peer, there’s no server
The best way for self hosting is docker
🤔
Yes, it takes an initial connection for discovery. The peers need to know how to find each other.
If there’s no account, how do I “log in” to my community or whatever
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
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?
Just log back in with the room code and password.
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.
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
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.
thanks!
cool in the same area as Retroshare
That was my first thought.
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.
You should ask for a refund.
The link typo hasn’t been fixed in hours,
Whoa, hey, they’re not paid on-call. Give it a few days.
I’ve been babysitting my granddaughter, just got on the laptop.
How dare you
That’s fair, the project is about a month old, the electron releases will get an installer for some platforms.
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.
Noted. Thanks for the reralistic input
You should try out something that utilizes the normal system webview instead of electron that just bundles chromium.
Check out tauri
Tauri webview doesn’t support WebRTC, would have preferred that. Using system webview would be super iffy because of WebRTC support.
Ahhh interesting. I haven’t worked with webrtc so never ran into that!
Is this open source? Otherwise this feels like a honey pot.
completely! https://github.com/openconstruct/Peersuite
Asked the same question I was gonna, so I did the googling.
https://github.com/openconstruct/Peersuite
AGPL
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.
It’s fairly amateur I guess, but I’m not rolling my own cryptography or anything.
This needs to be widely known. I didn’t test all the functions yet, but if this works, this is big!
Everything works!
And revolt was right there being all open source and stuff
Revolt uses a server.
Revolt is not E2EE, h fortunately.
But it’s not decentralized
How do you think matrix feels.
You mean Matrix, surely
Go tell 'em! Why have alternatives if we can just put all our eggs in one, holey, basket?
deleted by creator
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
Nah it uses https ports which are ususally open
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.
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.
Heard of Headscale?
You can run your own, or community run, headscale server technically.
Yet you trust your isp, curious
Assumption on your end. I dont trust the ground I walk on.
I’ll look into it. currently using trystero-torrent.