Eksemplari i fundit publik i Nitter u bërë i papërdorshëm. Projekti Nitter zhvilloi një frontend të lirë për qasje në X.com/Twitter pa imponimin e JavaScript-it, analizës, gjurmuesve dhe shërbimeve të treta. Më 31 janar, u ndal shpërndarja e tokeneve që përdoren në Nitter për organizimin e qasjes në përmbajtjen në X.com. Më 26 shkurt, skadoi koha e jetës së tokeneve të fundit të shpërndara më parë, duke çuar në ndalimin e plotë të funksionimit të Nitter.
Pas blerjes nga Elon Musk, Twitter (tani e quajtur X) filloi të implementonte një kompleks masash teknike dhe organizative të orientuara drejt monetizimit agresiv të platformës, e cila më parë konsiderohej si e papërfitueshme. Ndër ndryshimet ishte realizimi i tarifimit për informacionin e marrë nga çdo llogari (u vendosën kufijtë për lloje të ndryshme llogarish — 10000 për mbajtësit e "pullës blu" të paguar, 1000 për ata normalë, 500 për ata të rinj normalë); llogaritë "e zhvilluesve" u kaluan në kategorinë e paguara me kufij që përshtaten për nxjerrje masive të të dhënave (scraping); u ndal shpërndarja e informacionit për përdoruesit pa llogari.
Si justifikim, u tha publikisht (2023-07-01) se këto ishin «masat emergjente të përkohshme», të lidhura me faktin se ngarkimi automatizuar i të dhënave nga botët çon në përkeqësimin e shërbimit për përdoruesit e zakonshëm. Më parë (2023-04-19) kishte insinuata ndaj Microsoft-it, që lidhen me përdorimin e paligjshëm të të dhënave të Twitter-it për trajnimin e AI. Më vonë (2023-11-17), vendosja e kufizimeve u justifikua me premtimin e Musk për të luftuar kundër botëve.
Nitter ishte një projekt për zhvillimin e një softueri për mbrojtjen nga ndjekja e përdoruesve të Twitter-it, të cilët nuk dërgojnë mesazhe, por vetëm lexojnë materiale, duke u ofruar atyre një sit alternativ për të parë Twitter, pa pasur nevojë për një llogari dhe pa aktivizuar JavaScript. Ky softuer faktikisht është një skrajper dhe ndërmjetës që, në vend që të ruajë të dhënat në një DB, ua dërgon ato përdoruesve përfundimtarë (përveç kësaj, disa të dhëna shërbimi ruhen në Redis).
Kështu që softueri Nitter:
Gjatë analizës së mënyrave për të vazhduar funksionimin në kushtet e reja, u zbuluan RSS dhe disa pikë këputjesh në syndication.twitter.com, të cilat përcillnin informacion për përdoruesit e pa regjistruar në format JSON dhe përdoreshin për integrim me rrjete të tjera sociale. Për një kohë, Nitter merrte informacion përmes këtyre ndërfaqeve, por ato gjithashtu u mbyllën. Pas kësaj, u gjet një mënyrë për të përdorur "llogaritë mysafir", të cilat kishin privilegje leximi. Një nga llojet e "llogaritave mysafir" ishte e destinuar për t'u përdorur në pajisje të internetit të gjërave me shfletues të reduktuar.
Por Nitter përdori një lloj tjetër "llogaritash mysafir", që aplikonin OAuth në vend të Cookie, regjistroheshin përmes API dhe duket se përdorej nga aplikacioni për Android. Ky lloj llogarie ka kufizime prej 500 kërkesash në API brenda 15 minutash, dhe "regjistrimi" i saj lidhet me adresën IP (nga një IP mund të regjistrohet një "llogari mysafir" brenda 24 orëve, por një "llogari" e regjistruar mund të përdoret nga adresa të tjera IP).
Këto "akountet" (tokenet e aksesit) ishin funksionale për 30 ditë. Në atë kohë, një zgjidhje e duhur për problemin e regjistrimit masiv të akounteve të përkohshme do të ishte crowdsourcing regjistrimin e tyre nga përdoruesit, duke përdorur diçka të ngjashme me Bibliogram (një skript përdoruesi që merr tokenin e mysafirit nga përdoruesi dhe e transmeton atë në një instancë publike).
Në fund të janarit, X ndaloi lëshimin e këtyre tokenëve. Eliminimi i mënyrës së fundit të aksesit e vendosi Nitter në vështirësi si një shërbim publik falas shumëpërdorues, duke e shpallur autorin Nitter të vdekur.
Disa instanca u mbyllën menjëherë pas kësaj, të tjera modifikuan kodin për të kursyer rreptësisht përdorimin e tokenëve ekzistues, veçanërisht duke u fokusuar në përdorimin e tyre për marrjen e listave të tweet-eve nga akountet, duke lëshuar mesazhe gabimi për çdo gjë tjetër. Më 26 shkurt, koha e jetës së tokenëve të fundit të mysafirit skadoi, duke shkaktuar ndërprerjen e funksionimit të të gjitha instancave publike. Megjithatë, në tracker-in e defekteve po diskutohet për mënyrat që ndërlidhen ndonjëherë me akountet e mysafirëve.
Një nga zgjidhjet themelore të problemit mund të ishte zëvendësimi i Twitter-it duke krijuar një shërbim alternativ dhe të decentralizuar mbi bazën e ActivityPub dhe IPFS, ku identifikuesi kryesor i çdo mesazhi është CID-i i tij në IPFS. Mund të përfytyrohet një strukturë e shumëfishtë si kjo:
Të dhënat e pikës 3 megjithatë nuk zgjidhin problemin e mos pjesëmarrjes së përdoruesve të Twitter në programin e zëvendësimit të Twitter-it.
Për çdo identifikues postimi në çdo platformë të centralizuar, mund të jetë e dobishme të mbahet shfaqja e tij në IPFS CID, e cila funksionon si një cache, duke lejuar që pa e ditur vetë tekstin e postit, por me njohjen e identifikuesit të tij të centralizuar, të zbulohet identifikuesi i tij decentralizuar. Gjatë gjenerimit të URI në IPFS (çka mund të bëhet pa e ngarkuar në të vërtetë), teksti i postit kalon një kanonizim, i cili përfshin vendosjen e të dhënave në një kontenier të bazuar në HTML me meta të dhëna të lexueshme nga mahnia, normalizimin e Unicode, konvertimin në UTF-8, zëvendësimin e karaktereve ndarëse me vende të thjeshta, dhe zëvendësimin e të gjitha lidhjeve në postime në këtë dhe platforma të tjera që kalojnë përmes një procedure të ngjashme, me URI në IPFS.
Çdo platformë ka një dokument të lexueshëm nga makina që përshkruan rregullat e kanonikizimit të postimeve, duke përfshirë shumë shërbime, lidhjet e të cilave zëvendësohen me IPFS URI në postimet e kësaj rrjeti. Çdo postim në çdo rrjet kanonizohet sipas rregullave të kanonikizimit të postimeve në atë rrjet, të cilat janë në fuqi në momentin që egziston data e postimit. Gjatë kanonikizimit, nëse në postim ka një lidhje në një postim në njërin nga platformat e zëvendësuara, realizimi nxjerr nga lidhja një identifikues të qendruar dhe verifikon praninë e tij në indekset besuese.
Nëse ndodhet në indeks, realizimi përdor identifikuesin dekentrali të indekseve. Nëse mungon, realizimi kërkon postimin në lidhje, e kanonizon atë dhe formon një identifikues që mund të vendoset në indekse. Realizimi nuk është i detyruar të vendosë postimin e kërkuar në një rrjet dekentral. Realizimi mund të verifikojë saktësinë e identifikuesit në indeks duke riprodhuar lokal procesin. Realizimi i indeksit është i detyruar të verifikojë saktësinë e gjenerimit të identifikuesve duke riprodhuar lokal procesin.
Kyçet e këtij procesi të përcaktuar do të mundësojnë gjenerimin e lidhjeve të pandryshueshme për përmbajtjen, madje edhe për tweet-et, të cilat aktualisht nuk marrin pjesë në programin e zëvendësimit të Twitter. Kur disa nga to fillojnë të ngarkojnë tweet-et e tyre në IPFS, algoritmi do të gjenerojë identifikues të njëjtë me ata që tashmë përdoren në lidhjet për to, me kusht që indeksi të përmbajë përfaqësime korrekte dhe vetë përmbajtja të mos ketë ndryshuar.
Burimi: opennet.ru
