Night Watch
Utrzymuj strony online mimo zalewu scraperów: monitoring dostępności, ochrona w planie Cloudflare Free i bramka dla botów.
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

Co robi
Night Watch otwiera każdą Twoją stronę tak, jak robi to odwiedzający, co pięć minut, i informuje Cię w momencie, gdy przestaje się otwierać, oraz gdy znów działa. Gdy strona pada, ponieważ jest zalewana przez skrapery, watch uruchamia regułę Cloudflare, która zatrzymuje zalew na krawędzi sieci, a Twoja aplikacja nadal obsługuje użytkowników, dopóki to trwa.
- Każda strona, co pięć minut. Każda strefa na Twoim koncie Cloudflare oraz każda strona, którą dodasz, opcjonalnie z tekstem, jaki strona musi zawierać. Jedna wiadomość, gdy strona pada, jedna, gdy wraca, z informacją, jak długo była niedostępna, oraz przypomnienie, gdy nadal nie działa. E-mailem, webhookiem czatu lub obiema metodami.
- Ochrona na planie Free. Trzy niestandardowe reguły WAF: agent użytkownika Chrome bez nagłówków, które wysyła każdy prawdziwy Chrome, otrzymuje wyzwanie; żądania stron z chmur skrapujących otrzymują wyzwanie; a reguła awaryjna rzuca wyzwanie obcym bez pliku cookie i bez linku podczas zalewu.
- Włączana automatycznie. Gdy strona pada z przeciążenia, watch włącza regułę awaryjną i informuje o tym w alarmie; kilka godzin po powrocie strony ją wyłącza. Ochrona, którą włączyłeś ręcznie, pozostaje aktywna.
- Bramka wewnątrz Twojej aplikacji. Jeden plik bez zależności, dla FastAPI, Starlette, Django, Flask lub dowolnej aplikacji ASGI lub WSGI. Odrzuca fałszywe przeglądarki, zanim uruchomi się Twój kod, i ogranicza obcych do tego, co może obsłużyć każdy worker. Osoby z plikiem cookie lub wchodzące przez link nigdy tego nie zauważą.
- Zobacz, co Cię atakuje. Co firewall Cloudflare rzucił wyzwanie w ostatnich minutach, według reguły, sieci, kraju, agenta użytkownika i ścieżki, odczytane z surowych zdarzeń dostępnych w planie Free.
- Wbudowane cofanie. Każda zmiana reguł najpierw zapisuje reguły strefy, Twoje własne reguły pozostają na swoim miejscu przed naszymi, a jedno polecenie przywraca zapisany zestaw.
Przetestowane na naszych własnych stronach
- Prawdziwy zalew, jedna godzina: na jednej z naszych stron reguła fałszywych przeglądarek rzuciła wyzwanie ponad 10 000 żądań. Te 10 000, które Cloudflare pozwala nam odczytać, pochodziło z 9 627 adresów domowego internetu szerokopasmowego, z których żaden nie wysłał więcej niż 4: limit częstotliwości na adres nigdy by nie zadziałał.
- Każda reguła przetestowana na żywo na planie Free: obcy został poddany wyzwaniu, gdy reguła awaryjna była włączona, i przepuszczony z plikiem cookie lub linkiem; agent użytkownika Chrome bez nagłówków przeglądarki został poddany wyzwaniu; Googlebot przeszedł. Następnie wcześniejsze reguły strefy zostały dokładnie przywrócone.
- Bramka poniżej 1747 żądań na sekundę w uvicorn: każdy scraper bez nagłówków przeglądarki odrzucany, obcy ograniczeni do tego, co aplikacja mogła obsłużyć, a każde żądanie powracającego użytkownika, użytkownika linku i Googlebot obsługiwane w medianie 0,20 sekundy, czyli w czasie samej strony.
Co zawiera zestaw
Watchdog
Strony z Twojego konta Cloudflare i lista, testy imitujące odwiedziny, wiadomości e-mail lub webhook oraz test odróżniający „wszystko padło” od „ta maszyna jest offline”.
Tarcza
Instalacja, status, włączanie, wyłączanie, odinstalowywanie i przywracanie dla jednej strefy lub wszystkich, z automatyczną kopią zapasową przed każdą zmianą.
Bramka
Oprogramowanie pośredniczące ASGI i WSGI, strona „Chwileczkę” wyświetlana przez 2 sekundy, która przydziela użytkownikowi plik cookie, oraz jedna linia logu na minutę.
Runbook
Co robić, gdy strona działa wolno lub jest niedostępna, jak czytać raport o przeciążeniu i czego nie włączać w panelu Cloudflare.
Wymagania
- Linux z systemd i Pythonem 3.10 lub nowszym; nic do instalacji z pip.
- Do tarczy i widoku zdarzeń strony na Cloudflare (dowolny plan, w tym Free) oraz token API.
- Maszyna inna niż ta obsługująca Twoje strony, aby mogła Cię powiadomić, gdy tamta przestanie działać.
Warto wiedzieć
- Reguła awaryjna sprawdza również osobę, która wpisuje Twój adres w nowej przeglądarce, dlatego jest wyłączona, z wyjątkiem sytuacji zalewu ruchu.
- Zweryfikowane boty i roboty, które się identyfikują, nigdy nie są sprawdzane, a wyszukiwarki nigdy nie są odsyłane od bramki.
- Tarcza wykorzystuje trzy z pięciu reguł niestandardowych, które plan Free pozwala ustawić dla strefy.
Pytania
Czy potrzebuję płatnego planu Cloudflare?
Nie. Wszystko, co robi Night Watch, działa na planie Free: trzy reguły, widok zdarzeń i automatyczne przełączanie. Płatny plan daje jedynie więcej miejsc na reguły obok naszych.
Czy zablokuje roboty wyszukiwarek Google i AI?
Nie. Zweryfikowane boty Cloudflare oraz każdy robot, który identyfikuje się w nagłówku user agent, przechodzi przez tarczę, a bramka nigdy nie odrzuca wyszukiwarek ani podglądów linków. Jeśli chcesz zablokować roboty AI, jest to osobna opcja w panelu Cloudflare.
Mojego serwisu nie ma na Cloudflare. Czy nadal będzie przydatny?
Watchdog i bramka działają wszędzie: watchdog otwiera dowolny adres URL, a bramka chroni dowolną aplikację internetową w Pythonie. Tarcza i widok zdarzeń wymagają Cloudflare.
Czym to się różni od monitora dostępności?
Monitor dostępności informuje, że strona nie działa. Night Watch również to robi, a następnie reaguje na najczęstszą przyczynę, jaką obserwujemy: włącza tarczę na krawędzi Cloudflare, a bramka utrzymuje aplikację w stanie gotowości do obsługi wybranych użytkowników przez cały czas trwania fali ruchu.
Zaktualizowano: