• 4 Posts
  • 182 Comments
Joined 2 years ago
cake
Cake day: April 27th, 2024

help-circle
    1. Signal
    2. XMPP
    3. Matrix

    In that order. I self-host both XMPP and Matrix, and I wouldn’t want to stop using matrix. Spaces, arbitrary amounts of self-chats, and so on are great. I use matrix every day.

    But for chatting… It sooner or later fails you. It’s slow. Notifications break. Messages are shown as sent, but somehow do not appear in the recipient’s devices until TWO WEEKS LATER (yeah IDK, happened twice already, in different chats and directions. Best part is, I’m not even federated!). Encryption is great IF YOU KNOW SOME CRYPTOGRAPHY BASICS, and utterly confusing otherwise.

    XMPP just works. Especially the calls, holy shit, I had to fight Matrix for so long to make voice and video calls work, and xmpp just… Works. Notifications are way more reliable (as in, have been absolutely perfect). I really like monocles as a chat app on Android. (The downside is: can’t decrypt old messages on new devices, and desktop clients are ugly.)

    So why Signal above XMPP?

    Because it’s not your fault should something ever break in a vital service. Also the encryption and privacy afforded by it a great.




  • smiletolerantly@awful.systemstoLinux@lemmy.mlWhy?
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

    Grew up on it. My dad set up a Ubuntu 4.10 PC for my brother and I when we were 3/5 (no internet, obv), and it stuck.

    Used Windows for a brief time in highschool to be able to play online with friends.

    Went right back to Linux when going to university. Will never change back, both for ideological reasons and because Linux is just better.

    Next step: NixOS on a phone


  • TBH, it sounds like you have nothing to worry about then! Open ports aren’t really an issue in-and-on itself, they are problematic because the software listening on them might be vulnerable, and the (standard-) ports can provide knowledge about the nature pf the application, making it easier to target specific software with an exploit.

    Since a bot has no way of finding out what services you are running, they could only attack caddy - which I’d put down as a negligible danger.


  • My ISP blocks incoming data to common ports unless you get a business account.

    Oof, sorry, that sucks. I think you could still go the route I described though: For your domain example.com and example service myservice, listen on port :12345 and drop everything that isn’t requesting myservice.example.com:12345. Then forward the matching requests to your service’s actual port, e.g. 23456, which is closed to the internet.

    Edit: and just to clarify, for service otherservice, you do not need to open a second port; stick with the one, but in addition to myservice.example.com:12345, also accept requests for otherservice.example.com:12345, but proxy that to the (again, closed-to-the-internet) port :34567.

    The advantage here is that bots cannot guess from your ports what software you are running, and since caddy (or any of the mature reverse proxies) can be expected to be reasonably secure, I would not worry about bots being able to exploit the reverse proxy’s port. Bots also no longer have a direct line of communication to your services. In short, the routine of “let’s scan ports; ah, port x is open indicating use of service y; try automated exploit z” gets prevented.


  • I am scratching my head here: why open up ports at all? It it just to avoid having to pay for a domain? The usual way to go about this is to only proxy 443 traffic to the intended host/vm/port based on the (sub) domain, and just drop everything else, including requests on 443 that do not match your subdomains.

    Granted, there are some services actually requiring open ports, but the majority don’t (and you mention a webserver, where we’re definitely back to: why open anything beyond 443?).