1 puan yazan GN⁺ 2023-07-11 | 1 yorum | WhatsApp'ta paylaş
  • zedeus/nitter’ın PR #927 “Fix everything” değişikliği 10 Temmuz 2023’te master’a birleştirildi ve bozuk işlevleri geri getiren değişiklikleri içerdi
  • Geri getirme işlemi yeni bearer token ve güncellenmiş endpoint seti kullanılarak yapıldı; parser da birlikte güncellendi
  • Arama işlevi tamamen geri gelmiş değil; commit’e göre kullanıcı araması etkinleştirildi, ancak tweet araması devre dışı bırakıldı
  • Ek değişikliklerle multi-user timelines şimdilik devre dışı bırakıldı ve pinned tombstone parsing düzeltmesi de dahil edildi
  • RSS çalışıyor, ancak nitter.net’te devre dışı olduğu için kullanılabilirlik instance ayarlarına göre değişiyor

Birleştirilen düzeltmelerin kapsamı

  • zedeus/nitter’ın PR #927 “Fix everything” değişikliği elon-fix branch’inden master’a birleştirildi
    • Birleştirme tarihi 10 Temmuz 2023
    • Toplam 4 commit içeriyor
    • Birleştirmeden sonra elon-fix branch’i silindi

Temel geri getirme yöntemi

  • Değişikliğin özü yeni bearer token ve güncellenmiş endpoint seti kullanmak
  • Parser da birlikte güncellenerek değişen yanıt yapısına uygun çalışacak şekilde düzeltildi
  • İlk açıklamada eksik kalan işlev search olarak özetlendi

Arama ve timeline ile ilgili değişiklikler

  • Arama yalnızca kısmen geri getirildi
    • Enable user search, disable tweet search commit’iyle kullanıcı araması etkinleştirildi
    • Tweet araması devre dışı bırakıldı
  • Disable multi-user timelines for now commit’iyle multi-user timelines şimdilik devre dışı bırakıldı

Parsing düzeltmesi

  • Fix parsing of pinned tombstone commit’i dahil edildi
  • Pinned tombstone ile ilgili parsing sorunu ayrıca düzeltildi

RSS durumu

  • Yorumlarda RSS’in çalışıp çalışmadığı soruldu
  • zedeus, RSS’in çalıştığını ancak nitter.net’te devre dışı olduğunu söyledi
  • Bu nedenle RSS desteğinin kendisi ile nitter.net’teki etkinleştirme durumu ayrı konular

1 yorum

 
GN⁺ 2023-07-11
Hacker News görüşleri
  • Uyarı: Uzun ve biraz alakasız bir övünme gibi gelebilir, ama özeti şu: Twitter hız sınırını aşmak o kadar da zor değil
    Twitter’ın can sıkıcı sertifika pinning’ine dokunmak istemediğim için Twitter APK’sini Corellium’a yükledim, orada “network monitor”u açtım ve giriş yapmadan da kullanılabilen Twitter uygulamasını açtım
    Arama yapıp tweet’lere bakarken istek günlüklerini incelediğimde, web sitesindekine benzer bir misafir token süreci olduğunu gördüm; sadece birkaç fark vardı
    Bu istekleri yeniden üretince tek bir IP ile süresiz OAuth token’larını günde birkaç tane oluşturabiliyorsunuz. Bu token’lar kimliği doğrulanmamış kullanıcılar için, yani yazma izinleri yok, ama burada buna gerek yoktu
    Geniş IP havuzuna sahip bir proxy sağlayıcısından yaklaşık 1GB bant genişliği alırsanız, çok az bant genişliği kullanarak binlerce token/secret elde etmek kolay oluyor ve her birinin ayrı bir hız sınırı bulunuyor. Token’ı fiilen hangi IP’den kullandığınız önemli görünmüyordu
    Sonrasında https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... belgesini izledim ve /statuses/lookup.json’un hâlâ tek seferde 100 tweet döndürebilmesinden yararlanarak Twitter’ın %50 Firehose’una yakın bir şeyi yeniden kurdum
    Twitter veri merkezi IP’lerini de engellememişti. Veriyi https://firehose.lol üzerinde göstermeyi düşündüm ama bunun için saniyede yüzlerce istek gerekiyordu, bu da beni rahatsız etti; sonuçta programı birkaç dakikadan uzun çalıştırmayıp kapattım
    Firehose’un bir kısmını birkaç dakika izlemek ilginçti. Başta possibly_sensitive olarak işaretli tweet’leri gizlemeyi unuttuğum için birkaç saniye boyunca epey müstehcen içerik de gördüm; Çin’de Twitter engelli olmasına rağmen çok sayıda Çince kumar reklamı vardı; şüpheli yatırım tanıtım hesapları, FirstnameLastname3781264872 gibi kullanıcı adlarına sahip ve birkaç saniyede bir rastgele üç kelime tweet atan hesaplar ve birkaç komik tweet gördüm

    • archive.md kullanırsanız verim çok daha düşük olsa da hız sınırını aşmak daha basit oluyor. archive.md hız sınırından etkilenmiyor, bu yüzden hesapsız şekilde ara sıra birkaç tweet görmek istiyorsanız kullanışlı
  • Şimdiye kadar gördüğüm Nim projeleri arasında en etkileyicisi bu. Ana frontend’i yeniden yapmak, kimlik doğrulamayı çalıştırmak ve hatta özel API’nin tuhaf davranışlarını ele almak muazzam bir iş
    Bağlam gereği, Twitter içinde olsaydı bunu desteklemek için fiilen 20’den büyük bir ekip gerekirdi. Bunu başaran yazarı alkışlıyorum

    • Frontend Karax kullanıyor; hangi dil olursa olsun benim en sevdiğim frontend/tek sayfa uygulama kütüphanelerinden biri. Biraz pürüzlü yanları var ama kullanması gerçekten çok keyifli
      https://github.com/karaxnim/karax
    • Tabii Twitter’da 20’den büyük bir ekip olurdu, ama bunun bir nedeni de Nitter kapansa bile kimsenin pek umursamaması
  • Hız sınırının botlar ve scraper’lar üzerinde neredeyse hiçbir etkisi olmamışken, sitenin normal kullanıcı kitlesine ciddi zarar vermesi komik

    • Tamamen anekdotal ama benim hesaplarımda geçen ay bot etkinliği artıyordu, yakın zamandaki hız sınırı önlemlerinden sonra ise tamamen durdu
    • Komplo teorisi modunda bakarsak, ya amaç baştan beri buysa? Twitter, Arab Spring ya da Occupy Wall Street gibi protestoların örgütlenmesinde önemli bir alandı
      Dünyanın en zengin insanlarından biri ve aynı zamanda güçlü bir sendika karşıtı olan biri, eşitsizliğin giderek arttığı ve toplumsal bağların çözüldüğü bir dönemde bu alanı satın alıp kullanılamaz hale getirdi
      Artık örgütlenecek bir alan daha az ve sermaye için bir tehdit eksilmiş oldu
    • Çoğu durumda doğru. Neredeyse hangi kısıtlamayı eklerseniz ekleyin, hafif sıradan kullanıcılar zarar görüyor; saldırganlar ise genelde hafif kullanıcılar olmuyor
    • Elon siteyi satın aldığından beri botlar sanki daha da artıyor. Spam hesaplardan giderek daha fazla DM alıyorum, üstelik nedense Japonya kaynaklı olanlar da var
      Elmo ne yaparsa yapsın düzgün çalışmıyor gibi
  • API değişikliğinden sonra kullandığım varsayılan bearer token da durmuştu, ama aynı şekilde değiştirince Twitter Spaces indirme uygulamam da tekrar düzgün çalıştı
    0: https://github.com/Chiplis/moonbird

  • Giriş yapmadan Twitter’da profilleri ya da yanıtları hâlâ göremiyorsunuz; bu gerçekten inanılmaz
    Ben 4 yıldır bir Nitter kullanıcısıyım ve çalıştığı sürece kullanmaya devam edeceğim

    • RSS de kullanılabiliyor. URL’nin sonuna sadece /rss ekleyin
  • Fight Club hakkında konuşmamak gerekiyordu

    • Yine de Nitter sayfaları Google tarafından indeksleniyor, yani pek de sır sayılmaz
  • Bu gerçekten kalıcı mı? Bu bearer token hakkında daha fazlasını bilmek istiyorum
    Diğer GitHub issue başlıklarında, Twitter’ın korumalarını aşmanın bir yolunu buldukça tekrar kapatılmış gibi görünüyordu
    Token kaynak koduna kelimenin tam anlamıyla hardcode edilmiş gibi duruyor; bu da dünya çapında binlerce Nitter instance’ının ve binlerce kullanıcının aynı token’ı kullanacağı anlamına geliyor
    Yapay zeka şirketleri de potansiyel olarak bu token’ı kullanabilir; bu yüzden bunun nasıl çalışmaya devam edebildiğini anlamıyorum

    • Bu token resmî Twitter web/mobil uygulamalarında kullanılıyor gibi görünüyor. O yüzden Twitter’ın bunu anında devre dışı bırakması ya da engellemesi zor olabilir diye düşünüyorum
    • “Resmî olmayan” API’nin aralıklı da olsa çalışmaya devam etmesine izin verilmiş olması merak uyandırıcı. Nitter’ı minnetle kullanıyorum ama bir şeyler tam yerine oturmuyor gibi
    • Eski API yeniden çalışıyor gibi görünüyor
    • Sanırım NewPipe’ın çoğu zaman düzgün çalışmamasının sebebi bu. Çalışsa bile saçma derecede yavaş
  • Bunun anlamı anonim erişimin geri gelmiş olması. Nitter zaten ortadan kalkmış Twitter API’sini kullanmıyor. Kısa süreliğine geri gelmişti ama
    Twitter’ın noscript/basic (x)html birlikte çalışabilir web portalı sunması gerekiyor

  • Yani AI Scrapocalypse artık ölümcül derecede önemli bir sorun değil mi?

    • Bunun hız sınırının gerçek sebebi olduğuna en başından beri şüpheyle yaklaşıyordum
    • Belki de işyeri elflerini kovmakla büyük büyük tehdit etti, elfler de bütün gece çalışıp ofisteki eski şiltelerde uyuyarak Make Twitter Scale Again’i başardı ve artık load balancer dünyası yeniden huzura kavuştu
  • Bu, analog açıklık gibi bir şey. Veri sunucudan istemciye aktarıldığı sürece scraping her zaman mümkün olacak
    Ama Apple bunu zorlaştırmaya çalışıyor: https://developer.apple.com/documentation/devicecheck/prepar...

    • iOS geliştiricisi değilim ama burada kullanılan açıkla ilgili olarak App Attest’in ne ifade ettiğini merak ediyorum