Nitter funktioniert wieder
(github.com/zedeus)- PR #927 „Fix everything“ von zedeus/nitter wurde am 10. Juli 2023 in
mastergemergt und enthält Änderungen zur Wiederherstellung der defekten Funktionen - Die Wiederherstellung erfolgte durch die Verwendung eines neuen Bearer-Tokens und eines aktualisierten Satzes von Endpunkten; auch der Parser wurde entsprechend aktualisiert
- Die Suchfunktion ist nicht vollständig wiederhergestellt; zum Stand des Commits ist die Benutzersuche aktiviert, die Tweet-Suche jedoch deaktiviert
- Als zusätzliche Änderung wurden Multi-User-Timelines vorerst deaktiviert; außerdem ist eine Korrektur für das Parsing von pinned tombstones enthalten
- RSS funktioniert, ist aber auf nitter.net deaktiviert, sodass die Verfügbarkeit von der jeweiligen Instanzkonfiguration abhängt
Umfang der gemergten Korrekturen
- PR #927 „Fix everything“ von zedeus/nitter wurde vom Branch
elon-fixnachmastergemergt- Das Merge-Datum ist der 10. Juli 2023
- Insgesamt sind 4 Commits enthalten
- Nach dem Merge wurde der Branch
elon-fixgelöscht
Zentrale Methode der Wiederherstellung
- Kern der Änderung ist die Nutzung eines neuen Bearer-Tokens und eines aktualisierten Satzes von Endpunkten
- Auch der Parser wurde aktualisiert, damit er an die geänderte Antwortstruktur angepasst funktioniert
- In der ursprünglichen Beschreibung wurde search als fehlende Funktion genannt
Änderungen bei Suche und Timelines
- Die Suche wurde nur teilweise wiederhergestellt
- Mit dem Commit
Enable user search, disable tweet searchwurde die Benutzersuche aktiviert - Die Tweet-Suche wurde deaktiviert
- Mit dem Commit
- Mit dem Commit
Disable multi-user timelines for nowwurden Multi-User-Timelines vorerst deaktiviert
Parsing-Korrekturen
- Der Commit
Fix parsing of pinned tombstoneist enthalten - Ein Parsing-Problem im Zusammenhang mit pinned tombstones wurde gesondert behoben
RSS-Status
- In den Kommentaren wurde gefragt, ob RSS funktioniert
- zedeus antwortete, dass RSS funktioniert, aber auf nitter.net deaktiviert ist
- Daher sind die grundsätzliche RSS-Unterstützung und der Aktivierungsstatus auf nitter.net getrennt zu betrachten
1 Kommentare
Hacker-News-Kommentare
Warnung: Das kann lang werden und ein wenig wie eine verwandte Prahlerei klingen, aber kurz gesagt: Das Umgehen der Twitter-Rate-Limits ist gar nicht so schwer
Ich hatte keine Lust, mich mit Twitters lästigem Certificate Pinning zu beschäftigen, also habe ich die Twitter-APK in Corellium hochgeladen, dort den „network monitor“ eingeschaltet und die Twitter-App geöffnet, die auch ohne Login nutzbar war
Beim Suchen und Anschauen von Tweets habe ich die Request-Logs geprüft; es gab ein Guest-Token-Verfahren ähnlich wie auf der Website, nur mit ein paar Unterschieden
Wenn man diese Requests nachbildet, kann man pro IP und Tag ein paar OAuth-Tokens ohne Ablaufdatum erzeugen. Diese Tokens sind für nicht authentifizierte Nutzer gedacht und haben daher keine Schreibrechte, aber die brauchte man hier auch nicht
Kauft man bei einem Proxy-Anbieter mit großem IP-Pool etwa 1 GB Bandbreite, kann man mit sehr wenig Bandbreite problemlos Tausende Tokens/Secrets bekommen, die jeweils eigene Rate-Limits haben. Von welcher IP aus man die Tokens tatsächlich nutzt, spielte keine Rolle
Danach bin ich https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... gefolgt und habe ausgenutzt, dass /statuses/lookup.json immer noch 100 Tweets auf einmal zurückgeben kann, um etwas zu rekonstruieren, das einem 50-%-Twitter-Firehose nahekommt
Twitter blockierte auch keine IPs aus Rechenzentren. Ich wollte die Daten auf https://firehose.lol anzeigen, aber dafür wären Hunderte Requests pro Sekunde nötig gewesen, was mir ein ungutes Gefühl gab; am Ende habe ich das Programm nach wenigen Minuten wieder abgeschaltet
Ein paar Minuten lang einen Teil des Firehose zu sehen, war interessant. Anfangs hatte ich vergessen, als possibly_sensitive markierte Tweets auszublenden, sodass ich für ein paar Sekunden ziemlich explizites Material sah; außerdem gab es viele chinesischsprachige Glücksspielanzeigen, obwohl Twitter in China blockiert ist, verdächtige Investment-Promo-Accounts, Accounts mit Nutzernamen wie FirstnameLastname3781264872, die alle paar Sekunden drei zufällige Wörter twitterten, und ein paar lustige Tweets
Das ist das beeindruckendste Nim-Projekt, das ich bisher gesehen habe. Ein großes Frontend nachzubauen, Authentifizierung zum Laufen zu bringen und auch noch die Eigenheiten einer privaten API zu handhaben, ist eine enorme Arbeit
Zum Kontext: Innerhalb von Twitter hätte vermutlich ein Team von über 20 Leuten an der Unterstützung dieser Funktion gearbeitet. Applaus an den Autor, der das geschafft hat
https://github.com/karaxnim/karax
Witzig ist, dass die Rate-Limits Bots und Scraper kaum getroffen haben, der normalen Nutzerschaft der Seite aber erheblich geschadet haben
Einer der reichsten Menschen der Welt, der zugleich stark gewerkschaftsfeindlich ist, hat diesen Raum in einer Zeit gekauft und unbenutzbar gemacht, in der Ungleichheit immer weiter zunimmt und der gesellschaftliche Zusammenhalt bröckelt
Es gibt keinen Ort mehr, um sich zu organisieren, und eine Bedrohung für das Kapital ist weniger geworden
Was auch immer Elmo tut, scheint nicht richtig zu funktionieren
Nach der API-Änderung funktionierte auch das Standard-Bearer-Token, das ich verwendete, nicht mehr; mit derselben Anpassung läuft meine Twitter-Spaces-Download-App aber wieder normal
0: https://github.com/Chiplis/moonbird
Ohne Login kann man auf Twitter immer noch keine Profile oder Antworten sehen, und das ist wirklich großartig
Ich bin seit vier Jahren Nitter-Nutzer und werde es weiter verwenden, solange es funktioniert
/rssan die URL anhängenMan sollte doch nicht über Fight Club reden
Ist das wirklich dauerhaft? Ich würde gern mehr über dieses Bearer-Token wissen
In anderen GitHub-Issue-Threads sah es so aus, als würde jede gefundene Methode zum Umgehen der Schutzmechanismen von Twitter wieder blockiert
Es wirkt, als sei das Token buchstäblich im Source Code hartcodiert; das hieße, dass Tausende Nitter-Instanzen weltweit und Tausende Nutzer dasselbe Token verwenden
Auch AI-Unternehmen könnten dieses Token potenziell nutzen, daher verstehe ich nicht, wie das weiter funktionieren kann
Das bedeutet, dass anonymer Zugriff wiederhergestellt wurde. Nitter nutzt ohnehin nicht die verschwundene Twitter API. Sie war zwar kurzzeitig wiederhergestellt worden
Twitter sollte ein interoperables noscript/basic-(x)html-Webportal bereitstellen
Ist die AI Scrapocalypse damit also kein kritisch wichtiges Problem mehr?
Das ähnelt dem analogen Schlupfloch. Solange Daten vom Server an den Client geliefert werden, ist Scraping immer möglich
Apple versucht allerdings, das zu erschweren: https://developer.apple.com/documentation/devicecheck/prepar...