this post was submitted on 06 Jul 2025
405 points (99.5% liked)

Selfhosted

46653 readers
1465 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Who benefits from this? Even though Let’s Encrypt stresses that most site operators will do fine sticking with ordinary domain certificates, there are still scenarios where a numeric identifier is the only practical choice:

Infrastructure services such as DNS-over-HTTPS (DoH) – where clients may pin a literal IP address for performance or censorship-evasion reasons.
IoT and home-lab devices – think network-attached storage boxes, for example, living behind static WAN addresses.
Ephemeral cloud workloads – short-lived back-end servers that spin up with public IPs faster than DNS records can propagate.
top 49 comments
sorted by: hot top controversial new old
[–] Allero@lemmy.today 9 points 8 hours ago (1 children)

F I N A L L Y

Now tell me it supports IPv6 and I'll be the happiest man alive

[–] LifeInMultipleChoice@lemmy.world 2 points 2 hours ago* (last edited 2 hours ago) (2 children)

Maybe I'm not understanding it but I can't see what I would use this for due to the 6 day issue period. Bringing a NAS up to copy data for a couple days is the only real use case I find for home users.

Because even if you pay for a static external IP from your ISP, this doesn't support using such for longer than that period right?

[–] Vorpal@programming.dev 2 points 23 minutes ago (1 children)

Let's Encrypt is meant yo be used with automated certificate renewal using the ACME protocol. There are many clients for this. Both standalone and built into e.g. Caddy, Traefik and other software that does SSL termination.

So this specific concern doesn't really make sense. But that doesn't mean I really see a use case for it either, since it usually makes more sense to access resources via a host name.

[–] LifeInMultipleChoice@lemmy.world 1 points 20 minutes ago

Thanks! I'll look into that, this could be useful for me then after all. This is why it's always good to ask questions

[–] Allero@lemmy.today 1 points 1 hour ago (1 children)

Can't it automatically be renewed?

[–] LifeInMultipleChoice@lemmy.world 1 points 22 minutes ago* (last edited 21 minutes ago)

Not sure, I just saw the 6 day thing in the article, that would be nice though

Edit: vorpal says you should be able to using ACME https://programming.dev/comment/17987211

[–] bjoern_tantau@swg-empire.de 2 points 8 hours ago (1 children)

I never understood why we don't use IP certificates to encrypt the domain with SNI.

[–] dariusj18@lemmy.world 2 points 7 hours ago (2 children)
[–] Zagorath@aussie.zone 8 points 5 hours ago (2 children)

In much simpler terms:

Think of an IP address like a street address. 192 My Street.

There might be multiple businesses at one street address. In real life we address them with things like 1/192 My Street and 2/192 My Street, but there's no direct parallel to that in computer networks. Instead, what we do is more like directing your letter to say "Business A c/o 192 My Street". That's what SNI does.

Because we have to write all of that on the outside of the envelope, everyone gets to see that we're communicating with Business A. But what if one of the businesses at 192 My Street is highly sensitive and we'd rather people didn't know we were communicating with them? @bjoern_tantau@swg-empire.de's proposal is basically like if you put the "Business A" part inside the envelope, so the mailman (and anyone who sees the letter on the way) only see that it's going to 192 My Street. Then the front room at that address could open the envelope and see that the ultimate destination is Business A, and pass it along to them.

[–] AnUnusualRelic@lemmy.world 1 points 4 hours ago

There's Encrypted Client Hello, supported by major browsers that does the SNI encryption. It's starting to be fairly widely supported.

[–] Vinstaal0@feddit.nl 1 points 4 hours ago

192 My Street

Except that with street addresses there is such a lack of inconsistency on how they work and are written that it is funny

[–] bjoern_tantau@swg-empire.de 4 points 7 hours ago

Currently before establishing an encrypted connection to a webserver the domain is sent to the webserver unencrypted so that the server can choose the appropriate certificate to use for encryption. That is called SNI, Server Name Indication.

Of course that's a privacy risk. There are finally protocols to fix this but they aren't very widespread and depend on DNS over HTTPS.

I think issuing certificates based on the IP and sending the domain name encrypted based on that certificate could have fixed this issue ages ago.

[–] comrade_twisty@feddit.org 104 points 21 hours ago (4 children)

Can I get a cert for 127.0.0.1 ? /s

[–] jj4211@lemmy.world 7 points 4 hours ago (1 children)

If you can get their servers to connect to that IP under your control, you've earned it

[–] comrade_twisty@feddit.org 3 points 2 hours ago

Nothing a ski mask and a little mission impossible can’t fix :)

[–] Bort@hilariouschaos.com 6 points 4 hours ago

Is /s more or less IPs than /24? I need lots of IPs in case I want to expand

[–] howrar@lemmy.ca 88 points 19 hours ago (2 children)

How many bits is a /s mask?

[–] lando55@lemmy.world 17 points 15 hours ago (1 children)
[–] Cyber@feddit.uk 3 points 2 hours ago

Is that the same i as the squareroot of -1?

[–] unexposedhazard@discuss.tchncs.de 43 points 21 hours ago (3 children)

The down votes are from people who work in IT support that have to deal with idiots that play with things they dont understand.

[–] Gonzako@lemmy.world 2 points 5 hours ago

nah, I was once an idiot who didn't understand so idgaf

[–] kautau@lemmy.world 19 points 20 hours ago (2 children)

It’s unfortunate they don’t know what /s means

