Night Watch
Panatilihing patayo ang iyong mga site sa gitna ng mga scraper floods: isang uptime watch, isang Cloudflare Free-plan shield at isang bot gate.
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

Ano ang ginagawa nito
Ang Night Watch ay binubuksan ang bawat site na pinapatakbo mo gaya ng ginagawa ng isang bisita, tuwing limang minuto, at sinasabi sa iyo ang sandali na tumigil itong magbukas at ang sandali na bumalik ito. Kapag bumagsak ang isang site dahil binaha ito ng isang scraper, pinapaganap ng watch ang isang Cloudflare rule na humihinto sa baha sa edge, at patuloy na nagse-serve ang app mo sa mga tao habang tumatagal ito.
- Bawat site, tuwing limang minuto. Bawat zone sa iyong Cloudflare account, plus ang anumang pahina na ililista mo, na may opsyonal na teksto na dapat lamang ng pahina. Isang mensahe kapag bumagsak ang site, isa kapag bumalik ito kasama ang tagal ng pagkabagsak, at isang paalala habang nasa ibaba ito. Sa pamamagitan ng mail, chat webhook, o pareho.
- Isang shield sa Free plan. Tatlong WAF custom rules: ang Chrome user agent na walang headers na ipinapadala ng tunay na Chrome ay makakatanggap ng challenge, ang mga page requests mula sa mga scraper cloud ay makakatanggap ng challenge, at ang isang emergency rule ay magbibigay ng challenge sa mga estranghero na walang cookie at walang link habang may baha.
- Pinapaganap nang kusa. Kapag bumagsak ang site dahil sa overload, pinapaganap ng watch ang emergency rule at sinasabi ito sa alarm; ilang oras pagkatapos bumalik ang site, pinapatay nito ito. Ang shield na ikaw mismo ang pinaganap ay mananatiling bukas.
- Isang gate sa loob ng app mo. Isang file na walang dependencies, para sa FastAPI, Starlette, Django, Flask o anumang ASGI o WSGI app. Tinatanggihan nito ang mga pekeng browser bago pa tumakbo ang code mo at pinapanatili ang mga estranghero sa loob ng kaya ng bawat worker na i-serve. Hindi mapapansin ito ng mga taong may cookie o dumating sa pamamagitan ng link.
- Tingnan kung sino ang tumatama sa iyo. Ano ang hinamon ng firewall ng Cloudflare sa nakaraang ilang minuto, ayon sa rule, network, bansa, user agent at path, na binabasa mula sa raw events na pinapayagan ng Free plan.
- Naka-built-in ang undo. Ang bawat pagbabago sa rule ay nagse-save muna ng mga rules ng zone, ang mga rules mo ay mananatiling nasa unahan ng aming mga rules, at ang isang command ay ibabalik ang naka-save na set.
Sinubukan sa aming mga site
- Tunay na baha, isang oras: sa isang site namin, hinamon ng fake-browser rule ang mahigit 10,000 requests. Ang 10,000 na pinapayagan ng Cloudflare na basahin namin ay galing sa 9,627 home broadband addresses, wala man lang isa ang nagpadala ng higit sa 4: hindi kailanman magpapatakbo ang per-address rate limit.
- Bawat rule, sinubok nang live sa Free plan: hinamon ang isang estranghero habang bukas ang emergency rule at pinapasok ito kapag may cookie o link; hinamon ang Chrome user agent na walang browser headers; pumasa ang Googlebot. Pagkatapos ay ibinalik nang eksakto ang mga naunang rules ng zone.
- Ang gate na humahawak ng higit sa 1,747 requests kada segundo sa uvicorn: bawat scraper na walang browser headers ay tinanggihan, ang mga estranghero ay pinanatili sa kaya ng app na i-serve, at bawat bumabalik na bisita, link visitor at Googlebot request ay naserbisyo sa median na 0.20 segundo, ang sariling oras ng page.
Ano ang nasa loob
Ang watch
Mga site mula sa iyong Cloudflare account at isang listahan, mga check na mukhang bisita, mga mensahe sa pamamagitan ng mail o webhook, at isang test na naghihiwalay ng "lahat ay down" mula sa "offline ang makina na ito".
Ang shield
Install, status, on, off, uninstall at restore para sa isang zone o lahat, na may bawat pagbabago na na-back up muna.
Ang gate
ASGI at WSGI middleware, isang 2-segundong "isang sandali" page na nagbibigay ng cookie sa mga tao, at isang log line kada minuto.
Ang runbook
Ano ang gawin kapag mabagal o down ang isang site, paano basahin ang flood, at ano ang hindi dapat buksan sa dashboard ng Cloudflare.
Mga requirement
- Linux na may systemd at Python 3.10 o mas bago; walang dapat i-install mula sa pip.
- Para sa shield at event view, mga site sa Cloudflare (kahit anong plan, kasama ang Free plan) at isang API token.
- Isang makina na hindi ang nagse-serve ng iyong mga site, para masabihan ka nito kapag down ang isa.
Mga dapat malaman
- Ang emergency rule ay humahamon din sa taong nagta-type ng iyong address sa bagong browser, kaya ito ay naka-off maliban na lang kapag may flood.
- Ang mga verified bot at robots na nagpapangalan sa sarili ay hindi kailanman hinahamon, at ang mga search engine ay hindi kailanman tinatanggihan ng gate.
- Gumagamit ang shield ng tatlo sa limang custom rules na pinapayagan ng Free plan kada zone.
Mga tanong
Kailangan ko ba ng bayad na Cloudflare plan?
Hindi. Lahat ng ginagawa ng Night Watch ay gumagana sa Free plan: ang tatlong rules, ang event view at ang automatic switching. Ang bayad na plan ay nagbibigay lamang ng mas maraming rule slots sa tabi ng aming mga ito.
Didiit nito ang Google o AI search crawlers?
Hindi. Ang mga verified bot ng Cloudflare at bawat robot na nagpapangalan sa sarili sa user agent ay dadaan sa shield, at ang gate ay hindi kailanman tumatanggi sa search engine o link preview. Kung gusto mong hadlangan ang AI crawlers, iyon ay isang hiwalay na pagpipilian sa dashboard ng Cloudflare.
Hindi nasa Cloudflare ang site ko. Kapaki-pakinabang pa rin ba ito?
Gumagana ang watch at ang gate kahit saan: ang watch ay bumubukas ng kahit anong URL, at ang gate ay pinoprotektahan ang kahit anong Python web app. Ang shield at ang event view ay nangangailangan ng Cloudflare.
Paano ito naiiba sa isang uptime monitor?
Sinasabi ng uptime monitor na down ang isang site. Sinasabi rin ito ng Night Watch, tapos kumikilos ito sa pinakakaraniwang dahilan na nakikita namin: pinapaganap nito ang shield sa edge ng Cloudflare, at pinapanatili ng gate na nagse-serve ang app mo sa mga taong gusto mo habang tumatagal ang baha.
Na-update: