Het einde van Nitter, een vrije alternatieve frontend voor Twitter

De laatste publiek beschikbare exemplaren van Nitter zijn onbruikbaar geworden. Het Nitter-project ontwikkelde een open frontend voor toegang tot X.com/Twitter zonder dat JavaScript, analytics, trackers en externe diensten nodig waren. Op 31 januari werd de uitgifte van tokens, die door Nitter worden gebruikt voor toegang tot content op X.com, stopgezet. Op 26 februari verviel de levensduur van de laatste eerder uitgegeven tokens, wat leidde tot een volledige stopzetting van de werking van Nitter.

Na de aankoop door Elon Musk begon Twitter (nu omgedoopt tot X) met de implementatie van een reeks technische en organisatorische maatregelen gericht op de agressieve monetisatie van het platform, dat eerder als verliesgevend werd beschouwd. Onder de veranderingen werd een tariefstelling geĆÆntroduceerd voor de informatie die elk account ontvangt (er zijn limieten ingesteld voor verschillende soorten accounts - 10.000 voor houders van een betaald 'blauw vinkje', 1.000 voor gewone accounts, 500 voor nieuwe gewone accounts); 'ontwikkelaars'-accounts werden naar de betaalde categorie overgezet met limieten die geschikt zijn voor massale gegevensverzameling (scraping); het verstrekken van informatie aan gebruikers zonder rekening is stopgezet.

Als rechtvaardiging werd publiekelijk verklaard (2023-07-01) dat dit 'tijdelijke noodmaatregelen' waren, omdat het automatisch laden van gegevens door bots de service voor gewone gebruikers verslechtert. Eerder (2023-04-19) waren er insinuaties over Microsoft, in verband met beweringen dat dit bedrijf illegaal Twitter-gegevens gebruikt voor AI-training. Later (2023-11-17) werd de invoering van limieten gerechtvaardigd door Musk's beloften om te vechten tegen bots.

Nitter was een softwareproject ter bescherming van Twitter-gebruikers tegen surveillance, die geen berichten versturen maar alleen materialen lezen, door hen een alternatieve website te bieden voor het bekijken van Twitter zonder dat een account of ingeschakeld JavaScript nodig is. Deze software fungeert feitelijk als een scraper en tussenpersoon, die de data niet in een database opslaat, maar deze naar de eindgebruiker verzendt (desondanks worden sommige operationele gegevens in Redis opgeslagen).

