Nitterが再び動作中
(github.com/zedeus)- 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件のコメント
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語をツイートするアカウント群、そして面白いツイートがいくつか見えた
これまで見た Nim プロジェクトの中で最も印象的。主要なフロントエンドを作り直し、認証まで動くようにし、非公開 API の妙な挙動まで処理するのは大仕事だ
文脈上、Twitter 内部なら実質的にこの機能を支えるために20人超のチームが付いていたはず。これをやり遂げた作者に拍手したい
https://github.com/karaxnim/karax
レート制限の効果がボットやスクレイパーにはほとんど影響しなかったのに、サイトの 一般ユーザー層には深刻な被害を与えたのが笑える
世界で最も裕福な人の一人で、反労組的な傾向も強い人物が、不平等がますます深まり社会的結束が崩れている時期に、その場を買い取って使えなくした
もはや組織化する場がなく、資本に対する脅威が一つ減ったというわけだ
Elmo が何をしても、まともに機能していないようだ
API 変更後、私が使っていたデフォルトの bearer token も止まったが、同じ方法に変えたら私の Twitter Spaces ダウンロードアプリもまた正常に動くようになった
0: https://github.com/Chiplis/moonbird
ログインなしでは Twitter でプロフィールや返信を今でも見られないのに、これは本当にすごい
私は Nitter ユーザーとして4年目で、動く限り使い続けるつもりだ
/rssを付けるだけでいいFight Club の話はしてはいけないはずだったのに
これは本当に恒久的なのか? この bearer token についてもっと知りたい
他の GitHub issue スレッドでは、Twitter の保護策を回避する方法を見つけるたびに塞がれているように見えた
ソースコードにトークンを文字通りハードコードしたように見えるが、それは世界中の何千もの Nitter インスタンスと何千人ものユーザーが同じトークンを使うことになるという意味だ
AI 企業も潜在的にそのトークンを使えるし、だからこれがどうやって動き続けられるのか分からない
匿名アクセスが復旧したという意味だ。Nitter はそもそも消えた Twitter API を使っていない。一時的に復旧したことはあったが
Twitter は noscript/basic (x)html 相互運用 Web ポータルを提供すべきだ
では AI Scrapocalypse はもう致命的に重要な問題ではないのか?
これは アナログホール に似ている。データがサーバーからクライアントへ渡る限り、スクレイピングは常に可能だ
ただし Apple はそれをより難しくしようとしている: https://developer.apple.com/documentation/devicecheck/prepar...