Folgend einem ActivityPub-Akteur

Dieses Thema behandelt das Folgen eines ActivityPub Actors in Discourse mit dem Discourse ActivityPub Plugin und baut auf Einrichten eines ActivityPub Actors auf. Wenn Sie nicht sicher sind, was dies bedeutet, besuchen Sie zuerst das Thema Discourse ActivityPub Plugin.

Anweisungen

Um einem ActivityPub Actor zu folgen:

  1. Richten Sie einen Actor ein für die Kategorie oder das Tag, dem Sie folgen möchten.
  2. Holen Sie sich den „Handle“ des Actors, dem Sie folgen möchten (siehe unten).
  3. Gehen Sie zum Reiter „Federation“ in der Topic-Listenansicht der Kategorie oder des Tags aus Schritt 1.
  4. Klicken Sie auf „New Follow“, geben Sie den Handle aus Schritt 2 ein und klicken Sie auf „Find“ (siehe unten).
  5. Klicken Sie auf „Follow“, wenn der Actor gefunden wurde.

Actor Handles

Die meisten ActivityPub-Dienste verwenden ein Protokoll namens WebFinger, um Actors über einen „Handle“ auffindbar zu machen. Dies hat typischerweise das Format

username@domain

Manchmal wird dem Benutzernamen ein Symbol vorangestellt, z. B. @.

Discourse

Holen Sie sich den Handle eines Discourse Actors, indem Sie im Reiter „Federation“ in der Topic-Listenansicht des Actors nachsehen.

Der Handle im Screenshot ist announcements@test.pavilion.tech

Mastodon

Holen Sie sich den Handle eines Mastodon Actors vom Profil des Actors.

Der Handle im Screenshot ist @angusmcleod@mastodon.social

Actor finden

Wenn Sie einen Actor-Handle im „New Follow“-Modal eingeben und auf „Find“ klicken, sucht das Plugin den Handle mithilfe von WebFinger. Diese Suche ist möglicherweise nicht erfolgreich. Wenn keine Ergebnisse zurückgegeben werden:

  1. Überprüfen Sie den kopierten Handle.
  2. Stellen Sie sicher, dass ein aktiver ActivityPub-fähiger Server unter der Domain des Handles vorhanden ist.
  3. Versuchen Sie, den Handle auf einem anderen ActivityPub-Dienst zu suchen.

Wenn Sie die obigen Schritte ausgeführt haben und glauben, dass das Problem bei Ihrer Website oder dem Plugin liegt:

  1. Überprüfen Sie, ob die Website-Einstellung activity pub verbose logging aktiviert ist.
  2. Führen Sie die Suche erneut durch.
  3. Überprüfen Sie unter /logs auf Protokolle mit der Bezeichnung „ActivityPub“.
  4. Melden Sie alle gefundenen Probleme in einer Antwort auf dieses Thema.
2 „Gefällt mir“

Hallo @angus, danke für den tollen Leitfaden!

Bisher kann ich Beiträge und Antworten zwischen Discourse und Mastodon föderieren, aber nicht zwischen Discourse und Discourse. Meine föderierten Discourse-Kategorien sind für jeden offen, aber die Instanzen erfordern eine Einladung, bevor ein Konto erstellt werden kann. Glaubst du, das könnte damit etwas zu tun haben?

Außerdem werden Antworten auf föderierte Beiträge, die von anderen Personen erstellt wurden, nicht an andere Instanzen weitergeleitet, die an dem Thread beteiligt sind. Ist das normal und zu erwarten?

Vielen Dank!

Das könnte sein! Ich werde dieses Szenario testen und mich bei Ihnen melden.

Discourse veröffentlicht Aktivitäten in einem Thema für alle Teilnehmer des Themas, auch wenn sie dem relevanten Akteur (d. h. Kategorie oder Tag) nicht folgen. Das ist also nicht zu erwarten. Es könnte ein Problem auf Seiten von Discourse sein (bitte überprüfen Sie die Protokolle und lassen Sie mich wissen, ob Sie etwas sehen). Es könnte auch ein Problem auf der Plattform sein, auf der Sie die Antworten erwarten.

Geben Sie mir vielleicht ein Beispiel?

1 „Gefällt mir“

Entschuldigung @angus, ich muss meine Instanz auf einen anderen Server migrieren. Als ich ActivityPub auf meinen beiden Discourse-Instanzen aktivierte, konnte mein 8 GB Raspberry Pi 4 den ActivityPub-Verkehr nicht bewältigen, überhitzte und fror ein. Ich werde ein Update bereitstellen, wenn ich versuche, ActivityPub auf einer experimentellen Instanz zum Laufen zu bringen.

Irgendwelche Vorschläge, wie man eine App-Domain vollständig aus der Liste entfernt, nachdem sie auf ActivityPub aktiviert wurde?

Ich kann die vorherigen Subdomains so gut wie nicht mehr nutzen, da sie immer noch starken Traffic erhalten, obwohl ich die Kategoriekonten auf der Mastodon-Instanz, die ich benutze, entfolgt habe.

Hallo Rob, es tut mir leid zu hören, dass du Probleme hast. Das ActivityPub-Plugin verfügt bereits über eine Reihe von Schutzmaßnahmen, um mit hohem Verkehrsaufkommen umzugehen, insbesondere mit diesen Website-Einstellungen:

  • activity_pub_rate_limit_post_to_inbox_per_minute: Der Standardwert hierfür ist 10. Das bedeutet, dass standardmäßig 10 eingehende POST-Anfragen pro IP pro Minute verarbeitet werden. Versuche, diesen Wert zu senken.

  • activity_pub_rate_limit_get_objects_per_minute: Der Standardwert hierfür ist 30 pro IP pro Minute. Das bedeutet, dass standardmäßig 30 GET-Anfragen pro IP pro Minute verarbeitet werden. Versuche, diesen Wert zu senken.

  • activity_pub_blocked_request_origins: Hiermit kannst du alle Anfragen von Domänen blockieren, die dir möglicherweise Probleme bereiten.

  • activity_pub_allowed_request_origins: Hiermit kannst du Anfragen auf bestimmte Domänen beschränken, was bedeutet, dass Anfragen von allen anderen Quellen blockiert werden.

Wenn ein hohes Verkehrsaufkommen tatsächlich die Ursache deines Problems ist, kannst du es mit den oben genannten Schutzmaßnahmen beheben, es sei denn, du hast die Kontrolle über die Server, von denen der Traffic kommt.

Vielen Dank für den Rat, Angus. Ich weiß das wirklich zu schätzen. Ich werde eine weitere Discourse-Instanz auf einem experimentellen Server einrichten, der meine anderen Dienste nicht beeinträchtigt, und es noch einmal nach Ihren Vorschlägen versuchen.

Ich bin mir nicht sicher, auf welcher Ebene meiner Infrastruktur das Problem wirklich liegt, aber es könnte der Reverse-Proxy sein.

Ich verwende Cosmos Server als Server-Monitor, UI zur Verwaltung von Docker-Containern und Reverse-Proxy für meine anderen Docker-Container wie Discourse und andere Dienste. Ich habe das Gefühl, dass der Reverse-Proxy ähnlich für eine angemessene Ratenbegrenzung für eingehende ActivityPub-Verbindungen konfiguriert werden muss.

Es könnten die eingehenden ActivityPub-Synchronisierungsanfragen vom externen Mastodon-Server gewesen sein, die den Reverse-Proxy überlastet und zu einer maximalen Auslastung von RAM, CPU und Netzwerk sowie zu Überhitzung geführt haben.

Ich werde mich erneut melden, sobald ich meine nächste Lieferung von Raspberry Pis erhalten habe und ein Ersatzboard als experimentellen Server zur Verfügung habe.

Vielen Dank für Ihre Vorschläge!

1 „Gefällt mir“

Vielen Dank für Ihre tollen Videos. Habe ich eine Erklärung verpasst, wie Follower auf diese Themen antworten/mit ihnen interagieren können? Ich frage mich, ob es einen leichten „Server“ für das Social-Media-Team machen würde.

Was ist der wahrscheinlichste Grund für den Fehler 403, wenn ein Mastodon-Benutzer versucht, einen Discourse-Actor zu finden?

Auf Mastodon findet dieser Handle nichts, und Discourse gibt Folgendes aus:

GET-Anfrage an https://foorumi.katiska.eu/ap/actor/2a8f2bdb5a547366558a0906d6bf6a5c fehlgeschlagen: 403 Forbidden

Und dasselbe für /inbox