Zugegeben, ich tat mich am Anfang schwer mit Mastodon. Ein Dienst der dezentral Betrieben wird. Das heisst: verschiedene Server, von Privatpersonen, Vereinen oder sonstigen Stellen in eigenverantwortlich betrieben.
Vor Jahren tauchte Mastodon inmitten der vielen sozialen Netzwerke auf. Es wurde belächelt, und eigentlich keine Chance gegeben. Doch das Blatt hat sich meiner Meinung gewendet.
In den letzten Wochen, seit der Chief Twit (anm. d. red: Twitter-Besitzer) für ein Chaos sorgte, Spezialisten und ganze Teams entliess, Verifizierungen änderte, fragwürdige Entscheidungen Umsetze und Schlussament noch die API in ein Bezahlmodel (Vorlaufzeit 1 Woche) ändert machte das ganze nicht einfacher. Es ist wohl eine Frage der Zeit das man von Tweets auf Toots (tröten) umzusteigt und bei einem Retweet einen "Boost" machen. Ich habe mir die Zeit genommen und den Mikroblogging genauer angeschaut.
Die Architektur
Das föderierte Netzwerk, das aus Tausenden von Servern besteht, funktioniert anders als Twitter, aber es ist einfach genug, um umzusteigen.
Das soziale Netzwerk Mastodon wurde im Jahr 2016 von Eugen Rochko aus Jena gegründet. Hinter Mastodon steht keine Firma und kein Profit-Gedanke, es handelt sich um ein Open Source Projekt. Der Quellcode von Mastodon ist frei auf Github einsehbar und ist von einer Docker-Instanz nicht mehr weit entfernt.
Das in Ruby geschriebene Applikation, PostgresSQL als Backend und Redis als MemoryDB/Cache Aufgaben ist kein Mikroservice. Das ganze ist monolithisch Aufgebaut. Ist für kleine Instanzen kein Problem. Sollte man aber Skalieren wollen muss man etwas in die Trickkiste greifen. So kann man zwar Memory für die Redis Instanz erhöhen, aber primär profitiert nur die SQL DB von mehr Memory. Grosse Server, grosse Probleme. Kommt eine Instanz an seine Grenzen kann man entweder in mehr Ressourcen investieren oder man schliesse das ganze für neue Benutzer (z.b. Zeitweise mastrodon.social).
Das ganze ist eine Sache der Mathematik. Der Datenverkehr eines 0815 Benutzers die eine einigermassen normale Anzahl von Followern haben kann ein Server ohne Probleme bewältigen. Haben wir nun Konten die eine grosse Reichweite haben dann kommen wir in eine andere Liga. Wenn zum Beispiel ein Account 500k Follower hat, die auf 20k Server verteilen, so erstellt ein einziger Post 20k Jobs (Um diese an seine Verfolger zu übermitteln). Wird diese dann wieder verteilt Multipliziert sich diese und haben wir noch ein 2-3k Favoriten haben, muss der Server das ganze koordinieren und abarbeiten. Daher würde ich empfehlen seinen Home-Instanz gut zu wählen, der die Reichweite/Interessen des Accounts repräsentiert. Darum ist Mastodon (noch) kein Twitter Ersatz, den ein grosser Server der das Twitter-Universum darstellt wird so schnell nicht kommen.
Android Apps
Folgende Apps habe ich getestet:
Beide Apps machen das was sie können müssen. Man kann nur jeweils 1 Instanz Verbinden. So muss man mehrere Apps Installieren wenn man mehrere Accounts hätte.
Die Rest-API Schnittstelle
Damit man die Schnittstelle zugreifen kann muss man unter Development eine Applikation hinzufügen. Dabei wird ein Token generiert (Your access token). Diesen sollte man sorgfälltig in einem Passwortmanager ablegen.
Eine Übersicht über die API kann man sich auf der Mastodon Seite verschaffen. Die Schnittstelle ist gut Dokumentiert.
Powershell
Der wohl einfachste Weg einen "Tooth" zu machen, ist das Rest Cmdlet zu verwenden:
Konstante
Für wiederkehrende Aufgaben oder wenn man mehre Instanzen hat, lohnt sich die Werte in Variablen auszulagern:
$instance="mastodon-domain.social"
$accesstoken="<#Access Token#>"
Neuen Beitrag verfasse
Der Aufruf ist sehr Einfach. Man muss lediglich den Token im HTTP Header mitschicken und kann so einen neuen Beitrag posten.
Invoke-RestMethod "https://$instance/api/v1/statuses" -Headers @{ Authorization = "Bearer $accesstoken" } -Body "status=Hello, My Test with Rest-API" -Method POST
Der Rückgabewert gibt an ob das Absenden erfolgreich war.
c# Mastodot - Mastodon API library for C# (.NET)
Ich habe mir diese mal einfach gemacht und mich direkt nach einer Dot.Net Library umgeschaut. Dabei bin auf Mastodot gestossen. Zwar ist der Code seit 6 Jahren nicht mehr verändert, aber recht brauchbar. Bei meinen Tests habe ihn funktionstüchtig gemacht. So konnte ich eine neuen Beitrag erstellen und ein Bild hochladen.
string instance = "domain.ch";
string Token = "[access token]";
RegisteredApp registeredApp = await ApplicationManager.RegistApp(instance, "MyRestApiApp", Mastodot.Enums.Scope.Read | Mastodot.Enums.Scope.Write | Mastodot.Enums.Scope.Follow);
var url = ApplicationManager.GetOAuthUrl(registeredApp);
MastodonClient client = new MastodonClient(domain, Token);
client.PostNewStatus(status: "Hello Mastodon! Send over Mastodot");
Fazit
Technisch ist sie für kleinere Interessensgruppen aufgebaut. Die Dezentralität hat seinen Reiz und zeigt das es auch anders gehen kann. Was ich mir aber etwas schwierig vorstelle wie kann man damit Geld verdiehen? Ein Betreiber einer Instanz wird wohl gerne grosse Follower Gruppen haben wollen. Den das muss ja finanziert werden. Was in meinem Augen auch noch nicht klar ist, wer kontrolliert alle Posts? Wer hat die Zeit um das ganze zu moderieren? Daher bin ich vorsichtig um dies als Twitter Ersatz zu sehen.
Auf jeden Fall ist es aber eine gelungene Alternative eine offene API und sollte sich jeder mal anschauen und sich selber ein Bild davon machen. Ich werde sicher das eine oder andere testen und ausprobieren. Ideen habe ich schon sehr viele was ich Umsetzen will.
...auch noch interessant
Tippsammlung
Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.Archiv
- Sep 2023 (1)
- Jul 2023 (1)
- Apr 2023 (1)
- Feb 2023 (1)
- Nov 2022 (2)
- Oct 2022 (1)
- Jul 2022 (1)
- Jun 2022 (2)
- May 2022 (2)
- Apr 2022 (6)
- Dec 2021 (3)
- Jun 2021 (2)
- May 2021 (1)
- Apr 2021 (2)
- tipps (30)
- synology (27)
- linux (22)
- Windows (19)
- Powershell (15)
- tool (14)
- Windows 10 (12)
- coding (9)
- csharp (c#) (8)
- security (6)
- ad (6)
- Windows 2012 R2 (5)
- vpn (5)
- Ubuntu (5)
- Pi (5)
- gitea (5)
- git (5)
- Windows 2012 (4)
- opnsense (4)
- openpgp.js (4)
- docker (4)
- Xubuntu (3)
- Windows 2016 (3)
- Ubuntu 22.04 (3)
- seo (3)
- Japanisch (3)
- ipkg (3)
- app (3)
- Android (3)
- Zertifizierungsstelle (2)
- wsus (2)
- Windows Updates (2)
- windows 2022 (2)
- Windows 2008 (2)
- web2 (2)
- VMware (2)
- verschlüsselung (2)
- Scripts (2)
- php (2)
- pgp (2)
- perl (2)
- mysql (2)
- LMS (2)
- Kanji (2)
- javascript (2)
- GnuPgP (2)
- Firewall (2)
- Excel (2)
- bash (2)
- assp (2)
Nichts gefunden
Es wurde zur Story Mastodon, der Mikroblogging-Dienst der kein Elefant im Porzellanladen ist kein Kommentar gefundenInformation
Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt
* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Modal Header
Some text in the Modal Body
Some other text...
(c)2023 stastka.ch // help system