حاجب محتوى لـ Safari على macOS وiOS وiPadOS وvisionOS.
750,000 قاعدة موزعة على 5 إضافات، تخزين عبر Protocol Buffer، ضغط LZ4، ومزامنة iCloud.
[!NOTE]
تبحث عن مقارنة مفصلة؟ اطّلع على دليل المقارنة لترى كيف يتفوق wBlock على حاجبات محتوى Safari الأخرى.
الميزات
التنفيذ التقني
دعم التطوير
wBlock مجاني ومفتوح المصدر.
إذا كنت تريد دعم المشروع:
الأسئلة الشائعة
كيف يقارن wBlock بحاجبات الإعلانات الأخرى؟
اطّلع على دليل المقارنة الخاص بنا مقابل uBlock Origin Lite وWipr 2 وتطبيقات AdGuard لـ Safari.
هل يجب أن أثبّت wBlock من App Store أم من إصدار DMG/Homebrew؟
إصدار App Store هو المفضل عادةً لأنه يتعامل مع تحديثات التطبيق تلقائيًا. إصدار DMG/Homebrew له نفس الميزات ومتاح للمستخدمين الذين يفضلون التثبيت خارج App Store.
هل يجب أن أستخدم wBlock مع حاجب إعلانات آخر؟
لا. استخدم حاجب محتوى واحدًا للأغراض العامة في كل مرة.
لا توجد دراسة مضبوطة تثبت أن كل مجموعة ممكنة من حاجبات الإعلانات تضر بكل صفحة. ومع ذلك، تدعم بنية المتصفح ووثائق الإضافات تجنب تداخل الحاجبات:
-
يمكن للإضافات إجراء تغييرات متعارضة. توثق Mozilla أنه عندما تحاول إضافتان تعديلات متعارضة على نفس رأس الاستجابة، قد ينجح تغيير واحد فقط. لذلك يمكن أن تنتج الحاجبات المتعددة سلوكًا يعتمد على الترتيب بدلاً من مزيج يمكن التنبؤ به من حماياتها. انظر وثائق Mozilla الخاصة بـ webRequest.
-
اعتراض الطلبات له تكاليف حسابية قابلة للقياس. تصف Chromium تكاليف التسلسل والتواصل بين العمليات والعمليات المستمرة ومعالجة استجابات الإضافات المرتبطة بمعالجات حظر الطلبات. تشغيل أنظمة تصفية زائدة يكرر على الأقل بعض أعمال تقييم القواعد ومعالجة الصفحات. انظر شرح Chromium لـ Web Request وDeclarative Net Request ونظرة Chrome العامة على Manifest V3.
-
مطوّرو الحاجبات الرئيسيون ينصحون صراحةً بعدم التكديس. ينص README الرسمي لـ uBlock Origin على: "لا تستخدم uBO مع أي حاجب محتوى آخر." ويوضح أن حاجبًا آخر يمكن أن يمنع ميزات الخصوصية أو إبطال الحظر في uBO من العمل بشكل صحيح. انظر الوثائق الرسمية لـ uBlock Origin.
-
أنماط الفشل الموثقة تشمل بطء التحميل وكسر الوظائف. تحذر AdGuard من أن حاجبين قد يتنافسان على نفس الطلبات، مما يسبب بطء تحميل الصفحات أو كسر المواقع أو مشاكل تشغيل الفيديو. انظر إرشادات AdGuard.
بالنسبة لـ wBlock تحديدًا، يجعل حاجب آخر استكشاف الأخطاء وإصلاحها مستحيلًا أيضًا. عندما ينجو إعلان أو يتعطل موقع، قد تكون قواعد الشبكة أو القواعد التجميلية أو scriptlets أو الاستثناءات أو ترتيب التنفيذ لأي من الحاجبين مسؤولة. لذلك فإن الحاجب الثاني متغير مربك. عطّل جميع حاجبات المحتوى الأخرى قبل الإبلاغ عن مشكلة في wBlock.
تثبيت حاجبات زائدة ليس دفاعًا متعمقًا عندما يتنافس كلا الأداتين على نفس طبقة الاعتراض. إنها تجربة غير مضبوطة بدون مجموعة تحكم.
هل يمكنني استخدام قوائم الفلاتر الخاصة بي؟
نعم. يمكنك إضافة أي قائمة فلاتر متوافقة مع AdGuard عبر URL، أو لصق القواعد مباشرة، أو الاستيراد من ملف.
هل يجب أن أفعّل المزيد من قوائم الفلاتر لحظر أفضل؟
عادةً لا. الإعدادات الافتراضية الموصى بها تغطي بالفعل معظم الإعلانات وأدوات التتبع، ومعظم القوائم الأخرى للأغراض العامة تتداخل معها. تفعيل المزيد يستنزف حد قواعد Safari بشكل أساسي ويزيد من احتمالية كسر المواقع. الاستثناءات هي فلاتر Annoyances (لافتات ملفات تعريف الارتباط، النوافذ المنبثقة، أدوات التواصل الاجتماعي) والفلاتر الإقليمية للمواقع غير الإنجليزية، والتي تغطي أشياء لا تغطيها الإعدادات الافتراضية.
هل يبطئ wBlock Safari؟
لا في الاستخدام العادي. يستخدم wBlock واجهة حظر المحتوى التصريحية الأصلية في Safari، والتي تطبق القواعد المترجمة خارج عملية التطبيق. تبقى فحوصات الخمول المحلية حول ~40 ميجابايت، ويبقى تحميل الصفحات على مسار الحاجب الأصلي في Safari.
هل تعمل سكربتات المستخدم على iOS وiPadOS؟
نعم. ينفذ محرك سكربتات المستخدم واجهات Greasemonkey الشائعة (GM_getValue، GM_setValue، GM_xmlhttpRequest، GM_addStyle) على iOS وiPadOS وmacOS عبر Safari Web Extensions.
كيف أحظر إعلانات Twitch؟
يضم wBlock سكربت المستخدم AdGuard Extra، الذي يمكن أن يساعد في إعلانات Twitch عبر التواصل مع واجهة GraphQL الخاصة بـ Twitch (gql.twitch.tv) — نفس النهج العام الذي يعتمد عليه مستخدمو uBlock Origin. يأتي معطلاً افتراضيًا، لذا فعّله لـ Twitch:
1. افتح wBlock وانتقل إلى قسم Userscripts.
2. ابحث عن AdGuard Extra في القائمة المدمجة وبدّل تشغيله.
3. أعد تحميل أي علامات تبويب مفتوحة لـ Twitch.
هذا حظر إعلانات بأفضل جهد وبأسلوب مجتمعي: يغيّر Twitch طريقة تقديم الإعلانات بشكل متكرر، لذا قد يتعطل أحيانًا حتى يتم تحديث السكربت. لا يوجد ضمان لإزالة كل إعلان.
ما هما Tube Cleaner وPlayer Cleaner؟
هما سكربتات مستخدم اختيارية تُنزَّل عن بُعد، مستوحاة من Vinegar وBaking Soda، تكشف عناصر التحكم الأصلية في Safari على عنصر الوسائط الموجود في الموقع. معطلة افتراضيًا؛ فعّلها في قسم Userscripts. تُستضاف إصداراتهما في wBlock-userscripts ولا ترتبط بإصدار تطبيق wBlock.
Tube Cleaner يستهدف صفحات YouTube watch وShorts وMusic. يترك إطارات /embed وyoutube-nocookie لمشغل YouTube الخاص به حتى لا تفرغ تلك الإطارات. في صفحات watch يسمح لـ YouTube بإنشاء وتهيئة عنصر <video> الخاص به وتدفق SABR/MSE، ثم يطبق عناصر التحكم الأصلية ويخفي واجهة YouTube المخصصة قبل أن تُرسم. تبقى معاينات الصور المصغرة عند التمرير مع YouTube حتى لا تسرق مشغل watch. إعادة استخدام نفس عنصر الوسائط يحافظ على التخزين المؤقت والتشغيل التكيفي مع استعادة Picture-in-Picture والتشغيل في الخلفية. يعكس فصول YouTube والترجمات في قوائم الوسائط الأصلية في Safari ويتخطى المقاطع المعروفة عبر واجهة SponsorBlock الخاصة بالحفاظ على الخصوصية باستخدام بادئات التجزئة. توفر لوحة SB المدمجة ألوان فئات بأسلوب SponsorBlock وسلوك Auto skip أو Show skip button أو Disabled لكل فئة، بالإضافة إلى الحد الأدنى للمدة وإشعار التراجع والتحكم في الفيديو الحالي واستبعاد القنوات. يمكن للوحة DA الاختيارية استخدام DeArrow لاستبدال العناوين والصور المصغرة المقدمة في صفحة watch وبطاقات YouTube المرئية، واستعادة النسخ الأصلية عند التمرير، أو استبعاد القناة الحالية. تُخزَّن النتائج مؤقتًا في الجلسة؛ تبقى الصور المصغرة العشوائية البديلة وإعادة تنسيق العناوين والإرسال والتصويت ميزات لإضافة DeArrow الكاملة. تُستخدم بيانات واجهات SponsorBlock وDeArrow API بموجب CC BY-NC-SA 4.0. يقع SB وDA في صف شريط أدوات خاص بهما أسفل عناصر التحكم في الجودة والصوت/الفيديو. على iPhone وiPad، تمتلك عناصر التحكم الأصلية في Safari التشغيل بينما يظهر شريط الأدوات المدمج فوقها؛ تنطبق اختيارات الجودة على الجوال على الفيديو الحالي فقط حتى لا يوقف نطاق ثابت تدفق ManagedMediaSource التالي. يحافظ Tube Cleaner أيضًا على قيد التشغيل عن بُعد الذي يتطلبه WebKit لهذا التدفق، بينما يبقى الصوت فقط ميزة لـ macOS. يتبع المشغل النشط بينما يحتفظ YouTube بـ Shorts خارج الشاشة. تبقى الإعلانات مسؤولية قواعد حظر المحتوى في wBlock.
Player Cleaner يستهدف المشغلات المخصصة على مواقع أخرى (video.js، JW Player، Plyr، Flowplayer، MediaElement، Clappr، Media Chrome/Mux، والمزيد)، بما في ذلك مشغلات shadow-root مثل الخاص بـ Archive.org. يفعّل عناصر التحكم الأصلية فورًا. عندما يكون مصدر مباشر آمن متاحًا في DOM الخفيف، يزيل الواجهة المخصصة مع الاحتفاظ بعنصر الوسائط الأصلي؛ تبقى مكونات shadow وخطوط HLS/DASH/MSE المعتمة سليمة وتستمر في استخدام آلية تدفق الموقع. يستعيد ملفات الترجمة والفصول الجانبية التي تعرضها الصفحة أو واجهات المشغل الشائعة، ويملأ بيانات Now Playing المفقودة في النظام وإجراءات مفاتيح الوسائط، ويتذكر سرعة التشغيل ومستوى الصوت وحالة الكتم ولغة الترجمة وموضع الاستئناف لكل موقع. إذا أساء موقع التصرف، عطّل Player Cleaner لذلك الموقع من شريط أدوات wBlock.
أين أجدهما، وعلى ماذا يمكنني اختبارهما؟
كلاهما يأتي معطلاً. افتح تبويب Userscripts: يقع Tube Cleaner وPlayer Cleaner في أعلى قسم General. بدّل أحدهما، ثم أعد تحميل الصفحة التي تريد اختبارها. إذا لم يكونا في القائمة، فأنت تشغّل إصدار wBlock من قبل هذا التغيير — أغلق wBlock وشغّل هذا الفرع من Xcode (لا يمكن لتثبيت Homebrew أو الإصدار الرسمي أن يحتوي على كود الفرع).
Tube Cleaner (صفحات YouTube watch):
• Big Buck Bunny — طويل، بجودات متعددة، جيد لقائمة الجودة
• Sintel
• Tears of Steel
تحقق من ظهور عناصر التحكم الأصلية دون وميض من واجهة YouTube، وأن عناصر التحكم في الجودة والصوت فقط تعمل، وأن شريط الأدوات يظهر مجددًا عند تحريك الماوس فوق مشغل تم التمرير فوقه بالفعل، وأن Picture-in-Picture يعمل، وأن الصوت يستمر في التشغيل في تبويب آخر. يجب أن تحتفظ إطارات YouTube المدمجة على مواقع أخرى بمشغل YouTube الخاص بها. لوحة DA معطلة افتراضيًا؛ فعّلها لاختبار عناوين DeArrow والصور المصغرة وسلوك الأصل عند التمرير واستبعادات القنوات. يعتمد سلوك الإعلانات على قوائم فلاتر wBlock المفعّلة.
Player Cleaner (المشغلات المخصصة لمواقع أخرى)، عرض تجريبي واحد لكل مكتبة مدعومة:
• video.js / Media Chrome — videojs.org
• Plyr — plyr.io
• JW Player — stream tester وdemo
• مشغل JW Player بـ shadow-root من Archive.org — FedFlix sample
• Clappr — clappr.io وcdn.clappr.io
• MediaElement — mediaelementjs.com
• hls.js — hls.js demo
• dash.js — DASH reference player
تحقق من ظهور عناصر التحكم الأصلية بسرعة، وأن Picture-in-Picture وملء الشاشة يعملان، وأن التشغيل لا يعيد البدء عند اختفاء الواجهة المخصصة. قد تحتفظ مشغلات HLS/DASH/blob بخط التدفق الخاص بها أثناء استخدام عناصر التحكم الأصلية. إذا أساء موقع التصرف، عطّل Player Cleaner لذلك الموقع من شريط أدوات wBlock.
لماذا لا تعمل لافتات ملفات تعريف الارتباط أو السكربتات في التصفح الخاص؟
يبقي Safari إضافات الويب معطّلة في التصفح الخاص حتى تقوم بتمكين السماح في التصفح الخاص لكل إضافة على حدة. غالبًا ما تقوم فلاتر إشعارات ملفات تعريف الارتباط بإخفاء اللافتات باستخدام سكربتات (مثل heise.de عبر Sourcepoint)، وهذه السكربتات تعمل فقط من خلال wBlock Scripts.
Safari ← الإعدادات ← الإضافات ← فعّل السماح في التصفح الخاص لكل من wBlock Scripts وجميع أدوات حظر المحتوى الخمس الخاصة بـ wBlock، ثم أعد تحميل نافذة التصفح الخاص.
إذا كانت اللافتة قد اختفت بالفعل في نافذة عادية، فقد يكون السبب مجرد ملف تعريف ارتباط موافقة مخزّن. امسح ملفات تعريف الارتباط الخاصة بتلك المواقع وقارن مرة أخرى قبل افتراض أن الفلتر معطّل فقط في التصفح الخاص.
كم مرة يتم تحديث الفلاتر؟
فترات التحديث التلقائي قابلة للتكوين من ساعة واحدة إلى 7 أيام، أو يمكن تشغيلها يدويًا. على macOS، يؤدي تمكين التحديث التلقائي إلى تسجيل وكيل إطلاق مدمج يمكنه مواصلة الفحص أثناء إغلاق التطبيق عبر خدمة تحديث خلفية. على iOS وiPadOS، تكون الفحوصات الخلفية بأفضل جهد ممكن وقد تنتظر حتى يستيقظ النظام wBlock أو تعيد فتحه. فتح Safari لا يؤدي إلى تشغيل التحديثات. تستخدم التحديثات طلبات HTTP شرطية (رؤوس If-Modified-Since/ETag) عندما تدعمها الخوادم، مما يقلل من التنزيلات غير الضرورية.
هل أداة إزالة العناصر متاحة على iOS وiPadOS؟
نعم. افتح نافذة إضافة wBlock المنبثقة في Safari واضغط على تفعيل أداة إزالة العناصر.