Check Sauce ist ein allgemeines Tool zur Überwachung von Webinhalten, das Änderungen an Webinhalten überwachen und Änderungen an WeChat senden kann
Microsoft Edge | Google Chrome |
---|---|
Klicken Sie auf das Symbol oben, um die Store-Seite aufzurufen, oder suchen Sie direkt im Store nach „Check Sauce“.
Detaillierte Version, fast 2 Stunden
Informationen zum Installationsbefehl für das Docker-Image finden Sie später im Abschnitt zur Cloud-Installation.
Check Sauce ist ein Web-Content-Überwachungstool von Sugar Cube Balloon. Es enthält ein Edge/Chrome -Browser-Plug-in und eine Cloud , die Sie selbst einrichten können.
Basierend auf einem Browser-Plugin kann es theoretisch jeden Inhalt (Text) auf der Webseite über einen visuellen Selektor überwachen. Zusätzlich zu Browserbenachrichtigungen kann es auch mit Server Sauce zusammenarbeiten, um Änderungen an WeChat oder Mobiltelefone zu übertragen.
Das Prinzip von Check Sauce besteht darin, Webseiten im Hintergrund über Browser-Plug-Ins zur Überwachung zu öffnen und so das tatsächliche Verhalten von Benutzern vollständig zu simulieren . Es kann die komplexesten dynamischen Webseiten, verschiedene Hintergrundseiten, die eine Anmeldung erfordern, überwachen Fällen) ) setzt den Anmeldestatus automatisch fort.
Es unterstützt nicht nur die Überwachung des Webseiteninhalts (Dom), sondern auch HTTP-Status (Überwachung durch GET), JSON- und RSS-Methoden.
Mit der selbst einzurichtenden Cloud können die Überwachungsaufgaben mit dem Server synchronisiert werden, sodass bei geschlossenem Browser und Computer die Überwachungsaufgaben weiterhin regelmäßig ausgeführt werden können.
Das Plug-in kann unabhängig verwendet werden, die geplante Überwachungsaufgabe wird jedoch nach dem Ausschalten nicht ausgeführt.
Derzeit befindet sich Check Sauce in der internen Testphase und wurde noch nicht in den Edge-Store gestellt. Es kann nur manuell geladen werden.
Laden Sie das Plug-in-ZIP-Paket herunter (Github-Download-Adresse, keine Registrierung erforderlich) und entpacken Sie es in ein Verzeichnis (im Folgenden als A bezeichnet).
Öffnen Sie die Edge-Plug-in-Seite, öffnen Sie den „Entwicklermodus“, klicken Sie auf „Entpackt laden“ und wählen Sie das oben extrahierte Verzeichnis A aus.
Nach erfolgreichem Laden wird die Check-Soße-Oberfläche angezeigt. Wenn dies fehlschlägt, wird dies normalerweise durch ein zusätzliches Verzeichnis beim Dekomprimieren verursacht. Sie können versuchen, das Verzeichnis unterhalb des A-Verzeichnisses erneut auszuwählen.
Öffnen Sie nach der Installation des Plug-Ins die Webseite, die Sie überwachen möchten, klicken Sie mit der rechten Maustaste auf die Webseite und Sie sehen den Eintrag „Überwachungsobjekt suchen“.
Nach dem Klicken beginnt die Initialisierung des visuellen Selektors.
Bewegen Sie die Maus, um den hervorgehobenen Bereich anzuzeigen, platzieren Sie sie auf dem zu überwachenden Text und klicken Sie mit der linken Maustaste.
Beachten Sie, dass der Auswahlbereich Text enthalten muss, andernfalls wird leer zurückgegeben. Auf dem Bild ist viel Text gedruckt, der ebenfalls Null zurückgibt.
Sie werden zur Seite „Hinzufügen“ weitergeleitet.
Sie können den Namen ändern, das Überwachungsintervall, die Verzögerung und die maximale Anzahl von Wiederholungen festlegen. Vor dem Speichern klicken Sie am besten auf die测试
nach CSS选择器路径
um es zu testen.
Wenn die Meldung „Der Erkennungsinhalt ist leer“ angezeigt wird, liegt ein Problem vor. Klicken Sie erneut, um Folgendes zu beobachten:
Wenn Sie feststellen, dass die Seite geschlossen wird, ohne dass das Favicon nach dem Öffnen angezeigt wird, können Sie die Anzahl der Sekunden für das „verzögerte Lesen“ erhöhen. Wenn die Seite nach dem Öffnen immer noch leer ist, ist der gerade automatisch generierte Selektorpfad möglicherweise falsch .
Sie können es wie folgt durch ein vom Browser automatisch generiertes ersetzen:
① Klicken Sie mit der rechten Maustaste auf den zu prüfenden Text und wählen Sie „Prüfen/Element prüfen“
② Zu diesem Zeitpunkt werden die Entwicklertools automatisch geöffnet und die entsprechende Zeile des Elements im Quellcode wird automatisch ausgewählt. Klicken Sie mit der rechten Maustaste auf die markierte Zeile und wählen Sie „Kopieren“ → „Selektor kopieren“.
③ Geben Sie den kopierten Pfad in die Zwischenablage in die Zeile „CSS Selector Path“ ein und klicken Sie zum Testen erneut auf die Schaltfläche „Test“.
Klicken Sie nach bestandenem Test auf „Senden“, um die Überwachungspunkte zu speichern.
Füllen Sie beim Hinzufügen und Ändern von Überwachungspunkten den Sendeschlüssel aus, um die Nachricht an den Server zu senden.
Melden Sie sich auf der offiziellen Website von Server Sauce an, geben Sie „Key&API“ ein und klicken Sie auf die Schaltfläche „Kopieren“.
Melden Sie sich auf der offiziellen Website von Server Sauce an, geben Sie „Kanalkonfiguration“ ein, wählen Sie den zu übertragenden Kanal aus und konfigurieren Sie ihn gemäß den Anweisungen auf der Seite. Nachrichten können an „PushDeer“ und verschiedene Gruppenroboter gesendet werden.
Wenn die oben genannten Kanäle Ihre Anforderungen nicht erfüllen, können Sie den „benutzerdefinierten“ Kanal auswählen und eine benutzerdefinierte HTTP-Anfrage senden. Diese Methode ist mit den meisten Benachrichtigungsschnittstellen kompatibel.
Klicken Sie auf die Aufwärts- und Abwärtspfeile oben rechts in der Überwachungspunktliste, um alle Überwachungspunkte zu importieren und zu exportieren.
Klicken Sie in der Überwachungspunktliste auf „Zwischenablage“, um die Einstellungen des aktuellen Überwachungspunkts in die Zwischenablage zu exportieren.
Der Datenexport sieht folgendermaßen aus:
checkchan://title=Server%E9%85%B1%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99%E7%8A%B6%E6%80%81&url=https%3A%2F%2Fsct.ftqq.com&type=get&code=200&rss_field=title&delay=3&retry=10
Nachdem Sie die oben genannten Zeichen kopiert haben, fügen Sie sie über Strg+V in die Check-Browser-Plug-in-Schnittstelle ein. Sie erkennt sie automatisch und springt zur Schnittstelle „Überwachungspunkt hinzufügen“.
Einige Aufgaben müssen nur in einem bestimmten Zeitraum ausgeführt werden. Um Ressourcen zu sparen, haben wir eine Funktion „Überwachungszyklusbegrenzung“ hinzugefügt. Wenn eine Animation beispielsweise jeden Freitag um 10 Uhr aktualisiert wird, können wir das „Überwachungszykluslimit“ wie folgt festlegen:
Dadurch wird die Überwachung in anderen Zeiträumen nicht mehr gestartet. Für Aufgaben mit unvorhersehbaren Ereigniszeiträumen verwenden Sie einfach die Standardeinstellung „jede Minute“.
Beachten Sie, dass es neben der „Überwachungszyklusgrenze“ auch ein „Überwachungsintervall“ gibt.
Wenn das „Überwachungszeitraumlimit“ jede Minute und das „Überwachungsintervall“ 60 Minuten beträgt, wird jede Minute eine Überwachung versucht, und sobald die Überwachung erfolgreich ist, erfolgt die nächste Überwachung 60 Minuten später.
Da die Ausführung der Überwachungsaufgabe selbst einige Zeit in Anspruch nimmt, wird die Aufgabe bei einem „Überwachungsintervall“ von 1 Minute normalerweise nur jede Minute (dh alle zwei Minuten) ausgeführt.
Die neueste Version unterstützt eine Selector-Erweiterungssyntax: Da die zugrunde liegende Ebene über document.querySelectorAll
implementiert wird, werden alle übereinstimmenden Elemente in einem Array zurückgegeben. Wenn diese Elemente zum selben übergeordneten Knoten gehören, können wir :nth-of-type(1)
oder :nth-child(1)
verwenden, um ein Element im Array anzugeben.
Wenn diese Elemente jedoch nicht zum selben übergeordneten Knoten gehören, schlägt die obige Methode fehl. Hier wird eine selector@n-Syntax hinzugefügt, die es uns ermöglicht, ein Element aus dem von Selector zurückgegebenen Array anzugeben. Beispielsweise gibt .booklist .item@0
document.querySelectorAll(.booklist .item)[0]
zurück.
Zusätzlich zur Verwendung bei DOM-Selektoren kann die @-Syntax auch zur Angabe von RSS-Überwachungsergebnissen verwendet werden. Standardmäßig gibt RSS den ersten Artikel des gesamten Feeds zurück. Sie können @1 nach der Feed-URL hinzufügen, um anzugeben, dass der zweite Artikel überwacht werden soll (die Zählung beginnt weiterhin bei 0).
Die unterste Ebene des Selektors gibt ein Element zurück, aber manchmal müssen wir einen bestimmten Attributwert dieses Elements überwachen. Überwachen Sie beispielsweise href
eines Links. Um dieses Problem zu lösen, haben wir die Selektorsyntax erweitert, um Benutzern das Abrufen eines Attributwerts eines Elements über element%attribute zu ermöglichen. Zum Beispiel: article#post-180 > div > div > p > a%href
. Wenn %
und @
gleichzeitig verwendet werden, sollte %
dem Element folgen, z. B.: article#post-180 > div > div > p > a%href@0
.
Um ein klareres Verständnis der Ausführung geplanter Aufgaben zu erhalten, können Sie „Entwicklertools“ (F12) öffnen und die von den Aufgaben generierten Protokolle auf Console
anzeigen.
Fehlerinformationen werden hier auch in rot hervorgehobenen Zeilen angezeigt. Wenn ein Fehler auftritt, kann die Bereitstellung von Protokollfehler-Screenshots uns helfen, das Problem schneller zu lokalisieren.
Nachdem es in den Store gestellt wurde, kann es automatisch aktualisiert werden. Zuvor ist ein manuelles Upgrade erforderlich. Die Upgrade-Methode besteht darin, das ZIP-Paket herunterzuladen, es zu entpacken, die Originaldatei zu überschreiben und sie dann im Plug-in-Verwaltungsfeld des Browsers „neu zu laden“.
Die neue Version des Images hat die Cloud- und Remote-Desktop-Version integriert und kann mit nur einer Installation verwendet werden.
️ Besonderer Hinweis: Da sich das Netzwerk und die Umgebung der Cloud von denen des lokalen Computers unterscheiden, gibt es keine Garantie dafür, dass Aufgaben, die vom lokalen Computer ausgeführt werden können, erfolgreich in der Cloud ausgeführt werden. Einige komplexe Webseiten mit Dynamischere Effekte können fehlschlagen.
Das Einrichten einer selbstinstallierten Version der Cloud erfordert technische Grundlagen. Benutzern ohne technische Kenntnisse wird empfohlen, unsere offizielle Version der Cloud zu erwerben (wird nach Abschluss der internen Tests veröffentlicht).
Erfordert eine Docker-Umgebung. Wenn Sie keinen Cloud-Server haben, können Sie sich die Sonderpreisserver von Tencent Cloud für 30 bis 50 Yuan für die erste Bestellung ansehen.
Klicken Sie hier, um die Tool-Schnittstelle aufzurufen
Melden Sie sich beim Server an (vorausgesetzt, seine IP ist IPB), erstellen Sie neue data
unter dem zu installierenden Verzeichnis und machen Sie es beschreibbar:
mkdir data && chmod 0755 data
Erstellen Sie eine neue docker-compose.yml
Datei, passen Sie den folgenden Inhalt nach Aufforderung an, fügen Sie ihn ein und speichern Sie ihn:
version : ' 3 '
services :
chrome :
image : easychen/checkchan:latest
volumes :
- " ./data:/checkchan/data "
environment :
- " CKC_PASSWD=<这里是远程桌面的密码,写一个你自己想的> "
- " VDEBUG=OFF "
- " VNC=ON "
# - "WIN_WIDTH=414"
# - "WIN_HEIGHT=896"
# - "XVFB_WHD=500x896x16"
- " API_KEY=<这里是云端的API KEY,写一个你自己想的> "
- " ERROR_IMAGE=NORMAL " # NONE,NORMAL,FULL
# - "SNAP_URL_BASE=<开启截图在这里写服务器地址(结尾不用加/),不开留空>..."
# - "SNAP_FULL=1"
- " TZ=Asia/Chongqing "
# - "WEBHOOK_URL=http://..." # 云端 Webhook地址,不需要则不用设置
# - "WEBHOOK_FORMAT=json" # 云端 Webhook POST 编码,默认是 Form
ports :
- " 5900:5900 "
- " 8080:8080 "
- " 8088:80 "
Ersetzen Sie <这里是远程桌面的密码,写一个你自己想的>
und <这里是云端的API KEY,写一个你自己想的>
durch Passwörter, die andere nicht kennen (im Folgenden als Passwörter C und D bezeichnet). Achten Sie darauf, das Zeichen $
<>
einzuschließen, da es nach dem Ersetzen keine umschließenden spitzen Klammern mehr enthält.
Wenn Sie den Remotedesktop nicht starten möchten, ändern Sie bitte VNC=ON
in VNC=OFF
.
Stellen Sie sicher, dass der Docker-Benutzer über Schreibberechtigungen für dieses Verzeichnis verfügt, und führen Sie den folgenden Befehl im selben Verzeichnis aus:
docker-compose up -d
Wenn Sie die Meldung erhalten, dass der Docker-Dienst nicht installiert/nicht gefunden/nicht gestartet ist, können Sie sudo vor docker-compose hinzufügen und es erneut versuchen.
Nachdem Sie auf den Abschluss der Initialisierung gewartet haben, besuchen Sie http://$BBB:8080
(ersetzen Sie $BBB durch IP B). Wenn Sie die NoVNC-Weboberfläche sehen, bedeutet dies, dass der Container gestartet wurde.
Der Port, an dem sich der Dienst befindet, ist:
Sie können die Parameter auch in docker-compose
an Docker übergeben, um Folgendes zu starten:
docker run -d -p 8088:80 -p 8080:8080 -p 5900:5900 -v ${PWD} /data:/checkchan/data -e API_KEY=123 -e VDEBUG=OFF -e VNC=ON -e SNAP_URL_BASE=http://localhost:8088 -e CKC_PASSWD=123 -e TZ=Asia/Chongqing easychen/checkchan:latest
Bitte ersetzen Sie 123 im obigen Befehl durch das Passwort, das Sie festlegen möchten, und ersetzen Sie SNAP_URL_BASE
durch die externe IP des Servers (wenn Sie den Screenshot auf Ihrem Mobiltelefon ansehen möchten).
Nur Synology-Modelle, die Docker unterstützen, können Check Sauce installieren. Zusätzlich zur direkten Installation über die Befehlszeile können Sie auch auf das GUI-Installations-Tutorial zurückgreifen.
Volume
und Umgebungsvariablen können sich auf die oben genannten Docker/Compose-Einstellungen beziehen.
Nachdem das Cloud-Image von Check Sauce aktualisiert wurde, können Sie den laufenden Cloud-Dienst auf die neueste Version aktualisieren. So geht's:
Stoppen Sie zunächst den vorhandenen Container:
Über Docker-Compose ausführen:
docker-compose down
Führen Sie docker ps
aus, das direkt von Docker gestartet wurde, um die Container-ID abzufragen, und stoppen Sie, indem Sie docker stop 容器id
verwenden.
Führen Sie dann Docker Pull aus, um die neueste Version abzurufen:
docker pull easychen/checkchan:latest
Nach Abschluss starten Sie einfach den Dienst.
Klicken Sie im Menü oben rechts im Plug-in auf云端服务
.
Geben Sie http://$BBB:8088
in die Spalte服务器地址
ein (ersetzen Sie $BBB durch IP B, es ist nicht erforderlich, der URL hier Schlüsselparameter hinzuzufügen). Geben Sie das Passwort C in die Spalte API_KEY
ein.
Klicken Sie auf Speichern. Nach erfolgreicher Verbindung ist die Konfiguration abgeschlossen.
Nachdem Sie die Cloud konfiguriert haben, kehren Sie zur Listenseite zurück. Ganz rechts in jeder Zeile wird ein zusätzliches „Computer“-Symbol angezeigt. Wenn Sie darauf klicken, wird es zu einem „Cloud“-Symbol und die Aufgabe wird in der Cloud ausgeführt stattdessen.
Klicken Sie oben rechts auf die Schaltfläche „Cloud + Pfeil“, um Aufgaben aktiv mit der Cloud zu synchronisieren.
Check Sauce wird außerdem alle zehn Minuten automatisch synchronisiert.
Die selbstinstallierte Cloud von Check Sauce unterstützt das Erstellen von Screenshots von Aufgaben vom Typ Webseite (Dom), die durch die Übergabe von Umgebungsvariablen an das Bild aktiviert werden können:
Weitere Informationen finden Sie oben unter docker-compser.yml
. Fügen Sie einfach die Umgebungsvariable hinzu und starten Sie den Dienst neu.
Beachten
Die selbst gehostete Cloud von Check Sauce verfügt über eine integrierte Schnittstelle für den RSS-Uplink dynamischer Seiten:
http://$ip:$port/rss/upload?key=$api_key
http://$ip:$port/image/rss.xml?key=$api_key
Check Sauce verfügt über eine integrierte Schnittstelle zur Cookie-Synchronisierung in der Cloud:
http://$ip:$port/cookie/sync?key=$api_key
Das Prinzip der Cloud-Aufgabe von Check Sauce besteht darin, Cookies mit der Cloud zu synchronisieren und sie dann mit einem Browser anzuzeigen. Das Wesentliche ist das gleiche wie bei der Benutzerbedienung. Da es sich bei der Export-IP jedoch um Computerräume und Rechenzentren handeln kann, besteht die Möglichkeit einer Risikokontrolle, wenn die Häufigkeit zu hoch ist. Wenn die Cloud zu Hause bereitgestellt wird, ist der Effekt der gleiche wie beim Zugriff auf die Cloud über einen Heimcomputer.
Im Allgemeinen ist das Problem, dass lokale Aufgaben ausgeführt werden können, aber nicht in der Cloud ausgeführt werden können, auf Unterschiede in den Netzwerkumgebungen und der Browsersoftware zwischen beiden zurückzuführen, wie zum Beispiel:
Da der Serverspeicher normalerweise nicht so groß ist wie der Speicher unserer Computer, schlagen viele Aufgaben, die lokal ordnungsgemäß ausgeführt werden, auf halbem Weg fehl, da die Sekunden des „verzögerten Lesens“ bei der Synchronisierung mit der Cloud zu klein sind. Wenn Sie auf eine ähnliche Situation stoßen, versuchen Sie bitte, „verzögertes Lesen“ hinzuzufügen.
Wenn dies nicht funktioniert, liegt das häufig daran, dass es Unterschiede zwischen der vom Cloud-Headless-Browser angezeigten und der lokalen Webseite gibt. Für diesen Fall haben wir einen Screenshot der letzten fehlgeschlagenen Aufgabe erstellt, der unter „“ angezeigt wird. Menü „Cloud-Service“.
Klicken Sie auf die Schaltfläche „Fehler-Screenshot“, um ihn anzuzeigen. Hinweis: Sie müssen nur das neueste Bild verwenden und ERROR_IMAGE=NORMAL
übergeben. Wenn Sie ein Bild einer vollständigen Webseite erfassen möchten, können Sie ERROR_IMAGE=FULL
übergeben.
Wenn die Aufgabe fehlschlägt und kein Screenshot vorhanden ist, bedeutet dies, dass die Aufgabe nicht fehlgeschlagen ist, weil der CSS-Selektor nicht getroffen wurde. Versuchen Sie, „verzögertes Lesen“ hinzuzufügen, um das Problem zu lösen.
Sie können auf dieser Seite auch das Cloud-Aufgabenprotokoll einsehen. Das Protokoll enthält hier keine Aufgaben, die durch manuelles Klicken auf die Schaltfläche „Überwachen“ ausgelöst wurden. Wenn keine Aufgaben vorhanden sind, die ausgeführt werden können (Aufgaben werden regelmäßig ausgelöst), kann das Protokoll auch leer sein.
Zusätzlich zu unserer eigenen Cloud haben wir auch den Remote-Desktop-Modus in das Image integriert. Es ermöglicht Ihnen, über VNC eine Verbindung zum Server herzustellen und ihn wie einen lokalen Browser zu verwenden.
Die Remote-Desktop-Version war bisher ein eigenständiges Image, ist nun aber in easychen/checkchan integriert, sodass Sie es direkt nutzen können.
Nachdem der Dienst gestartet wurde, kann er über die VNC-Client-Software verbunden werden.
Im Remote-Desktop können Sie im selben Container direkt eine Verbindung zur Cloud herstellen. Geben Sie http://localhost
als Serveradresse ein und geben Sie den API-SCHLÜSSEL ein, wie im YML oben festgelegt.
Sie können Umgebungsvariablen hinzufügen und die Einschränkungen für Bildschirmbreite und -höhe ändern, um die Verwendung auf Mobiltelefonen zu vereinfachen:
- WIN_WIDTH=414
- WIN_HEIGHT=896
- XVFB_WHD=500x896x16
Ein dem Docker-Befehl hinzugefügtes Beispiel:
docker run -d -p 5900:5900 -v ${PWD} /data:/checkchan/data -e CKC_PASSWD=123 -e WIN_WIDTH=414 -e WIN_HEIGHT=896 -e XVFB_WHD=500x896x16 easychen/checkchan:latest
Der tägliche Verbrauch an Containern beträgt 300 bis 500 Millionen. Eine Laufumgebung mit größerem Speicher ist stabiler. Wenn Probleme auftreten, können Sie versuchen, den Speicher zu vergrößern.
Sie können die im selben Bild integrierte Cloud verwenden, um Cloud-Aufgaben visuell zu debuggen. Setzen Sie VDEBUG
in der YML-Datei auf ON
und starten Sie dann den Container neu, um den detaillierten Prozess der Cloud-Überwachung von Webseiten anzuzeigen.
environment :
- " CKC_PASSWD=123 "
- " VDEBUG=ON "