Heim > Web-Frontend > js-Tutorial > Fedify, ein ActivityPub-Server-Framework, hat Version 0 erreicht

Fedify, ein ActivityPub-Server-Framework, hat Version 0 erreicht

Barbara Streisand
Freigeben: 2024-09-26 08:16:42
Original
693 Leute haben es durchsucht

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.

Fedify 1.0.0 기념

버전 1.0.0이 출시되면서 Fedify는 이제 API 이전 버전과의 호환성을 최대한 유지하게 됩니다. (물론 장기적으로는 하위 호환성을 깨는 2.0.0이 나올 수도 있습니다.) 아직까지 안정적인 버전이 없어서 Fedify 사용을 망설이셨던 분들에게는 좋은 소식이 될 것 같아요!

Fedify 1.0.0은 이제 JSR 및 npm에서 사용할 수 있습니다.

deno add jsr:@fedify/fedify
npm  add     @fedify/fedify
Nach dem Login kopieren

그럼 앞으로 더 많은 서비스가 ActivityPub을 지원해주길 바라면서 이번 포스팅을 마치겠습니다!

Das obige ist der detaillierte Inhalt vonFedify, ein ActivityPub-Server-Framework, hat Version 0 erreicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage