チェックソースは、Web コンテンツの変更を監視し、変更を WeChat に送信できる一般的な Web コンテンツ監視ツールです。
マイクロソフトエッジ | Google Chrome |
---|---|
上のアイコンをクリックしてストアページに入るか、ストア内で直接「Check Sauce」を検索してください
詳細バージョン、約 2 時間
Docker イメージのインストール コマンドについては、後述のクラウド インストールのセクションを参照してください。
Check Sauce は、Sugar Cube Balloon が開発した Web コンテンツ監視ツールで、Edge/Chromeブラウザ プラグインと自分でセットアップできるクラウドが含まれています。
ブラウザ プラグインに基づいて、理論的にはビジュアル セレクターを通じて Web ページ上のあらゆるコンテンツ (テキスト) を監視でき、ブラウザ通知に加えて、Server Sauce と連携して変更を WeChat または携帯電話にプッシュすることもできます。
Check ソースの原理は、ブラウザのプラグインを介してバックグラウンドで Web ページを開き、ユーザーの実際の動作を完全にシミュレートすることです。最も複雑な動的 Web ページ、ログインを必要とするさまざまなバックグラウンド ページ、および (ほとんどの場合) を監視できます。の場合))は自動的にログイン状態を継続します。
Web ページのコンテンツ (Dom) の監視をサポートすることに加えて、HTTP ステータス (GET による監視)、JSON、および RSS メソッドもサポートします。
自分でセットアップできるクラウドを使用すると、監視タスクをサーバーに同期できるため、ブラウザとコンピュータを閉じても監視タスクを定期的に実行できます。
プラグインは単独で使用できますが、プラグインをオフにすると、スケジュールされた監視タスクは実行されなくなります。
チェック ソースは現在内部テスト中であり、まだ Edge ストアに置かれていません。手動でのみロードできます。
プラグインの ZIP パッケージ (Github のダウンロード アドレス、登録は不要) をダウンロードし、ディレクトリ (以下 A と呼びます) に展開します。
Edge プラグインのページを開き、「開発者モード」を開き、「Unpacked をロード」をクリックして、上記で抽出したディレクトリ A を選択します。
正常にロードされると、ソースの確認インターフェイスが表示されます。失敗する場合は、通常、解凍時の余分なディレクトリが原因で、A ディレクトリの下のディレクトリを再選択してみてください。
プラグインをインストールした後、監視したい Web ページを開き、Web ページを右クリックすると、「監視オブジェクトの検索」項目が表示されます。
クリックすると、ビジュアル セレクターの初期化が開始されます。
マウスを移動してハイライト表示された領域を表示し、監視するテキスト上に置き、マウスの左ボタンをクリックします。
選択領域にはテキストが含まれている必要があり、含まれていない場合は空が返されることに注意してください。画像には多くのテキストが印刷されていますが、これも null を返します。
追加ページに移動します。
名前を変更したり、監視間隔、遅延、最大再試行回数を設定したりできます。保存する前に、 CSS选择器路径
列の後の测试
ボタンをクリックしてテストすることをお勧めします。
「検出内容が空です」と表示された場合は、問題があることを意味します。もう一度クリックして次のことを確認します。
ページを開いた後にファビコンが表示されずにページが閉じられた場合は、「遅延読み取り」の秒数を増やすことができます。開いた後も空が返される場合は、今自動生成されたセレクター パスが間違っている可能性があります。 。
次のように、ブラウザによって自動的に生成されたものに置き換えることができます。
①検査したいテキスト上で右クリックし、「検査/要素検査」を選択します。
② このとき、開発者ツールが自動的に開き、ソースコード内の要素の該当行が自動的に選択されます。強調表示された行を右クリックし、「コピー」→「セレクターのコピー」を選択します。
③クリップボードにコピーしたパスを「CSSセレクターのパス」の行に記入した後、再度「テスト」ボタンをクリックしてテストします。
テストに合格したら、[送信] をクリックしてモニタリング ポイントを保存します。
監視ポイントを追加および変更する場合、送信キーを入力してメッセージをサーバーにプッシュします。
サーバーソース公式サイトにログインし、「Key&API」を入力して「コピー」ボタンをクリックします。
Server Sauce の公式 Web サイトにログインし、「チャンネル設定」に入り、プッシュするチャンネルを選択し、ページの指示に従って設定します。メッセージは「PushDeer」やさまざまなグループロボットにプッシュできます。
上記のチャネルではニーズを満たせない場合は、「カスタム」チャネルを選択して、カスタマイズされた http リクエストを送信できます。このメソッドは、ほとんどの通知インターフェイスと互換性があります。
監視ポイント一覧の右上にある上下矢印をクリックして、すべての監視ポイントをインポートおよびエクスポートします。
監視ポイント一覧の「クリップボード」をクリックすると、現在の監視ポイントの設定をクリップボードにエクスポートします。
エクスポートデータは次のようになります。
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
上記の文字をコピーした後、Ctrl+V を使用してチェック ブラウザ プラグイン インターフェイスに貼り付けると、自動的に認識され、「監視ポイントの追加」インターフェイスにジャンプします。
一部のタスクはリソースを節約するために、特定の期間内にのみ実行する必要があります。「監視サイクル制限」機能を追加しました。たとえば、アニメーションが毎週金曜日の午前 10 時に更新される場合、「監視サイクル制限」を次のように設定できます。
これにより、他の時間帯では監視が開始されなくなります。イベント期間が予測できないタスクの場合は、デフォルトの「毎分」を使用してください。
なお、「監視周期制限」の他に「監視間隔」もあります。
「監視周期制限」が1分ごと、「監視間隔」が60分の場合、1分ごとに監視が試行され、監視に成功すると次の監視は60分後となります。
また、監視タスクの実行自体にも時間がかかるため、「監視間隔」が1分の場合、通常は1分ごと(つまり2分ごと)にのみタスクが実行されます。
最新バージョンでは、セレクター拡張構文がサポートされています。基礎となるレイヤーはdocument.querySelectorAll
を通じて実装されているため、一致するすべての要素が配列で返されます。これらの要素が同じ親ノードに属している場合、 :nth-of-type(1)
または:nth-child(1)
を使用して配列内の項目を指定できます。
ただし、これらの要素が同じ親ノードに属していない場合、上記の方法は失敗します。ここに selector@n 構文が追加され、Selector によって返される配列から要素を指定できるようになります。たとえば、 .booklist .item@0
はdocument.querySelectorAll(.booklist .item)[0]
を返します。
@ 構文は、DOM セレクターでの使用に加えて、RSS 監視結果の指定にも使用できます。デフォルトでは、RSS はフィード全体の最初の記事を返します。フィード URL の後に @1 を追加して、2 番目の記事を監視するように指定できます (カウントは 0 から始まります)。
最下位レベルのセレクターは要素を返しますが、場合によってはこの要素の特定の属性値を監視する必要があります。たとえば、リンクのhref
監視します。この問題を解決するために、ユーザーが element%attribute を通じて要素の属性値を取得できるようにセレクター構文を拡張しました。例: article#post-180 > div > div > p > a%href
。 %
と@
同時に使用する場合は、 article#post-180 > div > div > p > a%href@0
のように、 %
要素の後に続ける必要があります。
スケジュールされたタスクの実行をより明確に理解するには、[開発者ツール] (F12) を開き、 Console
タブでタスクによって生成されたログを確認します。
エラー情報はここに赤色で強調表示された行にも表示されます。バグが発生した場合は、ログ エラーのスクリーンショットを提供すると、問題をより迅速に特定するのに役立ちます。
ストアに置かれた後は、自動的にアップグレードできます。その前に、手動でアップグレードする必要があります。アップグレード方法は、zip パッケージをダウンロードして解凍し、元のファイルを上書きして、ブラウザのプラグイン管理パネルで「再ロード」します。
新しいバージョンのイメージでは、クラウド バージョンとリモート デスクトップ バージョンが統合されており、1 回のインストールで使用できます。
️ 特記事項: クラウドのネットワークと環境はローカル マシンのネットワークと環境とは異なるため、ローカル マシンで実行できるタスクがクラウドで正常に実行されるという保証はありません。一部の複雑な Web ページや、よりダイナミックなエフェクトは失敗する可能性があります。
クラウドの自己インストール バージョンをセットアップするには、技術的な基礎が必要です。非技術的なユーザーは、クラウドの正式版を購入することをお勧めします (内部テストが完了した後にリリースされます)。
Docker環境が必要です。クラウド サーバーをお持ちでない場合は、初回注文時に 30 ~ 50 元の Tencent Cloud の特別価格サーバーをチェックしてください。
ここをクリックしてツールインターフェイスに入ります
サーバーにログインし (IP が IPB であると仮定します)、インストールするディレクトリの下に新しいディレクトリdata
を作成し、書き込み可能にします。
mkdir data && chmod 0755 data
新しいdocker-compose.yml
ファイルを作成し、プロンプトに従って次の内容を調整し、貼り付けて保存します。
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 "
<这里是远程桌面的密码,写一个你自己想的>
と<这里是云端的API KEY,写一个你自己想的>
を他人が知らないパスワード (以下、パスワード C と D と呼びます) に置き換えます。 $
文字を含めないように注意してください。置換後は山括弧<>
で囲まれなくなります。
リモートデスクトップを起動したくない場合は、 VNC=ON
をVNC=OFF
に変更してください。
Docker ユーザーにこのディレクトリへの書き込み権限があることを確認し、同じディレクトリで次のコマンドを実行します。
docker-compose up -d
docker サービスがインストールされていない、見つからない、開始されていないというメッセージが表示された場合は、docker-compose の前に sudo を追加して、再試行できます。
初期化が完了するのを待った後、 http://$BBB:8080
にアクセスします ($BBB を IP B に置き換えます)。NoVNC Web インターフェイスが表示されたら、コンテナーが開始されたことを意味します。
サービスが存在するポートは次のとおりです。
docker-compose
のパラメーターを docker に渡して開始することもできます。
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
上記のコマンドの 123 を設定するパスワードに置き換え、 SNAP_URL_BASE
サーバーの外部 IP に置き換えてください (携帯電話でスクリーンショットを表示する場合)。
Docker をサポートする Synology モデルのみが Check Sauce をインストールできます。コマンド ラインから直接インストールするほかに、GUI インストール チュートリアルを参照することもできます。
Volume
と環境変数は、上記の docker/compose 設定を参照できます。
Check Sauce クラウド イメージが更新された後、実行中のクラウド サービスを最新バージョンにアップグレードできます。その方法は次のとおりです。
まず既存のコンテナを停止します。
docker-compose 経由で実行します。
docker-compose down
docker によって直接開始されたdocker ps
を実行してコンテナー ID をクエリし、 docker stop 容器id
によって停止します。
次に、 docker pull を実行して最新バージョンをプルします。
docker pull easychen/checkchan:latest
完了したらサービスを開始するだけです。
プラグインの右上にあるメニューで云端服务
をクリックします。
服务器地址
列にhttp://$BBB:8088
と入力します ($BBB を IP B に置き換えます。ここで URL にキーパラメータを追加する必要はありません) API_KEY
列にパスワード C を入力します。
接続が成功したら、「保存」をクリックして構成が完了します。
クラウドの設定後、リストページに戻ると、各行の右端に「コンピューター」アイコンが追加され、クリックすると「クラウド」アイコンに変わり、タスクがクラウドで実行されます。その代わり。
右上隅にある「クラウド + 矢印」ボタンをクリックして、タスクをクラウドにアクティブに同期します。
チェックソースも10分ごとに自動的に同期されます。
チェックソースの自己インストールクラウドは、Web ページ (dom) タイプのタスクのスクリーンショットの取得をサポートしています。これは、環境変数をイメージに渡すことで有効にできます。
上記のdocker-compser.yml
を参照してください。環境変数を追加してサービスを再起動するだけです。
知らせ
Check Source のセルフホスト型クラウドには、動的ページの RSS アップリンク用のインターフェースが組み込まれています。
http://$ip:$port/rss/upload?key=$api_key
http://$ip:$port/image/rss.xml?key=$api_key
ソースにクラウドでの Cookie 同期用の組み込みインターフェースがあることを確認してください。
http://$ip:$port/cookie/sync?key=$api_key
Check Sauce クラウド タスクの原理は、Cookie をクラウドに同期してブラウザで表示することです。本質はユーザーの操作と同じです。ただし、輸出IPがコンピュータ室やデータセンターになる可能性があるため、頻度が高すぎるとリスク管理の可能性があります。クラウドが自宅に展開されている場合、効果は自宅のコンピュータでクラウドにアクセスするのと同じです。
一般に、ローカルのタスクは実行できるが、クラウドでは実行できないという問題は、次のような両者のネットワーク環境やブラウザ ソフトウェアの違いが原因で発生します。
通常、サーバーのメモリはみんなのコンピュータほど大きくないため、ローカルで実行すると問題ないタスクの多くは、クラウドに同期した後の「遅延読み取り」秒数が短すぎるため、途中で失敗します。同じような状況に遭遇した場合は、「遅延読み取り」を追加してみてください。
これが機能しない場合は、多くの場合、クラウドのヘッドレス ブラウザーで表示される Web ページとローカルの Web ページに違いがあることが原因です。この状況では、最後に失敗したタスクのスクリーンショットが生成されました。これは、「」で確認できます。クラウドサービス」メニュー。
「失敗のスクリーンショット」ボタンをクリックして確認してください。注: 最新のイメージのみを使用し、 ERROR_IMAGE=NORMAL
環境変数を渡す必要があります。 Web ページ全体の画像をキャプチャしたい場合は、 ERROR_IMAGE=FULL
を渡すことができます。
タスクが失敗し、スクリーンショットがない場合は、CSS セレクターがヒットしなかったためにタスクが失敗しなかったことを意味します。問題を解決するには、「遅延読み取り」を追加してみてください。
このページでは、クラウド タスクのログを確認することもできます。ここのログには、[監視] ボタンを手動でクリックしてトリガーされたタスクは含まれません。実行できるタスクがない場合 (タスクは定期的にトリガーされる場合)、ログが空になる場合もあります。
独自のクラウドに加えて、リモート デスクトップ モードもイメージに統合しました。 VNC 経由でサーバーに接続し、ローカル ブラウザーのように使用できます。
リモート デスクトップ バージョンは、以前はスタンドアロン イメージでしたが、現在は easychen/checkchan に統合されているため、直接使用できます。
サービスの開始後は、VNC クライアント ソフトウェアを介して接続できます。
リモート デスクトップでは、同じコンテナ内のクラウドに直接接続できます。サーバー アドレスとしてhttp://localhost
入力し、上記の YML で設定した API KEY を入力します。
環境変数を追加し、画面の幅と高さの制限を変更して、携帯電話で使いやすくすることができます。
- WIN_WIDTH=414
- WIN_HEIGHT=896
- XVFB_WHD=500x896x16
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
コンテナの一日の消費量は3億〜5億です。メモリが大きい実行環境はより安定します。問題が発生した場合は、メモリを増やしてみてください。
同じイメージに統合されたクラウドを使用して、YML ファイルのVDEBUG
ON
に設定してクラウド タスクを視覚的にデバッグし、コンテナを再起動して、クラウド監視 Web ページの詳細なプロセスを確認できます。
environment :
- " CKC_PASSWD=123 "
- " VDEBUG=ON "