1 पॉइंट द्वारा GN⁺ 2023-07-11 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • zedeus/nitter का PR #927 “Fix everything” 10 जुलाई 2023 को master में merge किया गया, जिसमें टूटे हुए फीचर्स को बहाल करने वाले बदलाव शामिल हैं
  • बहाली नए bearer token और अपडेट किए गए endpoints के सेट का उपयोग करके की गई, और parser भी साथ में अपडेट किया गया
  • search फीचर पूरी तरह बहाल नहीं हुआ है; commit के अनुसार user search सक्षम किया गया है, लेकिन tweet search अक्षम है
  • अतिरिक्त बदलावों में multi-user timelines को फिलहाल अक्षम किया गया है, और pinned tombstone parsing का fix भी शामिल है
  • RSS काम करता है, लेकिन nitter.net पर अक्षम है, इसलिए उपलब्धता instance configuration पर निर्भर करती है

merge किए गए fixes का दायरा

  • zedeus/nitter का PR #927 “Fix everythingelon-fix branch से master में merge किया गया
    • merge की तारीख 10 जुलाई 2023 है
    • इसमें कुल 4 commits शामिल हैं
    • merge के बाद elon-fix branch हटा दी गई

मुख्य बहाली का तरीका

  • बदलाव का मूल नए bearer token और अपडेट किए गए endpoints के सेट का उपयोग है
  • parser भी साथ में अपडेट किया गया, ताकि बदले हुए response structure के अनुसार काम कर सके
  • शुरुआती विवरण में missing फीचर के रूप में search का उल्लेख किया गया

search और timeline से जुड़े बदलाव

  • search आंशिक रूप से ही बहाल हुई
    • Enable user search, disable tweet search commit के जरिए user search सक्षम की गई
    • tweet search अक्षम की गई
  • Disable multi-user timelines for now commit के जरिए multi-user timelines को फिलहाल अक्षम किया गया

parsing fix

  • Fix parsing of pinned tombstone commit शामिल है
  • pinned tombstone से जुड़ी parsing समस्या को अलग से ठीक किया गया

RSS की स्थिति

  • comments में RSS के काम करने को लेकर सवाल पूछा गया
  • zedeus ने जवाब दिया कि RSS काम करता है, लेकिन nitter.net पर अक्षम है
  • इसलिए RSS support और nitter.net पर उसका सक्षम होना, दोनों अलग-अलग बातें हैं

