Maison  >  Article  >  interface Web  >  Fedify, un framework de serveur ActivityPub, a atteint la v.0

Fedify, un framework de serveur ActivityPub, a atteint la v.0

Barbara Streisand
Barbara Streisandoriginal
2024-09-26 08:16:42663parcourir

Fedify, an ActivityPub server framework, reached v.0

Fedify, ein ActivityPub-Framework, hat endlich seine erste stabile Version veröffentlicht, 1.0.0!

Was ist Fedify?

Fedify ist eine TypeScript-Bibliothek, die es einfach macht, Verbundserveranwendungen basierend auf dem ActivityPub-Protokoll zu erstellen. ActivityPub ist ein offenes Standardprotokoll, das es sozialen Netzwerkdiensten ermöglicht, miteinander zu kommunizieren, sodass Benutzer über verschiedene Dienste in einem dezentralen sozialen Netzwerk namens Fediverse interagieren können.

Mit Fedify können Entwickler ganz einfach Verbundserver-Apps über High-Level-APIs erstellen, ohne die komplexen Details des ActivityPub-Protokolls selbst implementieren zu müssen. Fedify bietet viele Funktionen, die für die ActivityPub-Implementierung erforderlich sind, einschließlich typsicherer Schnittstellen für ActivityPub-Objekte, WebFinger, HTTP-Signaturen, verknüpfte Datensignaturen und Objektintegritätsnachweise.

Darüber hinaus bietet Fedify eine spezielle Handhabung für die Interoperabilität mit beliebter Fediver-Software wie Mastodon oder Meta's Threads, sodass Entwickler Anwendungen erstellen können, die sich problemlos in das bestehende Fediver-Ökosystem integrieren lassen. Darüber hinaus unterstützt es die Integration mit verschiedenen Web-Frameworks und stellt CLI-Tools bereit, was den Entwicklungs- und Debugging-Prozess noch komfortabler macht.

Wichtige Änderungen

Ablehnung des Begriffs Handle

Ab dieser Version wird der Begriff Handle in Fedify nur noch für fediverse Handles verwendet (z. B. @hongminhee@fosstodon.org). Die interne eindeutige ID eines Akteurs (z. B. b379dbdc-3b4f-4ef4-88c2-fc25632d1c22) wird als Identifier bezeichnet, und der WebFinger-Name (z. B. hongminhee) wird als Benutzername.

Der Begriff

Handle in der API wird aus Gründen der Abwärtskompatibilität noch eine Weile beibehalten, es werden jedoch Verfallswarnungen protokolliert und es ist geplant, ihn in Zukunft zu entfernen.

Weitere Einzelheiten finden Sie in der zugehörigen Dokumentation.

Verknüpfte Datensignaturen

Linked Data Signatures ist ein veralteter Standard, der jedoch immer noch von großen Fediver-Implementierungen wie Mastodon genutzt wird.

Zusätzlich zu HTTP-Signaturen und Objektintegritätsnachweisen unterstützt Fedify ab dieser Version jetzt Linked-Data-Signaturen und unterstützt damit alle Arten von Signaturmethoden, die im Fediversum verwendet werden. Dies macht Fedify zu einer ActivityPub-Implementierung mit der besten Interoperabilität.

Fedify-Benutzer müssen jedoch nichts Besonderes tun, um Linked Data Signatures zu verwenden. Wenn eine eingehende Aktivität über verknüpfte Datensignaturen verfügt, wird die Signatur automatisch überprüft, und alle ausgehenden Aktivitäten verfügen über Signaturen in drei Formaten: HTTP-Signaturen, verknüpfte Datensignaturen und Objektintegritätsnachweise.

Weitere Einzelheiten finden Sie in der zugehörigen Dokumentation.

Aktivitätsweiterleitung

Ab dieser Version können Sie im Posteingang empfangene Aktivitäten mithilfe der InboxContext.forwardActivity()-Methode an andere Akteure weiterleiten.

Auf den ersten Blick könnte man denken, dass man eine im Posteingang empfangene Aktivität einfach mit der Methode Context.sendActivity() erneut senden könnte. Wenn Sie dies tun, wird jedoch die ursprüngliche Signatur entfernt, bevor die Aktivität an den Posteingang übermittelt wird, und beim Senden wird stattdessen die Signatur des Weiterleitungsakteurs angehängt, was dazu führt, dass die empfangende Seite der weitergeleiteten Aktivität dieser nicht vertraut.

Andererseits wird bei Verwendung der InboxContext.forwardActivity()-Methode die Aktivität unter Beibehaltung der Originalsignatur weitergeleitet, wodurch dieses Problem vermieden wird. (Natürlich muss die ursprüngliche Aktivität selbst mit Linked Data Signatures oder Object Integrity Proofs signiert sein.)

Weitere Einzelheiten finden Sie in der zugehörigen Dokumentation.

Senden des Löschantrags (Antrag) bei Beendigung des Fedify-Posteingangs

Ab dieser Version sendet der Fedify-Posteingang beim Beenden eine Löschaktivität (Anwendung) an alle Peer-Server, auf die er stößt. Dabei handelt es sich in der Regel um eine Aktivität, die beim Löschen eines Kontos gesendet wird. Dadurch wird verhindert, dass Restdaten von temporären Akteuren auf anderen Servern verbleiben.

PostgreSQL-Treiber

Das @fedify/postgres-Paket, das PostgreSQL-Treiber für die KvStore- und MessageQueue-Schnittstellen implementiert, wurde zusammen mit dieser Version veröffentlicht.

Der PostgreSQL-Treiber ist ein Backend, das in der Produktion ausreichend genutzt werden kann, besonders empfehlenswert für Projekte, die bereits PostgreSQL verwenden.

Zusätzlich wurde dem Befehl „fedify init“ eine Option zur Auswahl des PostgreSQL-Treibers hinzugefügt.

Célébration de Fedify 1.0.0

Avec la sortie de la version 1.0.0, Fedify maintiendra désormais autant que possible la rétrocompatibilité des API. (Bien sûr, à long terme, il pourrait y avoir une version 2.0.0 qui romprait la rétrocompatibilité.) Cela devrait être une bonne nouvelle pour ceux qui ont hésité à utiliser Fedify car il n'y avait pas de version stable jusqu'à présent !

Fedify 1.0.0 est désormais disponible chez JSR & npm :

deno add jsr:@fedify/fedify
npm  add     @fedify/fedify

Donc, en espérant que davantage de services prendront en charge ActivityPub à l'avenir, je conclus cet article !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn