digitalcourage.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Diese Instanz wird betrieben von Digitalcourage e.V. für die Allgemeinheit. Damit wir das nachhaltig tun können, erheben wir einen jährlichen Vorausbeitrag von 1€/Monat per SEPA-Lastschrifteinzug.

Server stats:

811
active users

#webfinger

0 posts0 participants0 posts today

🎉 Huge shoutout to two amazing contributors from Korea's #OSSCA program who've made excellent contributions to #Fedify!

👏 @gaebalgom tackled a tricky terminal compatibility issue in PR #282, fixing the fedify node command's favicon display on terminal emulators without truecolor support (#168). His solution elegantly detects terminal capabilities and falls back to 256-color mode when needed—ensuring a great experience across different environments.

🌟 @joonnot enhanced Fedify's #WebFinger functionality in PR #281 by adding a configurable maxRedirection option to the lookupWebFinger() function (#248). He transformed a hardcoded limitation into a flexible, user-customizable parameter while maintaining perfect backward compatibility.

Both delivered thoughtful, well-implemented solutions that showcase the quality of contributions coming from the OSSCA program. Welcome to the Fedify community! :fedify:

🎉 Big thanks to @2chanhaeng for his first contribution to #Fedify! He implemented the new fedify webfinger command in PR #278, which allows isolated #WebFinger lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.

The contribution includes:

  • A new fedify webfinger <handle> command that accepts @user@domain format handles or URIs
  • Clean JSON output of WebFinger JRD results
  • Proper error handling for invalid handles and lookup failures
  • Complete #CLI integration with help text and usage examples

This was originally filed as issue #260 and marked as a good first issue—perfect for newcomers to learn the codebase structure while contributing meaningful functionality. The PR has been merged and will be included in the upcoming Fedify 1.8.0 release.

We appreciate all first-time contributors who help make Fedify better for the entire #fediverse community. Welcome aboard, ChanHaeng!

unstable.fedify.devfedify: CLI toolchain | FedifyThe fedify command is a CLI toolchain for Fedify and debugging ActivityPub-enabled federated server apps. This section explains the key features of the fedify command.

Im #Fediverse spielt das #Protokoll #WebFinger gemäß #RFC 7033 eine wichtige Rolle, um Nutzende ausfindig zu machen.

Diese Webfinger-Abfragen finden im normalen Umgang mit dem Fediverse aus Sicht der Nutzerschaft hinter den Kulissen statt. Von einer fediversalen #Instanz wird erwartet, daß sie über eine sogenannte "Well-known #URI" (dazu an anderer Stelle mehr) auf eine Webfinger-Anfrage reagiert.

Dieser (gut bekannte) Identifikator lautet:

/.well-known/webfinger?resource=acct:

(wobei die Domain der Instanz sowie die abzufragende Kennung zu ergänzen ist)

Netterweise kann man diese Abfrage auch über die Weboberfläche von webfinger.net durchführen lassen.

Wer neugierig ist und dies (z.B. mit der eigenen Fediverse-Adresse) ausprobieren will:

➡️ https://webfinger.net/ im Browser aufrufen.

➡️ Oben rechts im Suchkästchen "Lookup WebFinger" die gewünschte Adresse eingeben, z.B. tagestipp@mastodonium.de (ohne das führende At-Zeichen) oder die #URL-Schreibweise https://mastodonium.de/@tagestipp und das Ergebnis bewundern.

➡️ Es sollte ein "#JSON Resource Descriptor (JRD)" zu sehen sein. Okay, möglicherweise ist das immer noch ziemlich technisch... ;-)

Zum Nachlesen und schmökern:
https://en.wikipedia.org/wiki/WebFinger
https://datatracker.ietf.org/doc/html/rfc7033
https://webfinger.net/
https://en.wikipedia.org/wiki/Well-known_URI
https://de.wikipedia.org/wiki/Uniform_Resource_Identifier

I'd love to know more about what you're thinking here.

I don't think we're replacing #Webfinger. I think we're trying to follow through on #WhatCorySaid at #FediForum (youtube.com/watch?v=7_Gs1t0qe78)

...which is basically: Let regular people take their account to a new server any time they want, without relying on awful XML/CSV import/export jobs. This would go a long way to solving Fediverse UX issues and preventing enshitification.

Is there more that I've missed?

@mro @j12t @tchambers

Pleroma Webfinger compatibility

Does anybody know what exactly Pleroma needs for a valid Webfinger check? I'm attempting to figure out why @jmtd@pleroma.debian.social won't resolve in NodeBB, and it's because the webfinger call returns 400 Bad Request.

NodeBB is calling https://pleroma.debian.social/.well-known/webfinger?resource=acct%3Ajmtd%40pleroma.debian.social with User-Agent and Content-Type headers (curiously, it's not sending Accept, but it also fails if that header is set, so that's irrelevant.)

Navigating to that webfinger url in the browser returns XML, which is :grimacing: but I'm not even getting that when NodeBB makes the call.

community.nodebb.org/post/1044

NodeBB Community · Pleroma Webfinger compatibilityDoes anybody know what exactly Pleroma needs for a valid Webfinger check? I'm attempting to figure out why @jmtd@pleroma.debian.social won't resolve in NodeB...

Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.

With #Fedify, it's much simpler: use Context.lookupObject(). Pass it a URI (e.g., https://instance.tld/users/alice) or a handle (e.g., @alice@instance.tld), and Fedify handles the lookup and content negotiation automatically.

The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor() like this:

let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
  const successor = await actor.getSuccessor();
  if (successor == null) break;
  actor = successor;
}
// actor now holds the latest account after moves

This is readily available in handlers where the Context object is provided (like actor dispatchers or inbox listeners).

Focus on your app's logic, not protocol boilerplate!

Learn more: https://fedify.dev/manual/context#looking-up-remote-objects

fedify.devContext | FedifyThe Context object is a container that holds the information of the current request. This section explains the key features of the Context object.

Have you ever asked yourself how the BSD Café Mastodon instance was built?

Stefano has written here what he has done. You should have at least rudimentary knowledge of what a jail is in order to follow everything and at least a simple manner.

In short a jail is much more efficient than a VM, uses much less resources and it's easier to control

If you take the time to Study all the subjects, you will be a will to build a freeBSD instance of Mastodon yourself; all the information necessary Is provided Here and Deep to very Deep details you can dig up yourself

wiki.bsd.cafe/bsdcafe-technica

🖋️ #bash #sh #zsh #ksh #csh #tsh #programming #JavaScript #Mastodon #freeBSD #ngix #json #POSIX #SocialMedia #webfinger

In this article Stefano explains to you how to use a web finger system so that people can always find your address

An important message here is that _you should always own your data_. So do not rely on cloud or web services to maintain your data. Always remember that many of those massive conglomerates use your data and sell it, literally sell it, or the metadata off it, to the highest bidder

Within the Fediverse it's easy to migrate from one server to the next, your followers will automatically follow your new account

it-notes.dragas.net/2024/10/08

🖋️ #bash #sh #zsh #ksh #csh #tsh #programming #JavaScript #Mastodon #freeBSD #ngix #json #POSIX #SocialMedia #webfinger