عن المشروع

wBlock هو مانع محتوى مجاني ومفتوح المصدر لمتصفح Safari على أنظمة macOS وiOS وiPadOS وvisionOS. يُوزَّع كتطبيق واحد عبر المنصات الأربع، وهو متاح على App Store أو عبر Homebrew cask أو كملف DMG من إصدارات GitHub. يحد Safari كل مانع محتوى بـ 150,000 قاعدة ولا يسمح للحواجب بتعديل جافاسكربت الصفحة. يتجاوز wBlock هذا القيد عبر توفير خمسة حواجب محتوى (الإعلانات، الخصوصية، الأمان، الأجنبي، المخصص) بإجمالي 750,000 قاعدة، بالإضافة إلى امتداد سكربتات منفصل لأي شيء لا تستطيع القاعدة الثابتة التعبير عنه. الحجب تُكتب قوائم التصفية بصيغة AdGuard وتُحوَّل باستخدام SafariConverterLib ثم تُقسَّم عبر الحواجب الخمسة. يقوم Safari بالمطابقة بنفسه، فلا يعمل أي كود من wBlock أثناء تحميل الصفحة. يبلغ التطبيق عن استهلاك خامل يبلغ حوالي 40 ميغابايت. تشمل الإعدادات الافتراضية قوائم إقليمية مختارة من لغة المستخدم، وقوائم الإزعاج ونوافذ الكوكيز، مع دعم إضافة قوائم عبر الرابط أو اللصق أو الملف. تعمل التحديثات وفق جدول يختاره المستخدم من كل ساعة إلى أسبوعيًا؛ القوائم التي تنشر تصحيحات diff تُنزّل التغييرات فقط، وعلى macOS يمكن لوكيل إطلاق أن يواصل التحقق أثناء إغلاق التطبيق. تُزال معاملات التتبع مثل utm_* من الروابط وتُفك اختصارات الروابط افتراضيًا. يعرض شريط السعة وعارض القواعد الأسطر غير المدعومة أو المكررة أو المحالة إلى امتداد السكربتات. سكربتات المستخدم وأنماط المستخدم يتضمن امتداد السكربتات محركًا متوافقًا مع Greasemonkey يدعم واجهتي GM_* وGM.*. يقتصر GM_xmlhttpRequest على المضيفين الذين يصرح بهم السكربت في @connect؛ يُسمح فقط بـ HTTP وHTTPS، وتُفحص عمليات إعادة التوجيه قبل اتباعها، ولا تحمل الطلبات كوكيز المتصفح أو بيانات الدخول المحفوظة. تُدعم سمات UserCSS (‎.user.css)، بما في ذلك Less وSass وStylus. يقدم كتالوج مدمج Tube Cleaner وPlayer Cleaner وDeArrow وDark Reader وReturn YouTube Dislike وBypass Paywalls Clean وAdGuard Extra وAdGuard Popup Blocker وTwitchAdSolutions؛ جميعها تأتي معطلة باستثناء tinyShield، وهو مُبطِّل لمكافحة حجب الإعلانات. الفيديو الأصلي يعيد Tube Cleaner وPlayer Cleaner فيديو الموقع إلى Safari قبل رسم الصفحة، مما يتيح صورة داخل صورة والصوت في الخلفية وملء الشاشة وNow Playing. يستهدف Tube Cleaner يوتيوب، ويحافظ على بث يوتيوب نفسه، ويعرض الفصول والترجمات في قوائم Safari الأصلية، ويتخطى الرعاة عبر SponsorBlock مع إعدادات لكل فئة. يغطي Player Cleaner مشغلات video.js وJW Player وPlyr وFlowplayer وMediaElement وClappr وMedia Chrome ومشغلات shadow-root مثل مشغل Archive.org، ويتذكر السرعة ومستوى الصوت والترجمات وموضع التشغيل لكل موقع. يُحدَّث كلاهما بشكل مستقل من مستودع wBlock-userscripts. لا يحجبان الإعلانات بنفسيهما؛ قوائم التصفية هي التي تفعل ذلك. التحكم لكل موقع والمزامنة توفر نافذة شريط الأدوات مفاتيح منفصلة للتصفية وسكربتات المستخدم والتشغيل التلقائي، بالإضافة إلى أداة إزالة العناصر. يمكن تقييد قوائم التصفية وسكربتات المستخدم بمواقع محددة أو استبعادها منها، وتبقى قواعد أداة الإزالة قابلة للتحرير في الإعدادات. تزامن iCloud القوائم والمرشحات المخصصة وسكربتات المستخدم وقائمة السماح والإعدادات عبر الأجهزة؛ ويتوفر تصدير نسخة احتياطية محلية كبديل. البنية المعمارية تُخزَّن بيانات التصفية بصيغة Protocol Buffers مع ضغط LZ4 وتُدفق إلى القرص للحد من استخدام الذاكرة أثناء عمليات التجميع الكبيرة. تغيير قائمة واحدة يعيد بناء الحواجب التي تغذيها فقط، رغم أن Safari لا يزال يتطلب إعادة تحميل قبل سريان التغييرات. الدعم والترخيص المشروع مرخص تحت GPL-3.0، وممول عبر Open Collective، ويصرح بأنه لا يجمع أي بيانات. تُتتبع المشكلات على GitHub وتجري المناقشات المجتمعية على Discord. يأتي تحويل القواعد والسكربتلات من AdGuard؛ وتأتي بيانات SponsorBlock وDeArrow من مشاريع Ajay Ramachandran بموجب CC BY-NC-SA 4.0.