Zo was de software van Nitter:

  • technisch gezien precies dat type software waar de leiding van Twitter actief tegenaan het vechten verklaarde;
  • was one of the few actively developed software solutions for accessing data hosted on Twitter, which made it attractive for use as a scraping module in a narrower sense of the word — collecting data bypassing official interfaces for this purpose;
  • public instances of Nitter themselves became targets for scraping, leading some instances to implement their own version of a captcha (1 additional POST request specific to that instance).

    As a result of analyzing workarounds to continue operating under new conditions, RSS feeds and some entry points on syndication.twitter.com were discovered, providing information to unauthorized users in JSON format and used for integration with other social networks. For some time, Nitter retrieved information through these interfaces, but they were eventually shut down. After that, a way to use 'guest accounts,' which had read privileges, was found. One type of 'guest account' was intended for use on IoT devices with limited browsers.

    However, Nitter used another type of 'guest account,' which applied OAuth instead of cookies, registered via API, and were apparently used by the Android application. This type of accounts has limits of 500 API requests over a 15-minute period, and its 'registration' is bound to het IP-adres (one 'guest account' can be registered from one IP address within a day, but an already registered 'account' can be used from other IP addresses).

    Such 'accounts' (access tokens) were operational for 30 days. At that time, a viable solution to the problem of mass registration of temporary accounts could be crowdsourcing their registration by users, using something similar to Bibliogram (a userscript that retrieves a guest token from the user and passes it to a public instance).

    At the end of January, X stopped issuing such tokens. The removal of the last access method marked the end of Nitter as a public free multi-user service, leading the author to declare Nitter dead.

    Een deel van de instanties sloot onmiddellijk daarna, terwijl andere de code aanpasten om de bestaande tokens strikt te besparen, met name door ze voornamelijk te gebruiken voor het ophalen van lijsten met tweets van accounts, en foutmeldingen voor alles daarbuiten te geven. Op 26 februari verviel de levensduur van de laatste gasttokens, waardoor alle publieke instanties hun werking beƫindigden. Desondanks worden er in de bugtracker manieren besproken die op een of andere manier betrekking hebben op gastaccounts.

    Een van de drastische oplossingen voor het probleem zou een Twittervervanging kunnen zijn door de creatie van een alternatieve gedecentraliseerde service op basis van ActivityPub en IPFS, waarbij de belangrijkste identificatie van elk bericht zijn IPFS CID is. We kunnen de volgende gelaagde constructie voorstellen:

  • Gegevens die aanvankelijk in de federatieve service zijn gepubliceerd als op het primaire platform en gerepliceerd in IPFS.
  • Gegevens die door de gebruikers zelf op Twitter zijn gepubliceerd, maar met behulp van een browserextensie gerepliceerd zijn naar hun accounts op het federatieve platform, en van daaruit naar IPFS.
  • Gegevens die door de gebruikers zelf van Twitter zijn geĆ«xporteerd, gebruikmakend van de exportfunctie, en in Fediverse + IPFS zijn geüpload via de functie voor massaal uploaden.

    De gegevens in punt 3 lossen echter het probleem op van de afwezigheid van Twitter-gebruikers in het Twittervervangingsprogramma niet op.

    Voor elke identifier van een bericht op elk gecentraliseerd platform kan het zinvol zijn om de weergave daarvan in IPFS CID te ondersteunen, wat fungeert als een cache, waardoor het mogelijk is om zonder kennis van de tekst van het bericht, maar met kennis van de gecentraliseerde identifier, de gedecentraliseerde identifier te achterhalen. Bij het genereren van de URI in IPFS (wat kan worden gedaan zonder daadwerkelijke upload) ondergaat de tekst van het bericht een canonisatie, waarbij de gegevens in een container op basis van HTML met machineleesbare metadata worden geplaatst, Unicode-normalisatie, conversie naar UTF-8, vervanging van witruimten door eenvoudige enkele spaties, en vervanging van alle links naar berichten op deze en andere platforms, die een soortgelijke procedure doorlopen, naar URI in IPFS.

    Elk van de platforms heeft een machineleesbaar document waarin de regels voor het kanoniseren van berichten worden beschreven, inclusief talrijke services waarvan de links worden vervangen door IPFS URI in de berichten van dit netwerk. Elk bericht in elk netwerk wordt gekanoniseerd volgens de regels voor kanonisatie van berichten in dat netwerk, die gelden op het moment dat het bericht is gedateerd. Bij kanonisatie, als er een link naar een bericht in een van de vervangende platforms aanwezig is, haalt de implementatie de gecentraliseerde identifier uit de link en controleert deze in vertrouwde indexen.

    Als het in de index staat, gebruikt de implementatie de gedecentraliseerde identifier uit de indexen. Als deze ontbreekt, vraagt de implementatie het bericht op via de link, kanoniseert het en genereert een identifier die in de indexen kan worden geplaatst. De implementatie is niet verplicht het opgevraagde bericht in het gedecentraliseerde netwerk op te nemen. De implementatie kan de geldigheid van de identifier in de index controleren door het proces lokaal te repliceren. De indeximplementatie is verplicht de geldigheid van het genereren van identifiers te controleren door het proces lokaal te repliceren.

    Dit deterministische proces maakt het mogelijk om onveranderlijke links naar content te genereren, zelfs voor tweets waarvan de posters nog niet deelnemen aan het Twitter-vervangingsprogramma. Wanneer een deel van hen hun tweets in IPFS start te uploaden, genereert het algoritme voor hen identifiers die identiek zijn aan die welke al in links naar hen worden gebruikt, op voorwaarde dat de index de juiste weergaven bevat en de content zelf niet is veranderd.

    Bron: opennet.ru

  • Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster