1 ポイント 投稿者 GN⁺ 2023-07-11 | 1件のコメント | WhatsAppで共有
  • zedeus/nitterのPR #927「Fix everything」が2023年7月10日にmasterへマージされ、壊れていた機能を復旧する変更が入った
  • 復旧は新しい bearer tokenと更新されたエンドポイント群を使う方式で行われ、パーサーもあわせて更新された
  • 検索機能は完全復旧ではなく、コミット時点でユーザー検索は有効化されたが、ツイート検索は無効化されている
  • 追加の変更として、multi-user timelinesが当面無効化され、pinned tombstoneのパース修正も含まれる
  • RSSは動作するが、nitter.netでは無効化された状態のため、利用可否はインスタンス設定によって異なる

マージされた修正範囲

  • zedeus/nitterのPR #927「Fix everything」はelon-fixブランチからmasterへマージされた
    • マージ日は2023年7月10日
    • 合計4コミットが含まれる
    • マージ後、elon-fixブランチは削除された

主要な復旧方式

  • 変更の要点は新しい bearer tokenと更新済みエンドポイント群を使用すること
  • パーサーもあわせて更新され、変更されたレスポンス構造に対応するよう修正された
  • 初期説明では、不足している機能はsearchだと整理されている

検索とタイムライン関連の変更

  • 検索は一部のみ復旧
    • Enable user search, disable tweet searchコミットにより、ユーザー検索は有効化された
    • ツイート検索は無効化されている
  • Disable multi-user timelines for nowコミットにより、multi-user timelinesは当面無効化された

パース修正

  • Fix parsing of pinned tombstoneコミットが含まれる
  • pinned tombstone関連のパース問題が個別に修正された

RSSの状態

  • コメントでRSSの動作可否が質問された
  • zedeusは、RSSは動作するが nitter.net では無効化されていると回答した
  • したがって、RSSサポート自体とnitter.netでの有効化状態は別である

