Since Discord announced they’re going to help Petie T collect selfies of us all I’ve been working on a self hosted alternative mostly for my mates. I had five goals in mind when I started this:

  • Text Channels
  • Voice channels
  • Screen Sharing
  • End to end encrypted DMs
  • Able to run on pretty much any web hosting

I’ve reached that point now and figured why not slap the GPL on it and send it out into the wild.

I’m sure there’ll be lots of bugs and I don’t think it will scale well. I never set out to make something that would grow into a behemoth that’s used for customer support and all sorts of shit.

The goal was to make something that covers that trifecta of text/voice/screensharing, without relying on P2P connectivity, and able to do it well for small groups of people.

There are more features I have in mind if it gets any interest:

  • Rate limiting on backend requests
  • Quasar app with the ability to add more than one server (the frontend is already built in Quasar and I started writing some code for it but I’m mostly building this for myself + friends where I host my own instance so I’ve not given it much attention)

So yeah, I’m not a professional dev, this is a hobby for me. Would be cool to see if anyone manages to get it running.

  • obelisk_complex@piefed.ca
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    6 hours ago

    Would be easier to contribute to XMPP or Matrix IMO.

    Synapse is in the middle of a rebuild without much compatibility between the legacy and new builds, and it’s a pain in the dick to set up at the moment. I know, because I did it.

    XMPP I haven’t tried to set up yet, but I imagine it to be similarly in-depth.

    As to why not contribute: edit: not AI, they just don’t have the confidence in their own skills to contribute to anyone else’s project.

    Now… why do the whole thing from scratch instead of forking? Great question. XMPP might just need a nice coat of paint, if it can handle voice and video and screen share; I haven’t come away with great impressions of matrix/synapse.

    • briffy@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      7 hours ago

      I ran synapse for about a year with a STUN server so I could have voice/video and it was painful to set up and painful every time an update came around.

      When discord started doing the ID verification thing I looked at alternatives and it seemed to be mumble, Teamspeak and matrix/synapse as the top contenders. None of them quite did the three text/voice/screen share though. Mumble is good at text/voice. Teamspeak 3 does the full package but screen share doesn’t work in Linux and requires additional setup/P2P, you also need an account with them so they will eventually go down the same route as discord. Matrix/synapse can do all three but as mentioned, it’s a nightmare.

      As for why I’d create my own instead of forking an existing project: I just wanted to, it’s that simple. I don’t think I have the skillset to contribute to major projects, most of my code would get rejected. If I make my own, doesn’t matter. If people use it, great, if not, I’m not too bothered. I’ll probably end up pulling the whole repo down though if I keep getting called AI, that’s fucking infuriating.

      • obelisk_complex@piefed.ca
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        7 hours ago

        I’m right there with you, bud. I tried StoatChat too, and I got a nice email from the German government about using an outdated version of React with RCE vulnerabilities. I think this must be a very difficult problem to properly solve, given the number of different approaches and how all of them have their own issues to contend with. Nextcloud Talk is the most usable option I’ve found because it does voice, video, and screen sharing and it also has call links you can send for unregistered people to join the calls. But performance is spotty even with the “high performance backend” set up (that may be due to my server being in Germany though 😅).

        As to being accused of using AI, don’t let it get to you. The people yelling the loudest can’t tell the difference between handwritten code and AI, because they can’t code. If you pull down your repo, you’ll be depriving people who might be able to use your project because of trolls who never would have tried it in the first place.

        I do use AI for coding, and I’ve gotten plenty of hate for it, but also people who don’t care and just want the functionality of the tool I built.

        And in fact I’m going to check out your project and see if I can get it up and running, so please don’t take it down. I’ll likely be putting it on my German server so I’ll let you know what the performance is like with extreme round trips 😁

        • briffy@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          6
          ·
          7 hours ago

          Thank you so much. I’ve run through the setup so many times and got a few instances of it running but I also understand how it’s all working under the hood so I have a home field advantage. It would be a massive help to have someone go through the setup and make sure it’s actually doable by someone that didn’t make the thing because I’m so paranoid I’ve missed something in the instructions and it just simply doesn’t work.

          The poll rate on the audio is pretty aggressive, will be interesting to see what happens if your requests take longer than the poll rate of sending/receiving audio. I’ve accounted for packets arriving out of order so should be okay but… We’ll see. 👀