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.
Quando una voce del feed non ha un'immagine, recuperiamo la pagina dell'articolo una volta per leggerne il tag og:image e ottenere un'anteprima. Recuperiamo anche l'icona del suo 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.
- Pagine degli articoli per le voci prive di immagine, di solito una volta ciascuna, leggendo al massimo 1 MB di HTML per trovare il tag og:image.
- L'icona del suo sito: quella dichiarata dal feed, /favicon.ico, /apple-touch-icon.png o /apple-touch-icon-precomposed.png.
Non indicizziamo siti né seguiamo link dalle pagine degli articoli. Al di là dei feed sottoscritti, recuperiamo un feed dal nostro catalogo Discover quando un lettore autenticato lo visualizza in anteprima e non abbiamo articoli memorizzati, e quando verifichiamo un feed prima di aggiungerlo al catalogo.
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.
Di norma recuperiamo ogni pagina articolo una sola volta, per l'immagine di anteprima. Un errore permanente come un 404 viene memorizzato per 30 giorni. Uno temporaneo, come un timeout o un errore 500, viene ritentato fino a tre volte, a circa 30 secondi, 1 minuto e 2 minuti di distanza, dopodiché la pagina viene ignorata per almeno un'ora.
Un 429 o 503 ci indica di rallentare. Per i feed, ogni aggiornamento fallito posticipa il successivo, partendo da 15 minuti e raddoppiando fino a un giorno; con un 429 attendiamo anche per il tempo indicato dall'intestazione Retry-After, o più a lungo. Per le pagine degli articoli, un 429 o 503 conta come errore temporaneo, quindi potremmo riprovare fino a tre volte in circa tre minuti e mezzo. Dopodiché attendiamo il tempo indicato dal suo Retry-After, fino a sette giorni, o sette giorni se non ne viene inviato uno.
robots.txt
Prima che i nostri fetcher pianificati richiedano una pagina articolo o l'icona del suo sito, leggono il suo robots.txt e seguono le regole Disallow e crawl-delay per User-agent: SereneReader, ricorrendo al gruppo *. La richiesta dell'icona effettuata quando qualcuno aggiunge il suo feed per la prima volta non controlla robots.txt.
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, anche quando qualcuno aggiunge il feed per la prima volta. I nostri fetcher pianificati rispettano il crawl-delay anche per i feed, fino a 60 secondi tra una richiesta e l'altra (un ritardo superiore viene trattato come 60 secondi). Il recupero una tantum quando qualcuno aggiunge un feed per la prima volta, e i nostri controlli prima di aggiungere un feed al catalogo Discover, non attendono il crawl-delay.
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 da noi. Le nostre chiavi pubbliche sono pubblicate su:
https://serenereader.com/.well-known/http-message-signatures-directoryIndirizzi IP in uscita
Gli aggiornamenti pianificati dei feed, le anteprime Discover e i recuperi delle immagini di anteprima provengono da questi indirizzi statici. Alcune richieste provengono da altri indirizzi: il controllo del feed e il recupero dell'icona effettuati quando qualcuno aggiunge un feed per la prima volta provengono dai nostri server web, i controlli prima di aggiungere un feed al catalogo Discover provengono dai nostri strumenti di amministrazione, e il nostro ambiente di staging invia richieste con lo stesso User-Agent. Un elenco di indirizzi consentiti basato solo sull'IP rifiuterà quelle richieste.
162.220.234.241
152.55.180.242
152.55.180.243Lista leggibile da macchina/bot/ips.json
Contatti
Domande sul nostro traffico o qualcosa che vorreste correggessimo? Contattateci.