1件のコメント

 
GN⁺ 2023-07-11
Hacker News のコメント
  • 警告: 長く、少し関係のある自慢話のように聞こえるかもしれないが、要するに Twitter のレート制限回避はそれほど難しくない
    Twitter の面倒な証明書ピンニングはいじりたくなかったので、Twitter APK を Corellium に入れ、そこで「network monitor」をオンにして、ログインしなくても使える Twitter アプリを開いた
    検索してツイートを見ながらリクエストログを確認すると、Web サイトと似たゲストトークンの手順があり、いくつか違いがあるだけだった
    これらのリクエストを再現すると、1つの IP で期限切れのない OAuth トークンを1日にいくつか作れる。このトークンは未認証ユーザー向けなので書き込み権限はないが、ここではそれは必要なかった
    IP プールの大きいプロキシ提供者から 1GB 程度の帯域を買えば、ごく少ない帯域だけでトークン/シークレットを何千個も簡単に得られ、それぞれが別々のレート制限を持つ。トークンを実際にどの IP から使うかは重要ではなかった
    その後 https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... に従い、/statuses/lookup.json が今でも一度にツイートを 100件返せる点を利用して、Twitter 50% Firehose に近いものを再構成した
    Twitter はデータセンター IP もブロックしていなかった。データを https://firehose.lol に表示しようとしたが、秒間数百リクエストが必要で気が引けてきたので、結局プログラムを数分以上動かさずに止めた
    Firehose の一部を数分見るのは興味深かった。最初は possibly_sensitive と表示されたツイートを隠すのを忘れていて、数秒間かなり扇情的な素材も見たし、中国では Twitter がブロックされているのに中国語の賭博広告が多く、怪しい投資宣伝アカウント、FirstnameLastname3781264872 のようなユーザー名が数秒おきにランダムな3語をツイートするアカウント群、そして面白いツイートがいくつか見えた

    • archive.md を使えば効率はかなり落ちるが、もっと簡単に レート制限を回避できる。archive.md はレート制限の影響を受けないので、アカウントなしでツイートを数件だけたまに見たいときに便利
  • これまで見た Nim プロジェクトの中で最も印象的。主要なフロントエンドを作り直し、認証まで動くようにし、非公開 API の妙な挙動まで処理するのは大仕事だ
    文脈上、Twitter 内部なら実質的にこの機能を支えるために20人超のチームが付いていたはず。これをやり遂げた作者に拍手したい

    • フロントエンドには Karax を使っていて、どの言語を含めても私が一番好きな フロントエンド/シングルページアプリ用ライブラリだ。少し粗い部分はあっても、使うのが本当に楽しい
      https://github.com/karaxnim/karax
    • もちろん Twitter なら20人超のチームが付くだろうが、Nitter が落ちても誰も大して気にしないからでもある
  • レート制限の効果がボットやスクレイパーにはほとんど影響しなかったのに、サイトの 一般ユーザー層には深刻な被害を与えたのが笑える

    • ごく逸話的な話だが、自分のアカウントでは先月ボット活動が増えていたのに、最近のレート制限措置の後で完全に止まった
    • 陰謀論モードで見るなら、そもそもそれが目的だったとしたらどうだろう? Twitter は Arab Spring や Occupy Wall Street のような抗議運動の組織化に重要な場だった
      世界で最も裕福な人の一人で、反労組的な傾向も強い人物が、不平等がますます深まり社会的結束が崩れている時期に、その場を買い取って使えなくした
      もはや組織化する場がなく、資本に対する脅威が一つ減ったというわけだ
    • 多くの場合、それは事実。ほとんどどんな制約を追加しても ライトな一般ユーザーだけが被害を受け、攻撃者はたいていライトユーザーではない
    • Elon がサイトを買ってから、むしろボットは増え続けているように思う。スパムアカウントからの DM はどんどん増えているし、なぜか日本発のものもある
      Elmo が何をしても、まともに機能していないようだ
  • API 変更後、私が使っていたデフォルトの bearer token も止まったが、同じ方法に変えたら私の Twitter Spaces ダウンロードアプリもまた正常に動くようになった
    0: https://github.com/Chiplis/moonbird

  • ログインなしでは Twitter でプロフィールや返信を今でも見られないのに、これは本当にすごい
    私は Nitter ユーザーとして4年目で、動く限り使い続けるつもりだ

    • RSS も使える。URL の後ろに /rss を付けるだけでいい
  • Fight Club の話はしてはいけないはずだったのに

    • それでも Nitter のページは Google にインデックスされているので、特に秘密というわけではない
  • これは本当に恒久的なのか? この bearer token についてもっと知りたい
    他の GitHub issue スレッドでは、Twitter の保護策を回避する方法を見つけるたびに塞がれているように見えた
    ソースコードにトークンを文字通りハードコードしたように見えるが、それは世界中の何千もの Nitter インスタンスと何千人ものユーザーが同じトークンを使うことになるという意味だ
    AI 企業も潜在的にそのトークンを使えるし、だからこれがどうやって動き続けられるのか分からない

    • このトークンは公式 Twitter Web/モバイルアプリで使われているようだ。だから Twitter が単純にすぐ無効化したりブロックしたりするのは難しいと思う
    • 「非公式」API が断続的にでも動き続けることを許されてきたのが気になる。Nitter にはありがたく使わせてもらっているが、どこか辻褄が合わない感じがする
    • 以前の API がまた動いているようだ
    • だから NewPipe はほとんどの時間うまく動かないのだと思う。動いたとしても途方もなく遅い
  • 匿名アクセスが復旧したという意味だ。Nitter はそもそも消えた Twitter API を使っていない。一時的に復旧したことはあったが
    Twitter は noscript/basic (x)html 相互運用 Web ポータルを提供すべきだ

  • では AI Scrapocalypse はもう致命的に重要な問題ではないのか?

    • それがレート制限の本当の理由だったのかは、最初から懐疑的だった
    • おそらく彼が作業場の妖精たちを解雇すると大きく脅したので、妖精たちが徹夜で働き、オフィスの古いマットレスで寝ながら Make Twitter Scale Again を成し遂げ、今やロードバランサーの世界は平穏になったのかもしれない
  • これは アナログホール に似ている。データがサーバーからクライアントへ渡る限り、スクレイピングは常に可能だ
    ただし Apple はそれをより難しくしようとしている: https://developer.apple.com/documentation/devicecheck/prepar...

    • iOS 開発者ではないのだが、ここで使われた穴に関して App Attest がどういう意味を持つのか気になる