Check Sauce est un outil général de surveillance du contenu Web qui peut surveiller les modifications du contenu Web et envoyer les modifications à WeChat.
Microsoft Bord | Google Chrome |
---|---|
Cliquez sur l'icône ci-dessus pour accéder à la page du magasin ou recherchez « Check Sauce » directement dans le magasin.
Version détaillée, près de 2 heures
Pour la commande d'installation de l'image Docker, veuillez vous référer à la section d'installation dans le cloud plus tard.
Check Sauce est un outil de surveillance de contenu Web produit par Sugar Cube Balloon. Il comprend un plug-in de navigateur Edge/Chrome et un cloud que vous pouvez configurer vous-même.
Basé sur un plug-in de navigateur, il peut théoriquement surveiller n'importe quel contenu (texte) sur la page Web via un sélecteur visuel . En plus des notifications du navigateur, il peut également coopérer avec Server Sauce pour transmettre les modifications à WeChat ou aux téléphones mobiles.
Le principe de Check Sauce est d'ouvrir des pages Web en arrière-plan via des plug-ins de navigateur pour la surveillance, simulant ainsi complètement le comportement réel des utilisateurs . Il peut surveiller les pages Web dynamiques les plus complexes, diverses pages d'arrière-plan nécessitant une connexion et (dans la plupart des cas). cas) ) continue automatiquement l’état de connexion.
En plus de prendre en charge la surveillance du contenu des pages Web (Dom), il prend également en charge le statut HTTP (surveillance via GET), les méthodes JSON et RSS.
Avec le cloud que vous pouvez configurer vous-même, les tâches de surveillance peuvent être synchronisées avec le serveur, de sorte que lorsque le navigateur et l'ordinateur sont fermés, les tâches de surveillance puissent toujours s'exécuter régulièrement.
Le plug-in peut être utilisé indépendamment, mais la tâche de surveillance planifiée ne sera pas exécutée une fois désactivée.
Check Sauce est actuellement en test interne et n'a pas encore été mis sur la boutique Edge. Il ne peut être chargé que manuellement.
Téléchargez le package ZIP du plug-in (adresse de téléchargement Github, aucune inscription requise) et extrayez-le dans un répertoire (ci-après dénommé A).
Ouvrez la page du plug-in Edge, ouvrez le « Mode développeur », cliquez sur « Load Unpacked » et sélectionnez le répertoire A extrait ci-dessus.
Si le chargement est réussi, vous pouvez voir l'interface Check sauce. Si cela échoue, cela est généralement dû à un répertoire supplémentaire lors de la décompression. Vous pouvez essayer de resélectionner le répertoire situé sous le répertoire A.
Après avoir installé le plug-in, ouvrez la page Web que vous souhaitez surveiller, cliquez avec le bouton droit sur la page Web et vous verrez l'élément « Localiser l'objet de surveillance ».
Après avoir cliqué, le sélecteur visuel commence à s'initialiser.
Déplacez la souris pour voir la zone en surbrillance, placez-la sur le texte à surveiller et cliquez sur le bouton gauche de la souris.
Notez que la zone de sélection doit contenir du texte, sinon vide sera renvoyé. Il y a beaucoup de texte imprimé sur l'image, qui renverra également null.
Vous serez redirigé vers la page d'ajout.
Vous pouvez modifier le nom, définir l'intervalle de surveillance, le délai et le nombre maximum de tentatives. Avant d'enregistrer, il est préférable de cliquer sur le bouton测试
après CSS选择器路径
pour le tester.
S'il affiche « Le contenu de détection est vide », cela signifie qu'il y a un problème. Cliquez à nouveau pour observer :
Si vous constatez que la page est fermée sans que le favicon ne s'affiche après son ouverture, vous pouvez augmenter le nombre de secondes de « lecture différée » ; si elle revient toujours vide après l'ouverture, alors le chemin de sélection généré automatiquement peut être incorrect. .
Vous pouvez le remplacer par un généré automatiquement par le navigateur, comme suit :
① Faites un clic droit sur le texte à inspecter et sélectionnez "inspecter/inspecter l'élément"
② À ce moment, les outils de développement s'ouvriront automatiquement et la ligne correspondante de l'élément dans le code source sera automatiquement sélectionnée. Faites un clic droit sur la ligne en surbrillance et sélectionnez "Copier" → "Sélecteur de copie"
③ Après avoir renseigné le chemin copié vers le presse-papiers dans la ligne « Chemin du sélecteur CSS », cliquez à nouveau sur le bouton « Test » pour tester.
Une fois le test réussi, cliquez sur « Soumettre » pour enregistrer les points de surveillance.
Lors de l'ajout et de la modification de points de surveillance, remplissez le champ Sendkey pour transmettre le message au serveur.
Connectez-vous au site officiel de Server Sauce, entrez « Key&API » et cliquez sur le bouton « Copier ».
Connectez-vous au site officiel de Server Sauce, entrez « Configuration du canal », sélectionnez le canal à pousser et configurez-le selon les instructions sur la page. Les messages peuvent être transmis à « PushDeer » et à divers robots de groupe.
Si les canaux ci-dessus ne peuvent pas répondre à vos besoins, vous pouvez sélectionner le canal « personnalisé » et envoyer une requête http personnalisée. Cette méthode est compatible avec la plupart des interfaces de notification.
Cliquez sur les flèches haut et bas en haut à droite de la liste des points de surveillance pour importer et exporter tous les points de surveillance.
Cliquez sur "Presse-papiers" dans la liste des points de surveillance pour exporter les paramètres du point de surveillance actuel vers le presse-papiers.
Les données d'exportation ressemblent à ceci :
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
Après avoir copié les caractères ci-dessus, collez-les via Ctrl+V dans l'interface du plug-in du navigateur Check, et il reconnaîtra automatiquement et accédera à l'interface « Ajouter un point de surveillance ».
Certaines tâches ne doivent être exécutées que pendant une période de temps déterminée. Afin d'économiser des ressources, nous avons ajouté la fonction « limite du cycle de surveillance ». Par exemple, si une animation est mise à jour tous les vendredis à 10h, alors nous pouvons définir la « limite du cycle de surveillance » comme suit :
De cette façon, la surveillance ne sera plus démarrée à d’autres périodes. Pour les tâches avec des périodes d'événements imprévisibles, utilisez simplement la valeur par défaut « toutes les minutes ».
Notez qu'en plus de la « limite du cycle de surveillance », il existe également un « intervalle de surveillance ».
Si la « limite du cycle de surveillance » est de chaque minute et « l'intervalle de surveillance » est de 60 minutes, alors la surveillance sera tentée toutes les minutes, et une fois la surveillance réussie, la surveillance suivante aura lieu 60 minutes plus tard.
Dans le même temps, étant donné que l'exécution de la tâche de surveillance elle-même prend du temps, lorsque « l'intervalle de surveillance » est de 1 minute, la tâche ne sera généralement exécutée que toutes les minutes (c'est-à-dire toutes les deux minutes).
La dernière version prend en charge une syntaxe d'extension Selector : puisque la couche sous-jacente est implémentée via document.querySelectorAll
, tous les éléments correspondants seront renvoyés dans un tableau. Lorsque ces éléments appartiennent au même nœud parent, nous pouvons utiliser :nth-of-type(1)
ou :nth-child(1)
pour spécifier un élément dans le tableau.
Mais si ces éléments n’appartiennent pas au même nœud parent, alors la méthode ci-dessus échouera. Une syntaxe selector@n est ajoutée ici, nous permettant de spécifier un élément du tableau renvoyé par Selector. Par exemple, .booklist .item@0
renverra document.querySelectorAll(.booklist .item)[0]
.
En plus d'être utilisée sur les sélecteurs DOM, la syntaxe @ peut également être utilisée pour spécifier les résultats de la surveillance RSS. Par défaut, RSS renverra le premier article de l'ensemble du flux. Vous pouvez ajouter @1 après l'url du flux pour le spécifier afin de surveiller le deuxième article (le comptage commence toujours à partir de 0).
Le niveau le plus bas de Selector renvoie un élément, mais nous devons parfois surveiller une certaine valeur d'attribut de cet élément. Par exemple, surveillez href
d'un lien. Afin de résoudre ce problème, nous avons étendu la syntaxe du sélecteur pour permettre aux utilisateurs d'obtenir une valeur d'attribut d'un élément via element%attribute. Par exemple : article#post-180 > div > div > p > a%href
. Lorsque %
et @
sont utilisés en même temps, %
doit suivre l'élément, tel que : article#post-180 > div > div > p > a%href@0
.
Afin d'avoir une meilleure compréhension de l'exécution des tâches planifiées, vous pouvez ouvrir « Outils de développement » (F12) et voir les journaux générés par les tâches dans Console
.
Les informations sur les erreurs seront également affichées ici dans des lignes surlignées en rouge. Lorsque vous rencontrez un bug, fournir des captures d'écran des erreurs du journal peut nous aider à localiser le problème plus rapidement.
Après avoir été mis sur le magasin, il peut être automatiquement mis à niveau. Avant cela, une mise à niveau manuelle est requise. La méthode de mise à niveau consiste à télécharger le package zip, à le décompresser, à écraser le fichier d'origine, puis à le « recharger » dans le panneau de gestion des plug-ins du navigateur.
La nouvelle version de l'image a intégré les versions cloud et bureau à distance et peut être utilisée avec une seule installation.
️ Remarque spéciale : étant donné que le réseau et l'environnement du cloud sont différents de ceux de la machine locale, il n'y a aucune garantie que les tâches pouvant être exécutées par la machine locale seront exécutées avec succès dans le cloud. Certaines pages Web complexes et certaines pages Web avec. des effets plus dynamiques peuvent échouer.
La configuration d'une version auto-installée du cloud nécessite des bases techniques. Il est recommandé aux utilisateurs non techniques d'acheter notre version officielle du cloud (sera publiée une fois les tests internes terminés).
Nécessite un environnement Docker. Si vous n'avez pas de serveur cloud, vous pouvez consulter les serveurs à prix spécial de Tencent Cloud pour 30 à 50 yuans pour la première commande.
Cliquez ici pour accéder à l'interface de l'outil
Connectez-vous au serveur (en supposant que son IP est IPB), créez un nouveau répertoire data
sous le répertoire à installer et rendez-le accessible en écriture :
mkdir data && chmod 0755 data
Créez un nouveau fichier docker-compose.yml
, ajustez le contenu suivant lorsque vous y êtes invité, collez et enregistrez :
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 "
Remplacez <这里是远程桌面的密码,写一个你自己想的>
et <这里是云端的API KEY,写一个你自己想的>
par des mots de passe que les autres ne connaissent pas (ci-après dénommés mots de passe C et D). Faites attention à ne pas inclure le caractère $
, et il n'y aura plus de crochets angulaires <>
après le remplacement.
Si vous ne souhaitez pas démarrer le bureau à distance, veuillez remplacer VNC=ON
par VNC=OFF
.
Assurez-vous que l'utilisateur Docker dispose des autorisations d'écriture sur ce répertoire et exécutez la commande suivante dans le même répertoire :
docker-compose up -d
S'il vous indique que le service Docker n'est pas installé/introuvable/non démarré, vous pouvez ajouter sudo avant docker-compose et réessayer.
Après avoir attendu la fin de l'initialisation, visitez http://$BBB:8080
(remplacez $BBB par IP B). Lorsque vous voyez l'interface Web NoVNC, cela signifie que le conteneur a été démarré.
Le port où se situe le service est :
Vous pouvez également transmettre les paramètres de docker-compose
à docker pour démarrer :
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
Veuillez remplacer 123 dans la commande ci-dessus par le mot de passe que vous souhaitez définir et remplacer SNAP_URL_BASE
par l'adresse IP externe du serveur (si vous souhaitez afficher la capture d'écran sur votre téléphone mobile).
Seuls les modèles Synology prenant en charge Docker peuvent installer Check Sauce. En plus de l'installer directement via la ligne de commande, vous pouvez également vous référer au didacticiel d'installation de l'interface graphique.
Les variables Volume
et d'environnement peuvent faire référence aux paramètres docker/compose ci-dessus.
Une fois l'image cloud Check Sauce mise à jour, vous pouvez mettre à niveau le service cloud en cours d'exécution vers la dernière version. Voici comment procéder :
Arrêtez d’abord le conteneur existant :
Exécuter via docker-compose :
docker-compose down
Exécutez docker ps
directement démarré par docker pour interroger l'ID du conteneur et arrêtez-vous par docker stop 容器id
.
Ensuite, exécutez docker pull pour extraire la dernière version :
docker pull easychen/checkchan:latest
Une fois terminé, démarrez simplement le service.
Cliquez sur云端服务
dans le menu en haut à droite du plug-in.
Entrez http://$BBB:8088
dans la colonne服务器地址
(remplacez $BBB par IP B, il n'est pas nécessaire d'ajouter des paramètres clés à l'URL ici, entrez le mot de passe C dans la colonne API_KEY
) ;
Cliquez sur Enregistrer. Une fois la connexion réussie, la configuration est terminée.
Après avoir configuré le cloud, revenez à la page de liste. Il y aura une icône « Ordinateur » supplémentaire à l'extrême droite de chaque ligne. Lorsque vous cliquez dessus, elle se transformera en une icône « Cloud » et la tâche sera exécutée dans le cloud. plutôt.
Cliquez sur le bouton "Cloud + Flèche" dans le coin supérieur droit pour synchroniser activement les tâches avec le cloud.
Check sauce se synchronisera également automatiquement toutes les dix minutes.
Le cloud auto-installé de Check Sauce prend en charge la prise de captures d'écran de tâches de type page Web (dom), qui peuvent être activées en transmettant des variables d'environnement à l'image :
Veuillez vous référer à docker-compser.yml
ci-dessus. Ajoutez simplement la variable d'environnement et redémarrez le service.
Avis
Le cloud auto-hébergé de Check Sauce dispose d'une interface intégrée pour la liaison montante RSS des pages dynamiques :
http://$ip:$port/rss/upload?key=$api_key
http://$ip:$port/image/rss.xml?key=$api_key
Check sauce dispose d'une interface intégrée pour la synchronisation des cookies dans le cloud :
http://$ip:$port/cookie/sync?key=$api_key
Le principe de la tâche cloud Check Sauce est de synchroniser les cookies avec le cloud, puis de les visualiser avec un navigateur. L'essence est la même que le fonctionnement de l'utilisateur. Cependant, étant donné que les IP d'exportation peuvent concerner des salles informatiques et des centres de données, il existe une possibilité de contrôle des risques si la fréquence est trop élevée. Si le cloud est déployé à la maison, l’effet est le même que si vous y accédez sur un ordinateur personnel.
De manière générale, le problème selon lequel les tâches locales peuvent être exécutées mais ne peuvent pas être exécutées dans le cloud est dû aux différences d'environnements réseau et de logiciels de navigation entre les deux, telles que :
Étant donné que la mémoire du serveur n'est généralement pas aussi grande que celle de l'ordinateur de tout le monde, de nombreuses tâches qui sont correctes lorsqu'elles sont exécutées localement échoueront à mi-chemin car les secondes de « lecture différée » sont trop courtes après avoir été synchronisées avec le cloud. Si vous rencontrez une situation similaire, essayez d'ajouter "lecture différée".
Si cela ne fonctionne pas, c'est souvent parce qu'il existe des différences entre la page Web affichée par le navigateur cloud headless et la page locale. Pour cette situation, nous avons généré une capture d'écran de la tâche ayant échoué la plus récente, visible sous le ". "Service Cloud".
Cliquez sur le bouton "Capture d'écran d'échec" pour le voir. Remarque : Vous devez utiliser uniquement la dernière image et transmettre ERROR_IMAGE=NORMAL
. Si vous souhaitez capturer une image d'une page Web complète, vous pouvez transmettre ERROR_IMAGE=FULL
.
Si la tâche échoue et qu'il n'y a pas de capture d'écran, cela signifie que la tâche n'a pas échoué car le sélecteur CSS n'a pas été activé. Essayez d'ajouter une "lecture retardée" pour résoudre le problème.
Vous pouvez également voir le journal des tâches cloud sur cette page. Le journal ici n'inclut pas les tâches déclenchées en cliquant manuellement sur le bouton « Surveiller ». S'il n'y a aucune tâche exécutable (les tâches sont déclenchées régulièrement), le journal peut également être vide.
En plus de notre propre cloud, nous avons également intégré le mode bureau à distance dans l'image. Il vous permet de vous connecter au serveur via VNC et de l'utiliser comme un navigateur local.
La version de bureau à distance était auparavant une image autonome, mais elle est désormais intégrée à easychen/checkchan, vous pouvez donc l'utiliser directement.
Une fois le service démarré, il peut être connecté via le logiciel client VNC.
Sur le bureau distant, vous pouvez vous connecter directement au cloud dans le même conteneur. Remplissez http://localhost
comme adresse du serveur et entrez la CLÉ API telle que définie dans le YML ci-dessus.
Vous pouvez ajouter des variables d'environnement et modifier les restrictions de largeur et de hauteur de l'écran pour faciliter son utilisation sur les téléphones mobiles :
- WIN_WIDTH=414
- WIN_HEIGHT=896
- XVFB_WHD=500x896x16
Un exemple ajouté à la commande docker :
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
La consommation quotidienne de conteneurs est de 300 à 500 millions. Un environnement d'exécution avec une mémoire plus grande sera plus stable. Si vous rencontrez des problèmes, vous pouvez essayer d'augmenter la mémoire.
Vous pouvez utiliser le cloud intégré dans la même image pour déboguer visuellement les tâches cloud. Définissez VDEBUG
dans le fichier YML sur ON
, puis redémarrez le conteneur pour voir le processus détaillé de surveillance des pages Web du cloud.
environment :
- " CKC_PASSWD=123 "
- " VDEBUG=ON "