Night Watch
Διατηρήστε τις ιστοσελίδες σας σε λειτουργία κατά τις πλημμύρες από scraper: μια παρακολούθηση διαθεσιμότητας, μια ασπίδα Cloudflare με δωρεάν πλάνο και μια πύλη για bots.
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

Τι κάνει
Το Night Watch ανοίγει κάθε ιστοσελίδα που τρέχετε όπως την ανοίγει ένας επισκέπτης, κάθε πέντε λεπτά, και σας ενημερώνει τη στιγμή που μια ιστοσελίδα σταματά να ανοίγει και τη στιγμή που επανέρχεται. Όταν μια ιστοσελίδα πέφτει επειδή την πλημμυρίζει ένας scraper, ο φύλακας ενεργοποιεί έναν κανόνα του Cloudflare που σταματά την πλημμύρα στην άκρη (edge), και η εφαρμογή σας συνεχίζει να εξυπηρετεί τους χρήστες όσο διαρκεί.
- Κάθε ιστοσελίδα, κάθε πέντε λεπτά. Κάθε ζώνη στον λογαριασμό σας στο Cloudflare, καθώς και οποιαδήποτε σελίδα καταχωρήσετε, προαιρετικά με κείμενο που η σελίδα πρέπει να περιέχει. Ένα μήνυμα όταν μια ιστοσελίδα πέφτει, ένα όταν επανέρχεται με το πόσο καιρό ήταν εκτός λειτουργίας, και μια υπενθύμιση όσο παραμένει εκτός. Με email, με webhook συνομιλίας ή και με τα δύο.
- Μια ασπίδα στο πρόγραμμα Free. Τρεις προσαρμοσμένοι κανόνες WAF: ένας user agent Chrome χωρίς τις επικεφαλίδες που στέλνει κάθε πραγματικό Chrome λαμβάνει μια πρόκληση (challenge), τα αιτήματα σελίδων από σύννεφα scraper λαμβάνουν μια πρόκληση, και ένας κανόνας έκτακτης ανάγκης προκαλεί (challenge) τους αγνώστους χωρίς cookie και χωρίς link κατά τη διάρκεια μιας πλημμύρας.
- Ενεργοποιείται μόνο του. Όταν μια ιστοσελίδα πέφτει από υπερφόρτωση, ο φύλακας ενεργοποιεί τον κανόνα έκτακτης ανάγκης και το αναφέρει στον συναγερμό· ώρες αφότου η ιστοσελίδα επανέλθει, τον απενεργοποιεί. Μια ασπίδα που ενεργοποιήσατε εσείς οι ίδιοι παραμένει ενεργή.
- Μια πύλη μέσα στην εφαρμογή σας. Ένα αρχείο χωρίς εξαρτήσεις, για FastAPI, Starlette, Django, Flask ή οποιαδήποτε εφαρμογή ASGI ή WSGI. Απορρίπτει τα ψεύτικα προγράμματα περιήγησης πριν εκτελεστεί ο κώδικάς σας και κρατά τους αγνώστους εντός του ορίου που μπορεί να εξυπηρετήσει κάθε worker. Οι χρήστες με cookie ή που φτάνουν μέσω link δεν το αντιλαμβάνονται ποτέ.
- Δείτε τι σας χτυπά. Τι προκάλεσε (challenged) το firewall του Cloudflare τα τελευταία λεπτά, ανά κανόνα, δίκτυο, χώρα, user agent και path, διαβασμένο από τα ακατέργαστα συμβάντα που επιτρέπει το πρόγραμμα Free.
- Ενσωματωμένη αναίρεση. Κάθε αλλαγή κανόνα αποθηκεύει πρώτα τους κανόνες της ζώνης, οι δικοί σας κανόνες παραμένουν στη θέση τους πριν από τους δικούς μας, και μία εντολή επαναφέρει το αποθηκευμένο σύνολο.
Δοκιμασμένο στις δικές μας ιστοσελίδες
- Μια πραγματική πλημμύρα, μία ώρα: σε μια δική μας ιστοσελίδα, ο κανόνας για ψεύτικα προγράμματα περιήγησης προκάλεσε (challenged) περισσότερα από 10.000 αιτήματα. Τα 10.000 που μας επιτρέπει να διαβάσουμε το Cloudflare προέρχονταν από 9.627 διευθύνσεις ευρυζωνικής σύνδεσης σπιτιών, καμία από τις οποίες δεν έστειλε περισσότερα από 4: ένας περιορισμός ρυθμού ανά διεύθυνση δεν θα είχε ποτέ ενεργοποιηθεί.
- Κάθε κανόνας, ελεγχμένος ζωντανά στο πρόγραμμα Free: ένας άγνωστος χρήστης προκλήθηκε (challenged) όσο ο κανόνας έκτακτης ανάγκης ήταν ενεργός και αφέθηκε να περάσει με ένα cookie ή ένα link· ένας user agent Chrome χωρίς επικεφαλίδες προγράμματος περιήγησης προκλήθηκε (challenged)· το Googlebot πέρασε. Οι προηγούμενοι κανόνες της ζώνης αποκαταστάθηκαν στη συνέχεια ακριβώς.
- Η πύλη κάτω από 1.747 αιτήματα το δευτερόλεπτο στο uvicorn: κάθε scraper χωρίς headers browser απορριπτόταν, οι ξένοι κρατούνταν σε όσα μπορούσε να εξυπηρετήσει η εφαρμογή, και κάθε επαναλαμβανόμενος επισκέπτης, επισκέπτης από σύνδεσμο και αίτημα Googlebot εξυπηρετούνταν σε διάμεσο χρόνο 0,20 δευτερολέπτων, τον χρόνο της ίδιας της σελίδας.
Τι περιέχει
Η παρακολούθηση
Ιστοσελίδες από τον λογαριασμό σας στο Cloudflare και μια λίστα, έλεγχοι που μοιάζουν με επισκέπτη, μηνύματα μέσω email ή webhook, και μια δοκιμή που ξεχωρίζει το «όλα κάτω» από το «αυτή η μηχανή είναι εκτός λειτουργίας».
Η ασπίδα
Εγκατάσταση, κατάσταση, ενεργοποίηση, απενεργοποίηση, απεγκατάσταση και επαναφορά για μία ζώνη ή για όλες, με αντίγραφο ασφαλείας κάθε αλλαγής πριν από την εφαρμογή.
Η πύλη
Middleware ASGI και WSGI, μια σελίδα «μία στιγμή» 2 δευτερολέπτων που δίνει στους χρήστες ένα cookie, και μία γραμμή καταγραφής ανά λεπτό.
Το εγχειρίδιο λειτουργίας
Τι να κάνετε όταν μια ιστοσελίδα είναι αργή ή εκτός λειτουργίας, πώς να διαβάσετε μια πλημμύρα αιτημάτων, και τι να μην ενεργοποιήσετε στον πίνακα ελέγχου του Cloudflare.
Απαιτήσεις
- Linux με systemd και Python 3.10 ή νεότερο· τίποτα να μην εγκατασταθεί από το pip.
- Για την ασπίδα και την προβολή συμβάντων, ιστοσελίδες στο Cloudflare (οποιοδήποτε πλάνο, συμπεριλαμβανομένου του Δωρεάν) και ένα API token.
- Μια μηχανή διαφορετική από αυτήν που εξυπηρετεί τις ιστοσελίδες σας, ώστε να μπορεί να σας ειδοποιήσει όταν αυτή είναι εκτός λειτουργίας.
Χρήσιμο να γνωρίζετε
- Ο κανόνας έκτακτης ανάγκης προκαλεί επίσης πρόκληση σε κάποιον που πληκτρολογεί τη διεύθυνσή σας σε ένα νέο browser, γι’ αυτό είναι απενεργοποιημένος εκτός από περιόδους πλημμύρας αιτημάτων.
- Οι επαληθευμένοι bots και τα robots που δηλώνουν το όνομά τους δεν προκαλούνται ποτέ, και οι μηχανές αναζήτησης δεν απορρίπτονται ποτέ από την πύλη.
- Η ασπίδα χρησιμοποιεί τρεις από τους πέντε προσαρμοσμένους κανόνες που επιτρέπει το Δωρεάν πλάνο ανά ζώνη.
Ερωτήσεις
Χρειάζομαι πληρωμένο πλάνο Cloudflare;
Όχι. Όλα όσα κάνει το Night Watch λειτουργούν στο Δωρεάν πλάνο: οι τρεις κανόνες, η προβολή συμβάντων και η αυτόματη εναλλαγή. Ένα πληρωμένο πλάνο σας δίνει απλώς περισσότερες θέσεις κανόνων δίπλα στις δικές μας.
Θα μπλοκάρει την Google ή τους crawlers αναζήτησης AI;
Όχι. Οι επαληθευμένοι bots του Cloudflare και κάθε robot που δηλώνει το όνομά του στο user agent περνούν την ασπίδα, και η πύλη δεν απορρίπτει ποτέ μια μηχανή αναζήτησης ή μια προεπισκόπηση συνδέσμου. Αν θέλετε να μπλοκάρετε τους crawlers AI, αυτή είναι μια ξεχωριστή επιλογή στον πίνακα ελέγχου του Cloudflare.
Η ιστοσελίδα μου δεν είναι στο Cloudflare. Είναι ακόμα χρήσιμο;
Η παρακολούθηση και η πύλη λειτουργούν οπουδήποτε: η παρακολούθηση ανοίγει οποιοδήποτε URL, και η πύλη προστατεύει οποιαδήποτε εφαρμογή web σε Python. Η ασπίδα και η προβολή συμβάντων χρειάζονται το Cloudflare.
Πώς διαφέρει αυτό από έναν παρακολούθησης διαθεσιμότητας;
Ένας παρακολούθησης διαθεσιμότητας σας ενημερώνει ότι ένας ιστότοπος είναι εκτός λειτουργίας. Το Night Watch σας το λέει επίσης και στη συνέχεια ενεργεί για την πιο συνηθισμένη αιτία που παρατηρούμε: ενεργοποιεί την ασπίδα στο όριο του Cloudflare, και η πύλη διατηρεί την εφαρμογή σας εξυπηρετώντας τα άτομα που επιθυμείτε, όσο διαρκεί η πλημμύρα.
Ενημερώθηκε: