インスタグラムをRSS購読できたフロントエンドbibliogramが廃止に
インスタグラムをRSS購読できたフロントエンドbibliogramが廃止になるようです。
以下https://www.bibliogram.artから引用
起源
Instagram に腹が立ったので、2020 年の初めに Bibliogram を始めました。意外に思われるかもしれませんが、Bibliogram を始める前は Instagram をあまり使ったことがなく、アカウントも持っていなかったので、個人的には Instagram の投稿を見ることにはあまり関心がありませんでした。ストーリーは、友人から頻繁に送られてくる Instagram のリンクに遭遇したため、回避策を講じたいと思ったというものです。
サーバーがデータへのアクセスをまったく止めようとしなかったのに、ブラウザーにログイン ウォールが表示されるのは面倒でした。そのため、Bibliogram はサーバーにアクセスし、投稿をより使いやすいページ レイアウトに配置しました。
私が早い段階で追加した要望の多かった機能は、RSS フィードでした。 これは、 RSS の使用がインタラクティブな使用を小さくしていたため、メイン インスタンスではすぐにオフになりました。これらのフィードの多くは、人々の読者に追加され、忘れられていました。今日でも、忘れられたフィードの要求をかなりの数受け取ります。これらの忘れられたフィードは、2 年以上有用なデータを返していません。フィード リクエストは無料ではありません。Bibliogram は、発信 Web 要求を作成し、それを待ち、応答データを変換する必要があります。これは、Bibliogram が生成するフィードを見る人がそこにいなくても、Bibliogram の Instagram へのレート制限の一部を使い果たします。
レート制限
Bibliogram は、サーバーへのアクセスをレート制限して、私が行っていることとまったく同じことを人々が行うのを阻止します。私が経験した段階をここに記録しようと思いますが、それらの段階のいくつかを忘れているかもしれません.
パニックにならないでください。私は現在動作中の回避策を文書化していません。歴史的な関心を除いて役に立たない過去の回避策のみを文書化しています。
rkrkrkサンプルのユーザー名として使用します。
私の時間の前に: rhx_gis
プロファイル ページには rhx_gis というパラメーターがあり、アプリケーションはこのパラメーターを記憶して、後続の要求で使用できるようにする必要がありました。間違った rhx_gis を使用すると、ロックアウトされます。Instagram は過去にこれを使用していましたが、2020 年 1 月に Bibliogram の作業を開始したときは必要ありませんでした。
2020 年 1 月: メイン プロフィール ページ
プロファイル ページへの 100 ほどのリクエストinstagram.com/rkrkrk の後、クールダウンするまで有用な応答を返さなくなります。タイムラインの継続は制限されていませんでしたが、内部ユーザー ID を知っている場合にのみタイムラインにアクセスでき、プロフィール ページからのみその ID を取得できました。そのため、過去にプロフィール ページにアクセスしたことがある場合は、ID を保存でき、それ以降はタイムラインの続きにアクセスするだけで済み、制限はありませんでした。問題が解決しました。
(現在、プロファイル ページへのリクエストの制限は100 をはるかに下回っています。3 のようです。いつ下げたのか覚えていません。)
2020 年 6 月: サーバーのプロファイル ページがブロックされました
実生活で誰かの家にいる場合にのみ、プロファイル ページにアクセスできるようになりました。つまり、インターネット上のサーバーである場合はアクセスできません。この時代はここに文書化され ており、インスタンスがブロックされたという通知を見たのはこれが初めてでした。この制限は、Bibliogram が既にユーザー ID を知っているプロファイルのみをロードできることを意味します。これを回避するいくつかの方法を開発しました。
ユーザー ID を検索するために、アシスタント機能が追加されました。信頼できる人は自宅でアシスタント プログラムを実行して、Bibliogram に代わってユーザー ID を収集し (それ以外は何も収集しません)、Bibliogram インスタンスは既に知っているすべてのユーザー ID を相互に共有できます。
同様に、あるインスタンスから別のインスタンスにすべてのユーザー ID マッピングをコピーするインポート スクリプトがありました。Imported 492381 entries (37161 new, 138 overwritten, 455082 skipped)ID を共有することで、以前は不明だった 37,161 人のユーザーをそのインスタンスで検索できるようになったことを意味するような数値が出力されます。
最後に、特定のユーザー ID にアクセスできるようにするためにインストールできるブラウザー ユーザースクリプトがありました。
これらのバイパス メソッドはすべて、まだ Bibliogram のコードの一部ですが、まったく役に立たないため、使用されなくなりました。
2020 年 7 月: /feed/ bypass
私はクールだ。私はグーグル検索をいじっていて、site:instagram.com何が表示されるかを見るためだけにクエリを入力しました。instagram.com/rkrkrk/feed/不思議なことに、通常のプロファイル URL のように末尾に が付いているような URL を見つけました/feed/ 。クリックしましたが、ページが正しく読み込まれませんでした。ページのソースをチェックアウトしたところ、ビブリオグラムが機能するために必要なすべてのデータがそこにあります。そして、サーバーでチェックアウトすることにしましたが、まったくブロックされていませんでした. 結論として、Instagram の内部コードは完全にくだらないものです。続行すると、彼らのくだらないコードのインスタンスがさらに表示されます。
/feed/ を書誌コードに入れましたが、すべて問題ありません。総バイパス。
2020 年 12 月: 一部のサーバーで /feed/ がブロックされました
今回の更新記事はこちら。 これは、コードでは INSTAGRAM_BLOCK_TYPE_DECEMBER です。/feed/ リクエストは一部のサーバーでブロックされるようになりましたが、すべてではありません。最初に得た提案である Iperweb に Bibliogram を移動したところ、再び機能しました。(ただし、Iperweb はコストパフォーマンスに優れたサーバーではありません。その特定の会社を使用することはお勧めしません。) 現在、リクエストはほとんどの場合機能しています。これに関してはちょっと記憶が曖昧です。
2021 年 1 月下旬: graphql はほとんどブロックされました
各graphqlリクエストには、自宅にいるかクラウドサーバーにいるか、Torを介してアクセスしているか、およびアクセスしているquery_hashのマトリックスに基づいて、異なる一連のルールがあります. 特定の場所とエンドポイントの組み合わせに対して固定されている約 4 つの異なる動作がありますが、ランダムに割り当てられているようです。なんで?おそらく、そのコードはくだらないからです。とにかく、私はTorを介してルーティングしますが、Torを介して機能するもののみです.
これを修正した後、しばらく何も起こらなかったのでしょうか。参考文献は、ほとんど機能している状態でした。ログアウトしたリソースから常にスクレイピングしながら、それを機能させることができる最善の方法で機能しました。アカウントにログインしている場合は、まったく別の問題です。エンドポイントの全世界、特に公式アプリで使用されるエンドポイントがあなたに開かれます。ただし、間違った動きをした場合、Instagram は疑わしいアクティビティと思われるアカウントをためらわずにシャットダウンします。また、アカウントを作成すると、Instagram の利用規約に同意することにもなり、私はそうしたくありません。
2022 年 7 月: オーバーホール
Instagram は、ページ内のデータを内部的に配置する方法を根本的に変更し、リクエストを作成する新しい方法とそれを解析する新しい方法を必要としました。
プロファイル ページの場合、データを提供する方法は 4 通りあり、エクストラクタは 4 つすべてを処理する必要があります。使用される形式は数時間ごとに切り替わるようです。適切なタイミングでない場合、使用しているエクストラクターは失敗します。フォーマットは次のとおりです。
iweb、ユーザー名を渡し、ユーザー オブジェクト json を取得します。レート制限は 1 時間あたり 50 または 100 でしょうか。
instagram.com/rkrkrk/?__a=1元のページの読み込み後のajax、小さな小さな小さなレート制限。
instagram.com/rkrkrk そして_sharedDataを抽出し、同様に小さな小さな小さなレート制限を行います。以前はより多くのリクエストを行っていた /feed/ 回避策を試すことができますが、これは最終的にパッチが適用されたようです。/feed/ は、特定のクラスの IP アドレスからのみ機能する場合があります。
instagram.com/rkrkrkまたは /feed/ を実行して、PolarisQueryPreloaderCache を抽出します。
これらのメソッドを処理し、それらを切り替えるコードを書くことはまだ可能ですが、それらのいくつかはレート制限が厳しすぎて、それらの時点でビブリオグラムを実行できません。完全ではありませんが、Tor はさらに制限されているようです。
参考文献にアクセスするボット
2020 年の中頃から、コーディングが不十分なボットが Bibliogram にアクセスし、そのレート制限を使い果たすという深刻な問題に対処し始めました。これらのボットは、リクエストが成功するかどうかに関係なく作成されており、速度を落とすようにという私のリクエストを認めません。それらは、Bibliogram からデータをスクレイピングするために特別に設計されたものであり、所有者は明らかに怠惰すぎて、Bibliogram の独自のインスタンスを実行したり、私に連絡してセットアップの支援を求めたりすることができませんでした。ボットは監視されていないように見えるため問題であり、実際の人々を助けていればより良い速度制限を使い果たしています. 2020 年 8 月に、さまざまなプロキシ ネットワークが自分のサイトにアクセスするのをブロックし、本当に悪い犯罪者にケースバイケースで対処しました。現在使用中のリストです。
後で、Bibliogram が独自の速度制限システムをアクセスする人に動的に適用するシステムを作成します。
ここで私が犯した間違いは、問題を抱えている人々をブロックするための顔の見えないアプローチだったと思います. 彼らは、ブロックされていることを克服するためのパズルとして扱い 、Bibliogram を、助けたいと思っている実在の人物が運営するものではなく、単なる顔の見えない Web サイトとして扱います。将来的には、ブロックを回避しようとするだけでなく、オペレーターの人間性に訴えるカスタム エラー メッセージをボットに提供し、私に連絡するように求めることで、これとは異なるアプローチをとります。Just Shapes And Beats のアンチ パイラシー スクリーンのようなものです。
参考文献が廃止されたのはなぜですか?
/feed/ と Tor の同時取り締まりと、ページをスクレイピングするための新しいコードを作成する必要があることは、特に私が余暇に取り組んでいて、個人的な興味やインセンティブがない場合は、面倒です。
中止 とはどういう意味ですか?
プロフィールを見ることはできません。個々の投稿はまだ見ることができますが、将来これが壊れた場合、おそらく修正しません。
メイン インスタンスである bibliogram.art は、誰かが実行を引き継がない限りシャットダウンします。
復活できるのでしょうか?
Bibliogram はオープン ソースであり、インターフェイス デザイン、ポスト モデル、いくつかの回避策を実行するための構造が設定されているため、上に構築するのに優れたコードです。
これを機能させるために必要なのは、collectors.js または body.js の関数で、新しい形式のデータにアクセスすることだけです。
Instagram の回避策は間違いなくありますが、そのコードはまだくそったれなので、自分で回避策を探す気力はありません。
はい、参考文献を復活させることができます。しかし、それを実現するのは私ではありません。
あなたがその仕事を引き受けると決めたなら、シンプルだが重要な3つのお願いがあります。
連絡する。 メールかマトリックスか何かで私に連絡してください。たぶん、既存のチャットルームに参加することもできます。私の努力は無駄ではなかったことを知らせてください。私のコードで作業するのを手伝うことができるかもしれません. 私は寛大な人間なので、Bibliogram が復活するのを本当に楽しみにしています!
すぐにホームページと readme を編集して、私や私のリポジトリについて言及しないようにしてください。私がまだプロジェクトを担当していると人々に思い込ませたくありません。このような場所に独自のリンクを配置するか、完全に切り取ってください。
名前を変えることをお勧めします。名前に行き詰まっている場合は、「Bibliograph」がしばらく頭の中で跳ね回っています。名前として試してみてください。名前は変えたくないのでそのままで大丈夫です。
シャウトアウト
Bibliogram のインターフェイスを彼らの言語に翻訳してくれたボランティアに多大な感謝を捧げます。Bibliogram を中止することで、あなたの努力を少し失望させたことを残念に思います。あなたがどれだけ重要かを示すために、ここで再びあなたの功績を称えました。
Esmail、アラビア語 (アラビア語) 翻訳用
Plamen、ブルガリア語翻訳用
フィリップ・ベッカーズ、ドイツ語 (ドイツ語) 翻訳
tagomago、スペイン語翻訳用
Mostafa 氏、ペルシア語 (アラビア語) の翻訳と、双方向のテキストを理解するのを助けてくれた彼らの忍耐に感謝
bopol、フランス語訳
XoseM、ガリシア語 (ガリシア語) 翻訳用
ムスタファ、インドネシア語 (インドネシア語) 翻訳用
サヴェリオ・モレッリ、イタリア語訳
マレー語 (Bahasa Melayu) 翻訳用の Learnpastsole
sech1p、ポーランド語 (Polski) 翻訳用
tmpod、ポルトガル語 (Português) 翻訳用
TotalCaesar、ロシア語 (Русский) 翻訳用
Ahmet、トルコ語 (トルコ語) 翻訳用
公開、ウクライナ語 (Українська) 翻訳用
私と一緒にいて、私と一緒に乗ってくれた書誌チャットルームに感謝します.
Instagram アプリの真の代替案を作成してくれた Austin Huang に感謝します。バリンスタが安らかに眠れますように。
/g/ の #87806986 の人たちにとって、あなたはめちゃくちゃ陽気です。誰かを元気づける一番の方法は、ピエロを見せることかもしれません。
次は何ですか?
次に、非常にエキサイティングなことが起こります。次のプロジェクト、BreezeWiki の発表にご期待ください。
じゃあ!
コメント
コメントを投稿