SereneReader Bot

フィードフェッチャーの動作、識別方法、およびアクセスを拒否する方法。

SereneReader とは

SereneReader はフィードリーダーです。誰かがあなたの RSS または Atom フィードを購読すると、サーバーが代わりにフィードを取得し、新しい記事を表示します。

フィードエントリに画像がない場合、プレビュー画像のog:imageタグを読み取るために記事ページを一度取得します。また、サイドバー用にサイトのアイコンも取得します。

User-Agent

サーバーからのすべてのリクエストは、次の文字列で識別されます:

SereneReader/1.0 (+https://serenereader.com/bot)

取得するもの

  • 購読されたフィード URL。
  • 画像のないエントリの記事ページ。通常は各1回、og:imageタグを探すために最大1MBのHTMLを読み取ります。
  • サイトのアイコン:フィードで宣言されているもの、/favicon.ico、/apple-touch-icon.png、または/apple-touch-icon-precomposed.png。

当社はサイトをクロールしたり、記事ページのリンクをたどったりしません。購読中のフィードを除き、サインイン済みの読者がDiscoverカタログのフィードをプレビューする際(記事が保存されていない場合)、およびカタログへの追加前にフィードを確認する際に取得します。

取得頻度

フィードは定期的に更新されます。サーバーが ETag または Last-Modified ヘッダーを返す場合、次回の更新時に If-None-Match または If-Modified-Since を送信します。フィードに変更がなければ 304 が返るだけで、本文の転送は発生しません。

記事ページはプレビュー画像のために通常1回取得します。404などの永続的なエラーは30日間記録されます。タイムアウトや500エラーなど一時的なエラーは、約30秒、1分、2分間隔で最大3回再試行され、その後少なくとも1時間はページへのアクセスを控えます。

429または503が返された場合、アクセスを控えます。フィードの場合、取得に失敗するたびに次の試行を先延ばしにし、15分から始めて最大1日まで倍増します。429の場合はRetry-Afterヘッダーの指定時間以上待ちます。記事ページの場合、429または503は一時的なエラーとして扱い、約3分半の間に最大3回再試行します。その後はRetry-Afterの指定(最大7日間)待ちます。指定がない場合は7日間待ちます。

robots.txt

スケジュールされたフェッチャーが記事ページやサイトアイコンをリクエストする前に、robots.txtを読み取り、User-agent: SereneReaderのDisallowルールとcrawl-delayに従います。該当がない場合は*グループにフォールバックします。フィードを初めて追加する際のアイコンリクエストはrobots.txtを確認しません。

フィードURLは異なる扱いです。フィードは購読した読者の代わりに取得されるため、GoogleのFeedfetcherと同様に扱います。*グループのDisallowルールはフィードには適用されません。フィードパスを禁止するUser-agent: SereneReaderグループは、初回追加時も含めて尊重されます。スケジュールされたフェッチャーはフィードのcrawl-delayも尊重し、リクエスト間隔は最大60秒です(60秒を超える遅延は60秒として扱います)。フィード初回追加時の一度限りの取得と、Discoverカタログ追加前の確認はcrawl-delayを待ちません。

サーバーエラーにより robots.txt にアクセスできない場合、取得を許可しているものとして扱います。購読はユーザーによる明示的な同意であり、不安定な robots.txt がフィードの配信を妨げるべきではありません。

ブロックする方法

サーバーまたはファイアウォールで上記の User-Agent をブロック・レート制限するか、robots.txt でボット名を指定したグループを使ってアクセスを拒否してください。すべてのボットを対象としたルールではフィードの取得は止まりません。以下のように指定することで対応できます:

User-agent: SereneReader
Disallow: /

フィード URL をブロックすると、特定のリーダーだけでなく、購読しているすべてのユーザーの更新が停止します。

リクエスト署名

リクエストはWeb Bot Auth(HTTPメッセージ署名、RFC 9421)で署名されており、当社からのリクエストであることを確認できます。公開鍵は以下で公開されています:

https://serenereader.com/.well-known/http-message-signatures-directory

送信元IPアドレス

スケジュールされたフィード更新、Discoverプレビュー、プレビュー画像の取得はこれらの固定アドレスから行われます。一部のリクエストは別のアドレスから送られます。フィード初回追加時のフィード確認とアイコン取得はウェブサーバーから、Discoverカタログ追加前の確認は管理ツールから行われ、ステージング環境は同じUser-Agentでリクエストを送信します。IPアドレスのみによる許可リストでは、これらのリクエストが拒否されます。

162.220.234.241
152.55.180.242
152.55.180.243

機械可読リスト/bot/ips.json

お問い合わせ

トラフィックに関するご質問や、修正のご要望はありますか? お気軽にご連絡ください。