Check sauce هي أداة عامة لمراقبة محتوى الويب يمكنها مراقبة تغييرات محتوى الويب وإرسال التغييرات إلى WeChat
مايكروسوفت ايدج | جوجل كروم |
---|---|
انقر على الأيقونة أعلاه للدخول إلى صفحة المتجر أو ابحث عن "Check Sauce" مباشرة في المتجر
نسخة مفصلة، ما يقرب من 2 ساعة
بالنسبة لأمر تثبيت صورة Docker، يرجى الرجوع إلى قسم التثبيت السحابي لاحقًا.
Check Sauce هي أداة لمراقبة محتوى الويب تم إنتاجها بواسطة Sugar Cube Balloon، وهي تشتمل على مكون إضافي لمتصفح Edge/Chrome وسحابة يمكن إعدادها بنفسك.
استنادًا إلى مكون إضافي للمتصفح، يمكنه نظريًا مراقبة أي محتوى (نص) على صفحة الويب من خلال محدد مرئي . بالإضافة إلى إشعارات المتصفح، يمكنه أيضًا التعاون مع Server Sauce لدفع التغييرات إلى WeChat أو الهواتف المحمولة.
مبدأ التحقق من الصلصة هو فتح صفحات الويب في الخلفية من خلال المكونات الإضافية للمتصفح للمراقبة، وبالتالي محاكاة السلوك الحقيقي للمستخدمين بشكل كامل . ويمكنه مراقبة صفحات الويب الديناميكية الأكثر تعقيدًا، وصفحات الخلفية المختلفة التي تتطلب تسجيل الدخول، و(في معظم الحالات)) ) يستمر تلقائيًا في حالة تسجيل الدخول.
بالإضافة إلى دعم مراقبة محتوى صفحة الويب (Dom)، فإنه يدعم أيضًا حالة HTTP (المراقبة من خلال GET)، وطرق JSON وRSS.
باستخدام السحابة التي يمكن إعدادها بنفسك، يمكن مزامنة مهام المراقبة مع الخادم، بحيث لا يزال من الممكن تشغيل مهام المراقبة بانتظام عند إغلاق المتصفح والكمبيوتر.
يمكن استخدام المكون الإضافي بشكل مستقل، ولكن لن يتم تنفيذ مهمة المراقبة المجدولة بعد إيقاف تشغيله.
حاليًا، يخضع Check Sauce للاختبار الداخلي ولم يتم وضعه بعد في متجر Edge ولا يمكن تحميله إلا يدويًا.
قم بتنزيل حزمة ZIP الإضافية (عنوان تنزيل Github، لا يلزم التسجيل) وقم بفك ضغطها في الدليل (المشار إليه فيما يلي باسم A).
افتح صفحة المكون الإضافي Edge، وافتح "وضع المطور"، وانقر على "Load Unpacked"، وحدد الدليل A المستخرج أعلاه.
إذا تم التحميل بنجاح، يمكنك رؤية واجهة التحقق من الصلصة. إذا فشل، فعادةً ما يكون السبب هو وجود دليل إضافي عند فك الضغط. يمكنك محاولة إعادة تحديد الدليل الموجود أسفل الدليل A.
بعد تثبيت البرنامج الإضافي، افتح صفحة الويب التي تريد مراقبتها، وانقر بزر الماوس الأيمن على صفحة الويب، وسترى العنصر "تحديد موقع كائن المراقبة".
بعد النقر، تبدأ عملية تهيئة المحدد المرئي.
حرك الماوس لرؤية المنطقة المميزة، ثم ضعها على النص المراد مراقبته وانقر فوق زر الماوس الأيسر.
لاحظ أن منطقة التحديد يجب أن تحتوي على نص، وإلا فسيتم إرجاعها فارغة. هناك الكثير من النصوص المطبوعة على الصورة، والتي ستُرجع أيضًا قيمة فارغة.
سيتم تحويلك إلى صفحة الإضافة.
يمكنك تعديل الاسم وتعيين الفاصل الزمني للمراقبة والتأخير والحد الأقصى لعدد مرات إعادة المحاولة. قبل الحفظ، من الأفضل النقر فوق زر测试
بعد عمود CSS选择器路径
لاختباره.
إذا ظهرت رسالة "محتوى الكشف فارغ"، فهذا يعني أن هناك مشكلة. انقر مرة أخرى للملاحظة:
إذا وجدت أن الصفحة مغلقة دون ظهور الرمز المفضل بعد فتحها، فيمكنك زيادة عدد ثواني "القراءة المؤجلة"؛ وإذا ظلت فارغة بعد الفتح، فقد يكون مسار المحدد الذي تم إنشاؤه تلقائيًا الآن غير صحيح .
يمكنك استبداله بآخر يتم إنشاؤه تلقائيًا بواسطة المتصفح، كما يلي:
① انقر بزر الماوس الأيمن على النص المراد فحصه وحدد "فحص/فحص العنصر"
② في هذا الوقت، سيتم فتح أدوات المطور تلقائيًا وسيتم تحديد السطر المقابل للعنصر في كود المصدر تلقائيًا. انقر بزر الماوس الأيمن على الخط المميز وحدد "نسخ" ← "نسخ المحدد"
③ أدخل المسار المنسوخ إلى الحافظة في سطر "مسار محدد CSS"، وانقر فوق الزر "اختبار" مرة أخرى للاختبار.
بعد اجتياز الاختبار، اضغط على "إرسال" لحفظ نقاط المراقبة.
عند إضافة نقاط المراقبة وتعديلها، املأ مفتاح الإرسال لدفع الرسالة إلى الخادم.
قم بتسجيل الدخول إلى الموقع الرسمي لـ Server Sauce، وأدخل "Key&API"، ثم انقر فوق الزر "Copy".
قم بتسجيل الدخول إلى الموقع الرسمي لـ Server Sauce، وأدخل "Channel Configuration"، ثم حدد القناة المراد دفعها، وقم بتكوينها وفقًا للتعليمات الموجودة على الصفحة. يمكن دفع الرسائل إلى "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 صباحًا، فيمكننا تعيين "حد دورة المراقبة" على النحو التالي:
وبهذه الطريقة، لن يتم بدء المراقبة في فترات زمنية أخرى. بالنسبة للمهام التي تتضمن فترات أحداث غير متوقعة، ما عليك سوى استخدام الإعداد الافتراضي "كل دقيقة".
لاحظ أنه علاوة على "حد دورة المراقبة"، هناك أيضًا "فاصل زمني للمراقبة".
إذا كان "حد فترة المراقبة" هو كل دقيقة وكان "الفاصل الزمني للمراقبة" 60 دقيقة، فستتم محاولة المراقبة كل دقيقة، وبمجرد نجاح المراقبة، ستكون المراقبة التالية بعد 60 دقيقة.
في الوقت نفسه، نظرًا لأن تنفيذ مهمة المراقبة نفسها يستغرق وقتًا، فعندما يكون "الفاصل الزمني للمراقبة" دقيقة واحدة، سيتم عادةً تشغيل المهمة كل دقيقة فقط (أي كل دقيقتين).
يدعم الإصدار الأحدث صيغة ملحق المحدد: بما أن الطبقة الأساسية يتم تنفيذها من خلال document.querySelectorAll
، فسيتم إرجاع جميع العناصر المطابقة في مصفوفة. عندما تنتمي هذه العناصر إلى نفس العقدة الأصلية، يمكننا استخدام :nth-of-type(1)
أو :nth-child(1)
لتحديد عنصر في المصفوفة.
ولكن إذا كانت هذه العناصر لا تنتمي إلى نفس العقدة الأصلية، فستفشل الطريقة المذكورة أعلاه. تتم إضافة بناء جملة Selector@n هنا، مما يسمح لنا بتحديد عنصر من المصفوفة التي يتم إرجاعها بواسطة Selector. على سبيل المثال، .booklist .item@0
سوف يُرجع document.querySelectorAll(.booklist .item)[0]
.
بالإضافة إلى استخدامه في محددات DOM، يمكن أيضًا استخدام بناء الجملة @ لتحديد نتائج مراقبة RSS. افتراضيًا، ستعيد خدمة RSS المقالة الأولى من الخلاصة بأكملها. يمكنك إضافة @1 بعد عنوان url للخلاصة لتحديده لمراقبة المقالة الثانية (لا يزال العد يبدأ من 0).
يقوم المستوى الأدنى من المحدد بإرجاع عنصر ما، ولكن في بعض الأحيان نحتاج إلى مراقبة قيمة سمة معينة لهذا العنصر. على سبيل المثال، مراقبة href
للارتباط. من أجل حل هذه المشكلة، قمنا بتوسيع صيغة المحدد للسماح للمستخدمين بالحصول على قيمة سمة لعنصر من خلال سمة العنصر٪. على سبيل المثال: article#post-180 > div > div > p > a%href
. عند استخدام %
و @
في نفس الوقت، يجب أن يتبع %
العنصر، مثل: article#post-180 > div > div > p > a%href@0
.
للحصول على فهم أوضح لتنفيذ المهام المجدولة، يمكنك فتح "أدوات المطور" (F12) والاطلاع على السجلات التي تم إنشاؤها بواسطة المهام في علامة التبويب Console
.
سيتم أيضًا عرض معلومات الخطأ بخطوط مميزة باللون الأحمر هنا عند مواجهة خطأ ما، يمكن أن يساعدنا تقديم لقطات شاشة لخطأ السجل في تحديد المشكلة بشكل أسرع.
بعد وضعه في المتجر، يمكن ترقيته تلقائيًا. قبل ذلك، يلزم الترقية اليدوية. تتمثل طريقة الترقية في تنزيل الحزمة المضغوطة وفك ضغطها والكتابة فوق الملف الأصلي ثم "إعادة تحميلها" في لوحة إدارة المكونات الإضافية بالمتصفح.
قام الإصدار الجديد من الصورة بدمج إصدارات السحابة وسطح المكتب البعيد، ويمكن استخدامه مع تثبيت واحد فقط.
️ ملاحظة خاصة: نظرًا لأن شبكة وبيئة السحابة تختلفان عن تلك الخاصة بالجهاز المحلي، فلا يوجد ضمان بأن المهام التي يمكن تشغيلها بواسطة الجهاز المحلي سيتم تشغيلها بنجاح في السحابة قد تفشل المزيد من التأثيرات الديناميكية.
يتطلب إعداد نسخة مثبتة ذاتيًا من السحابة أساسًا تقنيًا، وننصح المستخدمين غير التقنيين بشراء نسختنا الرسمية من السحابة (سيتم إصدارها بعد اكتمال الاختبار الداخلي).
يتطلب بيئة عامل ميناء. إذا لم يكن لديك خادم سحابي، فيمكنك الاطلاع على خوادم Tencent Cloud ذات الأسعار الخاصة مقابل 30 إلى 50 يوانًا للطلب الأول.
انقر هنا للدخول إلى واجهة الأداة
قم بتسجيل الدخول إلى الخادم (بافتراض أن عنوان 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
إذا ظهرت رسالة مفادها أن خدمة عامل الإرساء لم يتم تثبيتها/لم يتم العثور عليها/لم يتم تشغيلها، فيمكنك إضافة sudo قبل إنشاء عامل الإرساء والمحاولة مرة أخرى.
بعد انتظار اكتمال التهيئة، قم بزيارة http://$BBB:8080
(استبدل $BBB بـ IP B). عندما ترى واجهة ويب NoVNC، فهذا يعني أن الحاوية قد بدأت.
المنفذ الذي توجد به الخدمة هو:
يمكنك أيضًا تمرير المعلمات في 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 الخارجي للخادم (إذا كنت تريد عرض لقطة الشاشة على هاتفك المحمول).
يمكن فقط لنماذج Synology التي تدعم Docker تثبيت Check Sauce، بالإضافة إلى تثبيته مباشرة من خلال سطر الأوامر، يمكنك أيضًا الرجوع إلى البرنامج التعليمي لتثبيت واجهة المستخدم الرسومية.
يمكن أن تشير متغيرات Volume
والبيئة إلى إعدادات عامل الإرساء/الإنشاء المذكورة أعلاه.
بعد تحديث الصورة السحابية لـ Check Sauce، يمكنك ترقية الخدمة السحابية قيد التشغيل إلى الإصدار الأحدث. وإليك الطريقة:
قم أولاً بإيقاف الحاوية الموجودة:
تشغيل عبر عامل الإرساء:
docker-compose down
قم بتشغيل docker ps
مباشرة بواسطة docker للاستعلام عن معرف الحاوية، والتوقف عن طريق docker stop 容器id
.
ثم قم بتشغيل docker pull لسحب الإصدار الأحدث:
docker pull easychen/checkchan:latest
بعد الانتهاء، فقط ابدأ الخدمة.
انقر فوق云端服务
في القائمة الموجودة أعلى يمين المكون الإضافي.
أدخل http://$BBB:8088
في عمود服务器地址
(استبدل $BBB بـ IP B، ليست هناك حاجة لإضافة معلمات رئيسية إلى عنوان URL هنا)؛ أدخل كلمة المرور C في عمود API_KEY
.
انقر فوق حفظ بعد نجاح الاتصال، يكتمل التكوين.
بعد تكوين السحابة، ارجع إلى صفحة القائمة. سيكون هناك رمز "كمبيوتر" إضافي في أقصى يمين كل صف. عند النقر عليه، سيتحول إلى رمز "سحابة"، وسيتم تنفيذ المهمة في السحابة بدلاً من.
انقر فوق الزر "Cloud + Arrow" في الزاوية اليمنى العليا لمزامنة المهام مع السحابة بشكل فعال.
سيتم أيضًا مزامنة صلصة التحقق تلقائيًا كل عشر دقائق.
تدعم السحابة المثبتة ذاتيًا الخاصة بـ Check sauce التقاط لقطات شاشة لمهام من نوع صفحة الويب (dom)، والتي يمكن تمكينها عن طريق تمرير متغيرات البيئة إلى الصورة:
يرجى الرجوع إلى docker-compser.yml
أعلاه. فقط أضف متغير البيئة وأعد تشغيل الخدمة.
يلاحظ
تحتوي السحابة ذاتية الاستضافة الخاصة بـ Check sauce على واجهة مضمنة لوصلة RSS الصاعدة للصفحات الديناميكية:
http://$ip:$port/rss/upload?key=$api_key
http://$ip:$port/image/rss.xml?key=$api_key
تحتوي Check sauce على واجهة مدمجة لمزامنة ملفات تعريف الارتباط في السحابة:
http://$ip:$port/cookie/sync?key=$api_key
يتمثل مبدأ مهمة Check Sauce السحابية في مزامنة ملفات تعريف الارتباط مع السحابة ثم عرضها باستخدام المتصفح. والجوهر هو نفس عملية المستخدم. ومع ذلك، نظرًا لأن عنوان IP الخاص بالتصدير قد يكون عبارة عن غرف كمبيوتر ومراكز بيانات، فهناك إمكانية للتحكم في المخاطر إذا كان التردد مرتفعًا جدًا. إذا تم نشر السحابة في المنزل، فسيكون التأثير مماثلاً للوصول إليها على جهاز كمبيوتر منزلي.
بشكل عام، تعود مشكلة إمكانية تنفيذ المهام المحلية ولكن لا يمكن تنفيذها في السحابة إلى الاختلافات في بيئات الشبكة وبرامج المتصفح بين الاثنين، مثل:
نظرًا لأن ذاكرة الخادم عادةً ليست كبيرة مثل أجهزة الكمبيوتر لدينا، فإن العديد من المهام التي يتم تنفيذها بشكل جيد محليًا ستفشل في منتصف الطريق نظرًا لأن ثواني "القراءة المتأخرة" صغيرة جدًا عند مزامنتها مع السحابة. إذا واجهت موقفًا مشابهًا، فيرجى محاولة إضافة "قراءة متأخرة".
إذا لم ينجح هذا، فغالبًا ما يكون ذلك بسبب وجود اختلافات بين صفحة الويب التي يعرضها المتصفح السحابي بدون رأس والمتصفح المحلي، وفي هذه الحالة، قمنا بإنشاء لقطة شاشة لأحدث مهمة فاشلة، والتي يمكن رؤيتها ضمن ". قائمة الخدمة السحابية".
انقر فوق الزر "لقطة شاشة الفشل" لرؤيتها. ملاحظة: تحتاج إلى استخدام أحدث صورة فقط وتمرير متغير البيئة ERROR_IMAGE=NORMAL
. إذا كنت تريد التقاط صورة لصفحة ويب كاملة، فيمكنك تمرير ERROR_IMAGE=FULL
.
إذا فشلت المهمة ولم تكن هناك لقطة شاشة، فهذا يعني أن المهمة لم تفشل لأنه لم يتم الضغط على محدد CSS. حاول إضافة "قراءة متأخرة" لحل المشكلة.
يمكنك أيضًا الاطلاع على سجل المهام السحابية في هذه الصفحة، ولا يتضمن السجل هنا المهام التي يتم تشغيلها عن طريق النقر يدويًا على زر "المراقبة". إذا لم تكن هناك مهام يمكن تنفيذها (يتم تشغيل المهام بانتظام)، فقد يكون السجل فارغًا أيضًا.
بالإضافة إلى السحابة الخاصة بنا، قمنا أيضًا بدمج وضع سطح المكتب البعيد في الصورة. يسمح لك بالاتصال بالخادم عبر VNC واستخدامه كمتصفح محلي.
كان إصدار سطح المكتب البعيد في السابق عبارة عن صورة مستقلة، ولكنه الآن مدمج في easychen/checkchan، لذا يمكنك استخدامه مباشرة.
بعد بدء الخدمة، يمكن توصيلها من خلال برنامج عميل VNC.
في سطح المكتب البعيد، يمكنك الاتصال مباشرة بالسحابة في نفس الحاوية. املأ http://localhost
كعنوان الخادم وأدخل API KEY كما هو محدد في YML أعلاه.
يمكنك إضافة متغيرات البيئة وتعديل قيود عرض الشاشة وارتفاعها لتسهيل استخدامها على الهواتف المحمولة:
- WIN_WIDTH=414
- WIN_HEIGHT=896
- XVFB_WHD=500x896x16
تمت إضافة مثال إلى أمر عامل الإرساء:
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
الاستهلاك اليومي للحاويات هو 300M ~ 500M. ستكون بيئة التشغيل ذات الذاكرة الأكبر أكثر استقرارًا. إذا واجهت مشاكل، يمكنك محاولة زيادة الذاكرة.
يمكنك استخدام السحابة المدمجة في نفس الصورة لتصحيح أخطاء المهام السحابية بشكل مرئي. قم بتعيين VDEBUG
في ملف YML على ON
، ثم أعد تشغيل الحاوية لرؤية العملية التفصيلية لصفحات الويب الخاصة بمراقبة السحابة.
environment :
- " CKC_PASSWD=123 "
- " VDEBUG=ON "