Sinds Elon Musk Twitter heeft overgenomen, vlucht menigeen naar het platform Mastodon, dat enigszins op Twitter lijkt, maar het niet is. Gebruikt de twitteraar dezelfde gebruikersnaam bij Mastodon, dan is hij of zij doorgaans snel gevonden. Je gebruikersnaam bij één van de vele servers of instances – soms met lastig te onthouden serveradressen – koppelen aan je eigen domein is interessant.
Intro
Eén van mijn Mastodon-accounts heeft een niet heel makkelijk te onthouden webadres: social.linux.pizza/@kamasystems
.
Mastodoniërs die mij willen volgen, moeten of dit webadres opzoeken m.b.v. de zoekfunctie van Mastodon of simpelweg zoeken op kamasystems. Nu is kamasystems een tamelijk unieke gebruikersnaam, dus de zoektocht zal mijn account wel opleveren.
Anders wordt het, als je je eigen voornaam hebt weten te registreren bij één van de talloze servers en je adres er dan zo uitziet: mastodonia.voorbeeld/@hans
.
Als mensen gaan zoeken op gebruikersnaam hans, dan is de kans groot dat je een hele lijst van gebruikers met de naam Hans gepresenteerd krijgt.
Dat moet beter kunnen.
Eigen Mastodon-server optuigen?
Ben je een knutselaar, dan richt je je eigen Mastodon-server in met het vrij te verkrijgen (Open Source) softwarepakket onder je eigen (sub)domein, bijv. masto.kamasys.nl
. Daarop meld je je aan als gebruiker Hans en vervolgens kun je andere accounts volgen, alsook gevolgd worden op masto.kamasys.nl/@hans
. Je bent dan ook je eigen beheerder en kunt de server naar eigen inzicht configureren en eventueel een kleine vriendengroep toegang verschaffen. Het installeren en de configuratie is een pittige klus en heb je je eigen server eenmaal up ‘n runnin’, dan moet je nog rekening houden met regulier onderhoud, de noodzakelijke beveiliging en het typische admin-werk m.b.t. de community van de andere servers in het Mastodon-netwerk.
Na enkele ervaringen gelezen te hebben van mensen die dit gedaan hebben, leek me dit toch niet zo’n goed plan. Veel tijd en moeite voor iets dat voor mij niet meer dan een project is om de werking van Mastodon te doorgronden.
Mogelijkheid twee is om voor een klein bedrag per maand bij een commerciële, in Mastodon gespecialiseerde hoster je server in te richten en vervolgens je eigen domein daar naartoe te laten verwijzen. Er zijn enkele aanbieders, maar de goedkoopste die ik vond en die vaak gunstig beoordeeld wordt, t.w. MastoHost, heeft (dec. 2022) een stop op de aanmeldingen ingesteld, omdat ze niet voldoende capaciteit hebben. Zie voor ervaringen o.a.:
- Jacob Kaplan-Moss – Setting up a personal Fediverse ID / Mastodon instance
- Łukasz Wójcik – Self-hosting Mastodon for the adventurous
Tijd voor Plan B
Plan B behelst twee stappen die niet noodzakelijkerwijs beide nodig zijn. Je kunt of stap 1 of stap 2 doen, naar gelang wat je het meest boeiend vindt of nuttig lijkt. Maar beide stappen doen is leuk en leerzaam, waarbij ik het protocol WebFinger het interessantst vind, omdat je daarmee vrij eenvoudig een aantal aliassen voor je gebruikersnaam kunt maken. Uiteraard is het hebben van een eigen domein noodzakelijk, in mijn geval de domeinen kamasys.nl en kamafotos.nl die ik koppel aan respectievelijk de Mastodon-accounts kamasystems en kamafotos.
Stap 1: eigen domein doorlinken
Veel goedkoper dan je heil bij een hoster zoeken en feitelijk net zo effectief, is het simpelweg doorverwijzen van een ./map of subdomein van je eigen website naar de Mastodon-server waar je een account hebt geopend. Dit doorverwijzen kan op verschillende manieren: in het beheersysteem van de webhoster, met een paar regels in .htaccess of m.b.v. een doorverwijsscript in PHP dat je als index.php plaatst in de ./map of in het subdomein. Zodra gebruikers dan klikken op kamasys.nl/masto
of masto.kamasys.nl
, komen ze automatisch terecht bij social.linux.pizza/@kamasystems
. In je signatures (mail, web-profiles, webpagina-footers, visitekaartjes enz.) vermeld je het eenvoudiger te onthouden en persoonlijker (!) webadres, dat je bij een klik doorstuurt naar de server, waar je je Mastodon-account hebt gehuisvest. Ik zette deze regel PHP in index.php van de map ./masto:
<?php
header("location: https://social.linux.pizza/@kamasystems"); exit;
?>
En de verwijzing naar social.linux.pizza/@kamasystems
werkt:
(link opent in nieuw venster of nieuwe browsertab)
Stap 2: WebFinger
Met het protocol WebFinger kun je aan je eigen domein gekoppelde gebruikersnamen creëren die als aliassen fungeren voor je gebruikersnamen bij Mastodon. Deze aliassen kun je zelf verzinnen en zien eruit als e-mailadresssen, maar zijn dat niet. Je kunt voor de apenstaart om het even wat opgeven, het zal met WebFinger altijd werken en doorverwijzen naar je Mastodon-account. Dit betekent dat je bij Mastodon kunt zoeken en gevonden worden op deze ogenschijnlijke e-mailadressen. Wie een account bij Mastodon heeft, kan dit proberen door te zoeken op masto@kamasys.nl
of masto@kamafotos.nl
. Mijn beide hier genoemde accounts zullen als uniek (!) zoekresultaat getoond worden door Mastodon. Maar e-mail zullen deze ‘adressen’ nooit ontvangen, mits je hiervoor geen echte e-mailadressen gebruikt. *)
Zoals zo vaak bij computers en netwerken zijn er vele wegen om bij hetzelfde doel te geraken. Wat hierna volgt, is slechts één methode. Het zijn de stappen die ik deed om het protocol WebFinger in te zetten voor wat ik beoogde, nl. het koppelen van mijn domein aan mijn Mastodon-account en het creëren van een eigen user id of gebruikersnaam die herkenbaar samenhangt met mijn website en waarop gezocht kan worden bij Mastodon. Voor wie de ins & outs wil weten van het protocol, die klikt op één of meer van de links onder het artikel.
- Maak op de server van je website in de root een map .well-known en vergeet daarbij de punt aan het begin niet. Dit maakt de map tot een hidden directory.
- Maak in de map .well-known een nieuwe map met de naam webfinger.
- Upload een tekstbestand met de naam index.php. Dit bestand sluit a.h.w. de map af en maakt hem tegelijkertijd bereikbaar voor Mastodon.
- In het tekstbestand moet de volgende regel staan:
<?php header("location: https://mastodonia.voorbeeld/.well-known/webfinger?resource=acct:gebruikersnaam@mastodonia.voorbeeld"); exit; ?>
… waarbij opgemerkt dat
mastodonia.voorbeeld
vervangen wordt door je eigen Mastodon-server, zoals bijv.mastodon.social
engebruikersnaam
vervangen wordt door je eigen gebruikersnaam bij Mastodon. - Verzin een gebruikersnaam die gekoppeld is aan je eigen domein, bijv.
pietje@example.org
- Test of het werkt bij WebFinger.net door rechtsboven
pietje@example.org
bij Lookup WebFinger: in het testvenstertje in te geven. - Bekijk het resultaat.
Als ik al bovenstaande stappen uitvoer bij mijn website kamasys.nl
en als test masto@kamasys.nl
invoer, dan is dit het beoogde testresultaat:
{
"subject": "acct:kamasystems@social.linux.pizza",
"aliases": [
"https://social.linux.pizza/@kamasystems",
"https://social.linux.pizza/users/kamasystems"
], "links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://social.linux.pizza/@kamasystems"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://social.linux.pizza/users/kamasystems"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe",
"template": "https://social.linux.pizza/authorize_interaction?uri={uri}"
}
]
}
Zie: JSON Resource Descriptor (JRD)
- Test als laatste of
pietje@example.org
bij Mastodon gevonden wordt en als uniek resultaat je account toont.
*) Opmerking: gebruik bij het gekoppelde domein geen z.g. catch-all e-mailadres. Dit is een uitnodiging aan het spammersgilde om ook Mastodon te scannen op bruikbare e-mailadressen. Het resultaat zal ladingen spam in je inbox zijn of in het spamfilter van je e-mailprovider. Zorg ervoor dat pietje@example.org
geen bestaand e-mailadres is. En dat ook iiodhbjhlksfghjkjg@example.org
niet in je inbox terechtkomt.
Wordt vervolgd…
links
- Installeer Mastodon – GitHub
- Mastodon – What is WebFinger, and why is it used?
- WebFinger – Wikipedia
- Packetizer – Introduction to WebFinger – inclusief PDF
- WebFinger.net – inclusief test
- RFC Editor – RFC 7033: WebFinger
- WebFinger – GitHub
- ActivityPub – W3C Recommendation
- JSON – Inleiding tot JSON
- kamasys.nl/masto – user alias:
masto@kamasys.nl
- kamafotos.nl/masto – user alias:
masto@kamafotos.nl
lees ook: Deel op Mastodon
illustraties:
Eugen Rochko (GNU AGPL 3.0)
Eran Hammer (CC BY 3.0)