[–] spongeborgcubepants@lemmy.world 2 points 5 hours ago

It obviously means "secure"

[–] fatalicus@lemmy.world 3 points 11 hours ago

We do, it's just that those users will also often go "nah, I'm just joking!" then do some shit anyways.

[–] possiblylinux127@lemmy.zip 8 points 21 hours ago* (last edited 21 hours ago) (2 children)

How do I setup a reverse proxy for pure TCP?

[–] Lv_InSaNe_vL@lemmy.world 1 points 2 hours ago

It's called buying more static IPs and making your ISP deal with it haha

[–] Laser@feddit.org 14 points 21 hours ago

Think that's called NATing

[–] avidamoeba@lemmy.ca 7 points 15 hours ago (1 children)

Would this work with a public dynamic DNS?

[–] SteveTech@programming.dev 11 points 15 hours ago

With dynamic DNS? Yeah it always has, as long as you can host a http server.

With a dynamic IP? It should do, the certs are only valid for 6 days for that reason.

[–] AliasVortex@lemmy.world 52 points 22 hours ago (3 children)

That's kind of awesome! I have a bunch of home lab stuff, but have been putting off buying a domain (I was a broke college student when I started my lab and half the point was avoiding recurring costs- plus I already run the DNS, as far as the WAN is concerned, I have whatever domain I want). My loose plan was to stand up a certificate authority and push the root public key out with active directory, but being able to certify things against Let's Encrypt might make things significantly easier.

[–] fmstrat@lemmy.nowsci.com 7 points 15 hours ago (1 children)

I use a domain, but for homelab I eventually switched to my own internal CA.

Instead of having to do service.domain.tld it's nice to do service.lan.

[–] martin@lemmy.caliban.io 3 points 11 hours ago (2 children)

Any good instructions you would recommend for doing this?

[–] fmstrat@lemmy.nowsci.com 2 points 6 hours ago

I just use openssl"s built in management. I have scripts that set it up and generate a .lan domain, and instructions for adding it to clients. I could make a repo and writeup if you would like?

As the other commenter pointed out, .lan is not officially sanctioned for local use, but it is not used publicly and is a common choice. However you could use whatever you want.

[–] eneff@discuss.tchncs.de 2 points 8 hours ago (1 children)

use the official home.arpa as specified in RFC 8375

[–] fmstrat@lemmy.nowsci.com 3 points 6 hours ago

No thanks. I get some people agreed to this, but I'm going to continue to use .lan, like so many others. If they ever register .lan for public use, there will be a lot of people pissed off.

IMO, the only reason not to assign a top-level domain in the RFC is so that some company can make money on it. The authors were from Cisco and Nominum, a DNS company purchased by Akamai, but that doesnt appear to be the reason why. .home and .homenet were proposed, but this is from the mailing list:

  1. we cannot be sure that using .home is consistent with the existing (ab)use
  2. ICANN is in receipt of about a dozen applications for ".home", and some of those applicants no doubt have deeper pockets than the IETF does should they decide to litigate

https://mailarchive.ietf.org/arch/msg/homenet/PWl6CANKKAeeMs1kgBP5YPtiCWg/

So, corporate fear.

[–] qaz@lemmy.world 17 points 21 hours ago (1 children)

FYI you can get a numeric xyz domain for 1$ a year

[–] Serinus@lemmy.world 5 points 19 hours ago (1 children)

At least for the first year.

[–] clb92@feddit.dk 13 points 19 hours ago

Pretty sure it remains $1. But it's specifically only 6-9 digit numeric .xyz domains.

[–] oasis@piefed.social 12 points 21 hours ago (1 children)

Setting up a root and a immediate CA is significantly more fun though ;) It's also teaches you more about PKI which is a good skill to have.

[–] WhyJiffie@sh.itjust.works 2 points 18 hours ago

but for the love of god and your own benefit, put a name constraint directly on the root cert

[–] thann@lemmy.dbzer0.com 14 points 22 hours ago (1 children)

Its like self signed certs with the convience of a third party

[–] AHemlocksLie@lemmy.zip 3 points 8 hours ago

Maybe kinda, but it's also a third party whose certificates are almost if not entirely universally trusted. Self-signed certs cause software to complain unless you also spread a root certificate to be trusted to any machine that might use one of your self-signed certs.

[–] SnotFlickerman@lemmy.blahaj.zone 3 points 22 hours ago
[–] squaresinger@lemmy.world 0 points 18 hours ago (2 children)

Couldn't this prove very troublesome in combination with carrier grade nat?

[–] jj4211@lemmy.world 1 points 4 hours ago

They will require the requester to prove they control the standard http(s) ports, which isn't possible with any nat.

It won't work for such users, but also wouldn't enable any sort of false claims over a shared IP.

[–] melmi@lemmy.blahaj.zone 9 points 18 hours ago* (last edited 18 hours ago) (1 children)

I don't see how? Normal HTTP/TLS validation would still apply so you'd need port forwarding. You can't host anything on the CGNAT IP so you can't pass validation and they won't issue you a cert.

[–] squaresinger@lemmy.world 1 points 10 hours ago (1 children)

You can totally host something on carrier-grade NAT using techniques like NAT hole punching.

[–] deadcade@lemmy.deadca.de 5 points 9 hours ago

You don't get control of the incoming port that way. For LetsEncrypt to issue a certificate primarily intended for HTTPS, they will check that the HTTP server on that IP is owned by the requesting party. That has to live on port 80, which you can't forward on CGNAT.