Night Watch
Udržujte svoje stránky online aj počas náporu scraperov: dohľad nad dostupnosťou, štít na bezplatnom tarife Cloudflare a brána proti botom.
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

Čo to robí
Night Watch otvára každú stránku, ktorú prevádzkujete, tak ako ju vidí návštevník, každých 5 minút, a okamžite vám oznámi, keď prestane fungovať a keď je späť. Keď stránka spadne, pretože ju zaplavuje scraper, stráž zapne pravidlo Cloudflare, ktoré zastaví záplavu na okraji siete, a vaša aplikácia pokračuje v obsluhe ľudí, kým to trvá.
- Každá stránka, každých 5 minút. Každá zóna vo vašom účte Cloudflare a každá stránka, ktorú uvediete, voliteľne s textom, ktorý musí obsahovať. Jedna správa, keď stránka spadne, jedna, keď je späť s informáciou, ako dlho bola mimo prevádzky, a pripomienka, kým je mimo prevádzky. E-mailom, chat webhookom alebo oboma spôsobmi.
- Štít na bezplatnom tarife. Tri vlastné pravidlá WAF: user agent Chrome bez hlavičiek, ktoré odosiela skutočný Chrome, dostane výzvu; požiadavky na stránky zo sietí scraperov dostanú výzvu a núdzové pravidlo dá výzvu cudzincom bez cookie a bez odkazu počas záplavy.
- Zapína sa samo. Keď stránka spadne pre preťaženie, stráž zapne núdzové pravidlo a oznámi to v alarme; hodiny po tom, čo je stránka späť, ho vypne. Štít, ktorý ste zapnuli sami, zostáva zapnutý.
- Brána vo vašej aplikácii. Jeden súbor bez závislostí pre FastAPI, Starlette, Django, Flask alebo akúkoľvek aplikáciu ASGI či WSGI. Odmieta falošné prehliadače skôr, než sa spustí váš kód, a drží cudzincov v rámci toho, čo dokáže obslúžiť jeden worker. Ľudia s cookie alebo tí, ktorí prídu cez odkaz, si toho nevšimnú.
- Vidíte, kto na vás útočí. Čo firewall Cloudflare v posledných minútach vyzval, podľa pravidla, siete, krajiny, user agenta a cesty, čítané z surových udalostí, ktoré bezplatný tarif umožňuje.
- Vstavané vrátenie späť. Každá zmena pravidiel najprv uloží pravidlá zóny, vaše vlastné pravidlá zostávajú na mieste pred tými našimi a jeden príkaz obnoví uloženú sadu.
Otestované na našich vlastných stránkach
- Skutočná záplava, jedna hodina: na jednej z našich stránok pravidlo pre falošné prehliadače vyzvalo viac ako 10 000 požiadaviek. Tých 10 000, ktoré nám Cloudflare umožňuje čítať, pochádzalo z 9 627 adries domáceho širokopásmového pripojenia, žiadna neodoslala viac ako 4: limit na adresu by nikdy nespôsobil zásah.
- Každé pravidlo, otestované naživo na bezplatnom tarife: cudzinec bol vyzvaný, keď bolo zapnuté núdzové pravidlo, a bol pustený s cookie alebo odkazom; user agent Chrome bez hlavičiek prehliadača bol vyzvaný; Googlebot prešiel. Predchádzajúce pravidlá zóny boli potom presne obnovené.
- Brána pod 1 747 požiadavkami za sekundu na uvicorn: každý scraper bez hlavičiek prehliadača bol odmietnutý, cudzinci dostali len to, čo dokázala aplikácia obslúžiť, a každá požiadavka od vracejúceho sa návštevníka, návštevníka z odkazu a Googlebotu bola vybavená za medián 0,20 sekundy, teda za čas samotnej stránky.
Čo je vnútri
Hliadka
Weby z vášho účtu Cloudflare a zoznam, kontroly vyzerajúce ako návštevník, správy e-mailom alebo webhookom a test, ktorý rozlíši „všetko je dole“ od „tento stroj je offline“.
Štít
Inštalácia, stav, zapnutie, vypnutie, odinštalovanie a obnovenie pre jednu zónu alebo pre všetky, pričom každá zmena je najprv zálohovaná.
Brána
Middleware pre ASGI a WSGI, stránka „chvíľku strpenia“ s 2-sekundovým oneskorením, ktorá udelí cookie, a jeden riadok v logu za minútu.
Postup pri poruche
Čo robiť, keď je web pomalý alebo nedostupný, ako čítať príval a čo nezapínať v ovládacom paneli Cloudflare.
Požiadavky
- Linux so systemd a Python 3.10 alebo novší; nič na inštaláciu z pip.
- Pre štít a zobrazenie udalostí weby na Cloudflare (akýkoľvek tarif vrátane Free) a API token.
- Stroj iný ako ten, ktorý obsluhuje vaše weby, aby vám mohol oznámiť, keď je ten druhý dole.
Dobré vedieť
- Núdzové pravidlo tiež vyzve na overenie osobu, ktorá zadá vašu adresu do nového prehliadača, preto je vypnuté okrem času prívala.
- Overené boty a roboty, ktoré sa predstavia, nikdy nie sú vyzvaní na overenie a vyhľadávače nikdy nie sú bránou odmietnuté.
- Štít využíva tri z piatich vlastných pravidiel, ktoré Free tarif povoľuje na zónu.
Otázky
Potrebujem platený tarif Cloudflare?
Nie. Všetko, čo Night Watch robí, funguje na Free tarife: tri pravidlá, zobrazenie udalostí a automatické prepínanie. Platený tarif vám len poskytne viac slotov pre pravidlá vedľa našich.
Bude blokovať Google alebo AI vyhľadávacie crawlere?
Nie. Overené boty Cloudflare a každý robot, ktorý sa uvedie v user agent, prejdú štítom a brána nikdy neodmietne vyhľadávač ani náhľad odkazu. Ak chcete blokovať AI crawlere, je to samostatná voľba v ovládacom paneli Cloudflare.
Môj web nie je na Cloudflare. Je to stále užitočné?
Hliadka a brána fungujú kdekoľvek: hliadka otvorí akúkoľvek URL a brána chráni akúkoľvek Python webovú aplikáciu. Štít a zobrazenie udalostí vyžadujú Cloudflare.
Čím sa to líši od monitora dostupnosti?
Monitor dostupnosti vám povie, že stránka je nedostupná. Night Watch vám to povie tiež, ale následne zasiahne proti najčastejšej príčine, ktorú pozorujeme: zapne štít na okraji siete Cloudflare a brána zabezpečí, aby vaša aplikácia obsluhovala požadovaných používateľov počas celého trvania náporu.
Aktualizované: