Il bot di SereneReader

Cosa fa il nostro feed fetcher, come si identifica e come bloccarlo.

Cos'è SereneReader

SereneReader è un lettore di feed. Quando qualcuno si iscrive al tuo feed RSS o Atom, i nostri server lo recuperano per conto suo e mostrano i nuovi articoli.

Per mostrare un'anteprima, recuperiamo ogni pagina dell'articolo una volta per leggerne il tag og:image, e recuperiamo la favicon del tuo sito per la barra laterale.

User-Agent

Ogni richiesta dai nostri server si identifica con questa stringa:

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

Cosa recuperiamo

  • URL dei feed a cui le persone si sono iscritte.
  • Ogni pagina articolo, una sola volta, leggendo al massimo 1 MB di HTML per trovare il tag og:image.
  • La favicon del vostro sito.

Non eseguiamo mai la scansione di un sito, non seguiamo i link dalle pagine degli articoli e non recuperiamo mai nulla a cui nessuno si è iscritto.

Con quale frequenza

I feed vengono aggiornati secondo una pianificazione. Quando il tuo server invia un'intestazione ETag o Last-Modified, l'aggiornamento successivo invia If-None-Match o If-Modified-Since: se il feed non è cambiato, ricevi un 304 senza corpo.

Ogni pagina di articolo viene recuperata una sola volta, per l'immagine di anteprima. Se la pagina non è raggiungibile, ci fermiamo: un errore permanente come un 404 viene ricordato per 30 giorni, mentre uno temporaneo come un timeout o un errore del server viene ritentato fino a tre volte con backoff, poi ignorato per almeno un'ora.

Un codice 429 o 503 ci indica di rallentare. Per i feed, posticipamo il prossimo aggiornamento con un backoff progressivo e, in caso di 429, di almeno il valore Retry-After indicato. Per le pagine degli articoli, potremmo riprovare fino a tre volte nell'arco di circa dieci minuti, poi attendere almeno un'ora, o per il tempo richiesto dal vostro Retry-After, fino a sette giorni.

robots.txt

Prima di recuperare una pagina articolo o una favicon, leggiamo il vostro robots.txt e seguiamo le regole Disallow e il crawl-delay per User-agent: SereneReader, ricorrendo al gruppo * come alternativa.

Gli URL dei feed sono diversi. Un feed viene recuperato per conto di un lettore che vi si è iscritto, quindi lo trattiamo come fa il Feedfetcher di Google: le regole Disallow del gruppo * non si applicano ad esso. Un gruppo User-agent: SereneReader che non consente il percorso del feed viene comunque rispettato, e il crawl-delay si applica ai feed esattamente come a tutto il resto.

Se il vostro robots.txt non è raggiungibile a causa di un errore del server, lo trattiamo come se consentisse il recupero. L'iscrizione è un consenso esplicito da parte del lettore, e un file robots instabile non dovrebbe interrompere il suo feed.

Come bloccarci

Bloccate o limitate il traffico dell'User-Agent indicato sopra a livello di server o firewall, oppure escludeteci dal vostro robots.txt con un gruppo che ci nomini. Una regola generica per tutti i bot non blocca il recupero dei feed; questa invece sì:

User-agent: SereneReader
Disallow: /

Bloccare l'URL del feed interrompe gli aggiornamenti per tutti gli iscritti, non solo per un singolo lettore.

Firme delle richieste

Le richieste sono firmate con Web Bot Auth (firme di messaggi HTTP, RFC 9421) in modo che possiate verificare che provengano davvero da noi. Le nostre chiavi pubbliche sono pubblicate su:

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

Indirizzi IP in uscita

Gli aggiornamenti periodici dei feed e il recupero delle anteprime provengono da questi indirizzi statici. La richiesta iniziale effettuata quando qualcuno aggiunge un feed per la prima volta proviene dai nostri server web e non è inclusa in questo elenco; pertanto, una lista di accesso basata solo sull'IP la rifiuterà.

162.220.234.241
152.55.180.242
152.55.180.243

Lista leggibile da macchina/bot/ips.json

Contatti

Domande sul nostro traffico o qualcosa che vorreste correggessimo? Contattateci.