this post was submitted on 21 Dec 2025
22 points (84.4% liked)

Programming

24030 readers
300 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

For a few months I've spent my free time working on a C++ messenger. It started off pretty simple, just two input boxes for IP address and port number, more of a fun experiment. From there it started to grow and soon allowed for peers to connect automatically using a relay. For a while it only allowed two people to speak at once, which was good for security but was very inconvenient. Now Retro Messenger allows multiple users to speak at once, sending encrypted files and messages that exist only in memory.

Although there is plenty of things I could improve, I was curious to see if anyone had suggestions or requests for what else could be added. I'm currently debugging a local-logs feature, and I could look into how to implement voice calls in the future. Thanks for your time and feel free to ask questions

Landing page: https://retromessenger.space/

all 20 comments
sorted by: hot top controversial new old
[โ€“] Proto@programming.dev 1 points 1 day ago

What got banned ๐Ÿ˜ญ

[โ€“] anton@lemmy.blahaj.zone 25 points 3 days ago

Where is the source code?
You can't make any claims about privacy without it.

[โ€“] 56_@slrpnk.net 10 points 3 days ago (1 children)

Not sure what's up with the website, but my computer was unable to handle it. Had to restart. Maybe cut down on the constant animations? A version that works without JS would be nice as well. Sounds interesting otherwise.

[โ€“] Proto@programming.dev 2 points 3 days ago (1 children)

Thank you. Yeah I think I'll have to cut them. I thought they looked interesting but they're probably a bit much.

[โ€“] gtrcoi@programming.dev 2 points 2 days ago (1 children)

I was just about to comment on the page name glitch effect being pretty cool. Did you use some off the shelf solution for that or make it yourself?

[โ€“] Proto@programming.dev 2 points 2 days ago

Thanks, I like it too ^^ I researched it a bit but it's custom made

[โ€“] jjjalljs@ttrpg.network 8 points 3 days ago (1 children)

Would probably need to be open source to be trustworthy. Running a random executable from the Internet seems dicey.

Needs more screenshots. The two that are on the site don't render great on mobile. Can only see a small portion.

I'm unclear how you find another user and verify who they are.

Website should have a clearer feature list. The user manual wants to download a text file instead of showing it in the browser.

[โ€“] Proto@programming.dev 0 points 3 days ago (2 children)

Thanks for the feedback. Should I show snippets of the relay server code or the entire process? Could this be seen as a security risk or do you think the feedback and suggestions from more experienced programmers outweighs that? With the finding users thing, I suppose it's a little tricky. I sort of imagined it as users connecting through other sites (or the public chatrooms in RM) and using Retro Messenger as a secure messenger, more of a secure, easy tool rather than something people are on constantly like Discord or Messenger.

[โ€“] jjjalljs@ttrpg.network 11 points 3 days ago

For the code, open source is probably the way to go. People should be able to build from source. Otherwise, how do they know you're not doing something shady. Open source is generally a net improvement on security, assuming people actually look at it.

For screenshots, first fix it so the screenshots render nicely on narrow displays.

Is just organize, document, and throw it up in GitHub.

[โ€“] neonix@reddthat.com 3 points 3 days ago* (last edited 3 days ago) (1 children)

Seems like there's some good advice already in this thread for what might come next for you. I had no issues with the website on my mobile. (I like the aesthetic!) Props to you for choosing a tech stack and a goal and putting something into the world ๐Ÿ˜„ Keep it up!

[โ€“] Proto@programming.dev 2 points 3 days ago

Thank you so much. For some weird reason Firefox is making the images small so I'll need to fix that but it's working well elsewhere. You too ๐Ÿ˜„

[โ€“] lung@lemmy.world 4 points 3 days ago (1 children)

I don't really see a market need for this, just use signal. C++ is also a weird language to use in the modern era, pretty much totally eclipsed by Go or Rust, not that you need performance anyway. Or just use webrtc for p2p connections with a standard TURN/STUN relay for network layouts that prevent direct p2p, this can be done pure web or via apps. Already has audio/video and encryption. XMPP and Matrix are also fine. But as a learning exercise, great project

[โ€“] Proto@programming.dev 1 points 2 days ago
[โ€“] allo@sh.itjust.works -4 points 2 days ago (1 children)
[โ€“] crapwittyname@feddit.uk 2 points 2 days ago (1 children)
[โ€“] handsoffmydata@lemmy.zip 2 points 3 days ago

Iโ€™d be concerned with the type of user base this will attract. Gonna end up with more predators than Dunder Mifflin Infinity. I just have low trust in online users. Wouldnโ€™t even host a Lemmy server, having to manage text and images submitted by anonymous users, no thanks.

[โ€“] onlinepersona@programming.dev -1 points 3 days ago (1 children)

Why not build something on top of Matrix?

P.S what a terrible website. laggy as hell

[โ€“] ArcaneSlime@lemmy.dbzer0.com 1 points 3 days ago* (last edited 3 days ago)

Honestly (can't speak for OP, but) I've been moving away from matrix recently.

  • Element is buggy as hell on my phone and a shitty electron app on my laptop. The other apps mostly lack feature parity.
  • It's difficult for normals to use and thus difficult for me to convert and retain my contacts (and trying has likely hurt my chances at getting them to adopt another now that they've all fallen back to SMS).
  • Parts of it like reactions aren't encrypted and it leaks metadata hardcore
  • I found out that the Matrix [.] org foundation was started by a former Amdocs employee (in fact it started as an Amdocs project before they stopped funding it and the matrix foundation was created) which raises HUGE red flags for me. Amdocs is affiliated with mossad. Even if Matrix isn't their proximity to Amdocs who definitely is is too close for comfort.
  • Lastly I understand that things in the privacy space are often exploited by bad actors and don't directly blame Matrix for this, but the CP problem on matrix makes the public rooms basically unusable and thus removes them from the equation. First of all because of this they removed the ability to find rooms through search, which "good" but it also kneecaps innocent use of the rooms, and secondly I just don't want to see that shit so even if I know the room addr I don't want to join it anymore unless I need specific tech support from an official room listed on some project's website, and then I'm in and out. Plus now I have friends asking what kind of CP app did I make them install and asking if they'll get sent to prison for seeing that shit in the raspberry pi room, and you and I both know they won't but also I don't want to put them in that position in the first place.

I've fallen back to xmpp for now, but I've been trying out Delta Chat as of the last few days and I'm liking it, I think I could get the normals on it with the easy onboarding, and the "no public groups" thing might be a feature not a bug.

I really really wanted to like matrix but it boils down to A) even if I do a chat app is useless without my people on it and B) with the Amdocs connection I'm too paranoid to trust it and C) even if I can just avoid the public rooms and thus CP, the fact that someone I know like my mom or cousin could conceivably stumble upon it there isn't a selling point at the very least.