Night Watch
Поддържайте сайтовете си онлайн при наводнения от скрейпери: наблюдение на наличността, защита с Cloudflare Free план и бариера за ботове.
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

Какво прави
Night Watch отваря всеки сайт, който поддържате, така както го прави посетител, на всеки пет минути, и ви уведомява в момента, в който един от тях спре да се отваря, и в момента, в който се върне. Когато сайт падне, защото скрейпър го залива, наблюдението включва правило на Cloudflare, което спира наводнението на ръба (edge), а приложението ви продължава да обслужва хора, докато то трае.
- Всеки сайт, на всеки пет минути. Всяка зона в акаунта ви в Cloudflare, плюс всяка страница, която посочите, по желание с текст, който страницата трябва да съдържа. Едно съобщение, когато сайт падне, едно, когато се върне, с посочване колко дълго е бил долу, и напомняне, докато остава долу. По имейл, чрез уебхук за чат или и двете.
- Защита с безплатния план. Три персонализирани WAF правила: потребителски агент на Chrome без заглавките, които изпраща истинският Chrome, получава предизвикателство; заявки за страници от скрейпърски облаци получават предизвикателство; а аварийното правило предизвиква непознати без бисквитка и без препратка по време на наводнение.
- Включва се само. Когато сайт падне от претоварване, наблюдението включва аварийното правило и го отбелязва в алармата; няколко часа след като сайтът се върне, го изключва. Защитата, която сте включили сами, остава включена.
- Врата вътре в приложението ви. Един файл без зависимости, за FastAPI, Starlette, Django, Flask или всяко ASGI или WSGI приложение. Той отказва фалшиви браузъри, преди кодът ви да се изпълни, и държи непознатите в рамките на това, което всеки работник може да обслужи. Хората с бисквитка или идващи чрез препратка никога не го забелязват.
- Вижте какво ви удря. Какво firewall-ът на Cloudflare е предизвикал в последните минути, по правило, мрежа, държава, потребителски агент и път, прочетено от суровите събития, които безплатният план позволява.
- Вградено отменяне. Всяка промяна на правилата първо запазва правилата на зоната, вашите собствени правила остават на място пред нашите, а една команда връща запазения набор.
Тествано на нашите собствени сайтове
- Истинско наводнение, един час: на наш сайт правилото за фалшиви браузъри е предизвикало повече от 10 000 заявки. 10 000-те, които Cloudflare ни позволява да прочетем, са дошли от 9 627 адреса на домашен широколентов интернет, нито един от които не е изпращал повече от 4: ограничаване на скоростта по адрес никога нямаше да се задейства.
- Всяко правило, тествано на живо с безплатния план: непознат е бил предизвикан, докато аварийното правило е било включено, и е пуснат с бисквитка или препратка; потребителски агент на Chrome без заглавки на браузъра е бил предизвикан; Googlebot е минал. По-раншните правила на зоната след това са възстановени точно.
- Портата под 1,747 заявки в секунда на uvicorn: всеки скрейпер без браузърни заглавки е отказан, непознатите са ограничени до това, което приложението може да обслужи, а всеки връщащ се посетител, посетител по линк и заявка от Googlebot е обслужен за медиана 0,20 секунди, собственото време на страницата.
Какво е включено
Наблюдението
Сайтове от вашия акаунт в Cloudflare и списък, проверки, които изглеждат като посетител, съобщения по имейл или уебхук, и тест, който разграничава „всичко е долу“ от „тази машина е офлайн“.
Щитът
Инсталиране, статус, включване, изключване, деинсталиране и възстановяване за една зона или за всички, като всяка промяна е предварително архивирана.
Портата
ASGI и WSGI междинен софтуер, страница „една секунда“ с изчакване 2 секунди, която раздава бисквитка, и един ред в дневника в минута.
Ръководството за действие
Какво да правите, когато сайтът е бавен или долу, как да четете наводнение и какво да не включвате в таблото на Cloudflare.
Изисквания
- Linux със systemd и Python 3.10 или по-нова версия; нищо за инсталиране от pip.
- За щита и изгледа на събитията, сайтове в Cloudflare (всеки план, включително безплатния) и API токен.
- Машина, различна от тази, която обслужва вашите сайтове, за да може да ви каже, когато тя е долу.
Полезно е да се знае
- Аварийното правило също изисква проверка на човек, който въвежда адреса ви в нов браузър, затова е изключено, освен по време на наводнение.
- Потвърдените ботове и роботите, които се самоопределят, никога не се проверяват, а търсачките никога не се отказват от портата.
- Щитът използва три от петте персонализирани правила, които безплатният план позволява на зона.
Въпроси
Нужен ли ми е платен план на Cloudflare?
Не. Всичко, което Night Watch прави, работи с безплатния план: трите правила, изгледът на събитията и автоматичното превключване. Платеният план ви дава само повече слотове за правила до нашите.
Ще блокира ли Google или AI паяците за търсачки?
Не. Потвърдените ботове на Cloudflare и всеки робот, който се самоопределя в своя user agent, преминават през щита, а портата никога не отказва търсачка или визуализация на линк. Ако искате да блокирате AI паяците, това е отделен избор в таблото на Cloudflare.
Сайтът ми не е в Cloudflare. Полезно ли е все пак?
Наблюдението и портата работят навсякъде: наблюдението отваря всеки URL, а портата защитава всяко Python уеб приложение. Щитът и изгледът на събитията изискват Cloudflare.
Какво го отличава от мониторинг на наличността?
Мониторингът на наличността ви казва, че сайтът е недостъпен. Night Watch също ви казва, но след това действа по най-честата причина, която наблюдаваме: активира защитния механизъм на периферията на Cloudflare, а вратата продължава да обслужва желаните от вас потребители, докато трае напливът.
Обновено: