this post was submitted on 23 Nov 2023
100 points (98.1% liked)
Fediverse
28295 readers
855 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Each fediverse service needs its own domain and cannot share with others.
So we put them as subdomains, (service).domain.com, so we can run multiple under the same top level domain.
The majority of Fediverse instances are run by volunteers at their own cost or subsist strictly on donations. Domain registrations can get expensive and are a variable recurring cost*, so subdomains (which are free) are the natural choice. That also leaves the apex doamin available for other purposes.
*The cost to renew each year can change and often goes up.
You also can't reuse a domain between software installations (some exceptions apply when migrating between software of the same "family tree", e.g. migrating from a mastodon instance to glitch, or migrating between misskey forks) due to how federation works. Hell, reinstalling the same exact software can break federation if you wiped your database in the meanwhile.
Some software offer a "split domain" option where the software itself is installed in a subdomain like mastodon.example.com but with user handles on a separate domain (usually the root domain, like @example.com) but I am not too sure on the reusability of that, and it's not an easy thing to implement (Lemmy won't deal with that correctly and will always use the full domain for anyone on a split domain instance). There are also a handful of software (like Takahe) which let you "bring your own domain" so to speak.
Or for personal instances like mine, I don't even know what I would name it that would make sense to have as a whole TLD.
It would be nice if it supported domain delegation like Matrix does.
I'm generally not a big fan of how Lemmy just assumes its got the domain all for itself forever. I would have liked to have the webfinger API live on the root, so I can have clean handles and community names, but the inbox endpoints and UI would be on a subdomain.
I've been thinking of making some proxy thing that can intelligently route ActivityPub from the root to Lemmy/Mastodon/Pixelfed and whatnot so that they can behave like one big instance and browse the same content but differently, but it sounds like as big of a project as making Lemmy itself.
That's basically what SRV records accomplish. When I looked a while back to see if ActivityPub had support/plans to support them, I landed on, I think, a Mastaton feature request where the response was "won't implement SRV" because "webfinger already does that" (it does not).
Personally, I think SRV records and webfinger solve different problems and can complement each other. The ActivityPub software would lookup the SRV record matching its platform and use the result from that to query the correct webfinger endpoint to resolve the user's URI for that platform.
I have no idea why SRV records seem to have fallen out of fashion, but they would easily solve the delegation problem since that's exactly what they were designed for. lol
So much yes. You'd think that'd be the first thing they'd bake in the ActivityPub spec, given it governs how the user handles are handled, they even look like E-Mail addresses. Yet nobody seems to have thought about making the usernames sane. It's the first thing I looked up while setting my Lemmy, can I make the username look less stupid, as I did with Matrix when I set that one up.
There's a weird trend towards stuffing everything as HTTP(S) web APIs and JSON. We're about to get to a point where everything will talk over websockets because we forgot TCP exists.
Ha, one of my biggest pet peeves is developers poorly re-inventing a wheel that already exists as a standard.
ActivityPub does not govern how user handles work. All AP actors are defined by their IDs (which in Lemmy's case happens to be the URL their profile is hosted in, which is a mistake as you cannot change your username without breaking federation, but at least Lemmy isn't alone, both Mastodon and I think *oma family of software do the same thing)
AFAIK the @username@instance convention is Webfinger's doing, and (to the best of my very incomplete knowledge) the convention of "preferredUsername @ the hostname of the object ID" is a hack Mastodon pulled that got adopted as a de-facto standard (as is quite a lot of other things in AP).
Yeah, I made a new subdomain "Lemmy" to www.mindoki.com.
Edit: for those who didn't get it, so to go to Lemmy it is now lemmy.mindoki.com
I mean what should I have done? It's a Lemmy server, not an instance so who knows what it'll end up being. And dead.mindoki.com seems a bit too foreboding.
Cheers :-)
back in the day, it wasnt uncommon for people to use exchange.whatever.com for their email host, clearly exchange being the microsoft product.
i prefer either an abstract name (smurfs) or something specific to its purpose.
in my ancient world view, www. is your website host, mail. is your email host, etc. a good generic for the fediverse would be something like social.mydomain.com
then if you change software, you don't have to lose connectivity.
i went loopy with moist.catsweat.com running mbin
Check the orig post ;-)
When it goes up you can usually transfer to another provider for a decent discount. I recently did this with one of my domains when godaddy went nuts on a renewal for a domain I've had for like 10+ years at this point.