1 टिप्पणियां

 
GN⁺ 2023-07-11
Hacker News की राय
  • चेतावनी: यह लंबी और थोड़ी-सी संबंधित शेखी जैसी लग सकती है, लेकिन सार यह है कि Twitter rate limit को बाइपास करना इतना मुश्किल नहीं है
    Twitter की झंझट भरी certificate pinning से छेड़छाड़ नहीं करनी थी, इसलिए मैंने Twitter APK को Corellium पर अपलोड किया, वहां “network monitor” चालू किया, और बिना लॉगिन के भी इस्तेमाल हो सकने वाला Twitter ऐप खोला
    सर्च करने और ट्वीट देखते हुए request logs देखे तो वेबसाइट जैसी ही guest token प्रक्रिया मिली, बस कुछ फर्क थे
    इन requests को फिर से बनाकर एक IP से हर दिन ऐसे कुछ OAuth tokens बनाए जा सकते हैं जिनकी expiry नहीं होती। ये tokens unauthenticated users के लिए हैं, इसलिए इनमें write permission नहीं है, लेकिन यहां उसकी जरूरत नहीं थी
    बड़े IP pool वाले proxy provider से करीब 1GB bandwidth खरीदने पर बहुत कम bandwidth इस्तेमाल करके हजारों token/secret आसानी से मिल सकते हैं, और हर एक की अलग rate limit होती है। token असल में किस IP से इस्तेमाल हो रहा है, यह मायने नहीं रखता था
    इसके बाद https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... को फॉलो किया, और इस बात का फायदा उठाकर कि /statuses/lookup.json अब भी एक बार में 100 tweets लौटा सकता है, Twitter 50% Firehose के करीब कुछ फिर से बना लिया
    Twitter ने datacenter IPs को भी block नहीं किया। डेटा को https://firehose.lol पर दिखाने की कोशिश की, लेकिन इसके लिए प्रति सेकंड सैकड़ों requests चाहिए थीं, जिससे मन असहज हो गया, और आखिरकार मैंने program को कुछ मिनट से ज्यादा चलाए बिना बंद कर दिया
    Firehose का एक हिस्सा कुछ मिनट देखना दिलचस्प था। शुरुआत में possibly_sensitive के रूप में चिह्नित tweets छिपाना भूल गया, इसलिए कुछ सेकंड तक काफी explicit सामग्री भी दिखी; चीन में Twitter blocked होने के बावजूद चीनी gambling ads बहुत थे; संदिग्ध investment-promotion accounts, FirstnameLastname3781264872 जैसे usernames वाले accounts जो हर कुछ सेकंड में तीन random words tweet कर रहे थे, और कुछ मजेदार tweets भी दिखे

    • archive.md इस्तेमाल करें तो efficiency काफी कम होती है, लेकिन rate limit को बाइपास करना ज्यादा आसान है। archive.md rate limit से प्रभावित नहीं होता, इसलिए जब बिना account के कभी-कभार बस कुछ tweets देखने हों तो उपयोगी है
  • अब तक देखे गए Nim projects में यह सबसे प्रभावशाली है। किसी बड़े frontend को फिर से बनाना, authentication तक काम कराना, और private API के अजीब व्यवहारों को भी handle करना बहुत बड़ा काम है
    संदर्भ के लिए, अगर यह Twitter के अंदर होता तो असल में इस feature को support करने के लिए 20 से ज्यादा लोगों की team लगी होती। इसे कर दिखाने वाले author को सलाम

    • frontend Karax इस्तेमाल करता है, जो किसी भी भाषा में मेरी सबसे पसंदीदा frontend/single-page app library है। कुछ rough edges हैं, लेकिन इसे इस्तेमाल करना सच में बहुत मजेदार है
      https://github.com/karaxnim/karax
    • बेशक Twitter में 20 से ज्यादा लोगों की team लगती, लेकिन यह इसलिए भी है कि Nitter down हो जाए तो कोई खास परवाह नहीं करता
  • यह मजेदार है कि rate limit का bots और scrapers पर असर लगभग नहीं पड़ा, लेकिन site के सामान्य users को गंभीर नुकसान हुआ

    • बहुत anecdotal है, लेकिन मेरे accounts पर पिछले महीने bot activity बढ़ रही थी और हाल की rate-limit कार्रवाई के बाद पूरी तरह रुक गई
    • conspiracy mode में देखें तो, अगर शुरुआत से ही मकसद यही था तो? Twitter Arab Spring या Occupy Wall Street जैसे protest organization के लिए एक अहम जगह था
      दुनिया के सबसे अमीर लोगों में से एक और कड़ा anti-union रुझान रखने वाले व्यक्ति ने, बढ़ती inequality और टूटती social cohesion के समय, उस जगह को खरीदकर उसे इस्तेमाल के लायक नहीं छोड़ा
      अब organize करने की कोई जगह नहीं बची, और capital के लिए एक खतरा कम हो गया
    • कई मामलों में यह सच है। लगभग कोई भी restriction जोड़ें तो नुकसान सिर्फ हल्के-फुल्के सामान्य users को होता है, attackers आम तौर पर हल्के users नहीं होते
    • Elon के site खरीदने के बाद से bots उल्टे लगातार बढ़ते हुए लग रहे हैं। spam account DMs ज्यादा से ज्यादा मिल रहे हैं, और पता नहीं क्यों कुछ Japan से भी हैं
      Elmo जो भी करता है, ठीक से काम करता नहीं दिखता
  • API changes के बाद मेरा इस्तेमाल किया हुआ default bearer token भी बंद हो गया था, लेकिन इसी तरीके से बदलने पर मेरा Twitter Spaces download app भी फिर से ठीक से काम करने लगा
    0: https://github.com/Chiplis/moonbird

  • login के बिना Twitter पर profiles या replies अब भी नहीं देख सकते, और यह वाकई बड़ी बात है
    मैं 4 साल से Nitter user हूं, और जब तक यह चलता रहेगा, इस्तेमाल करता रहूंगा

    • RSS भी इस्तेमाल कर सकते हैं। URL के अंत में बस /rss जोड़ दें
  • Fight Club की बात नहीं करनी थी

    • फिर भी Nitter pages Google में indexed हैं, इसलिए यह कोई खास secret नहीं है
  • क्या यह सच में permanent है? इस bearer token के बारे में और जानना चाहता हूं
    दूसरे GitHub issue threads में ऐसा लगता था कि Twitter की protections को बाइपास करने का कोई तरीका मिलते ही वह बंद हो जाता था
    source code में token को सचमुच hardcode किया हुआ लगता है, जिसका मतलब है कि दुनिया भर के हजारों Nitter instances और हजारों users वही token इस्तेमाल करेंगे
    AI companies भी संभावित रूप से उस token का इस्तेमाल कर सकती हैं, इसलिए समझ नहीं आता कि यह कैसे चलता रह सकता है

    • लगता है यह token official Twitter web/mobile apps में इस्तेमाल होता है। इसलिए मुझे लगता है Twitter के लिए इसे तुरंत disable या block करना आसान नहीं होगा
    • यह उत्सुकता की बात है कि “unofficial” API को रुक-रुककर ही सही, चलता रहने की अनुमति क्यों मिलती रही है। Nitter का आभारी हूं, लेकिन कुछ बातों का तालमेल ठीक नहीं लगता
    • लगता है पुराना API फिर से काम कर रहा है
    • इसलिए शायद NewPipe ज्यादातर समय ठीक से काम नहीं करता। करता भी है तो बेहिसाब धीमा होता है
  • इसका मतलब anonymous access restore हो गया है। Nitter वैसे भी गायब हो चुके Twitter API का इस्तेमाल नहीं करता। थोड़ी देर के लिए वह restore हुआ था, लेकिन
    Twitter को noscript/basic (x)html interoperable web portal देना चाहिए

  • तो क्या AI Scrapocalypse अब उतना घातक रूप से अहम issue नहीं रहा?

    • मुझे शुरू से ही संदेह था कि rate limit की असली वजह यही थी
    • शायद उसने workshop elves को निकालने की बड़ी धमकी दी, तो elves ने रात भर काम किया, office के पुराने mattresses पर सोए और Make Twitter Scale Again कर दिखाया, और अब load balancer की दुनिया में शांति लौट आई है
  • यह analog loophole जैसा है। जब तक data server से client तक पहुंचता है, scraping हमेशा संभव रहेगी
    हालांकि Apple इसे और मुश्किल बनाने की कोशिश कर रहा है: https://developer.apple.com/documentation/devicecheck/prepar...

    • मैं iOS developer नहीं हूं, लेकिन यहां इस्तेमाल हुई loophole के संबंध में App Attest का क्या मतलब है, यह जानना चाहूंगा