فتح الموقع المشتّت لا يكلّف شيئاً: بضع نقرات في شريط العنوان وقد وصلت، بينما الامتناع عنه يحتاج قراراً واعياً يتجدّد كلّما عاد الدافع. وLeechBlock NG تعالج هذا الاختلال بأن تُكتَب القاعدة مرّةً واحدة في وقت صفاء الذهن، ثم ينفّذ المتصفّح الحجب في اللحظة التي تضعف فيها العزيمة.
وما يفرّقها عن أدوات الحجب الأبسط أنّ القاعدة ليست قائمةً واحدةً بمفتاح تشغيل: لكل فئة من المواقع أوقاتها وطريقة حجبها، ويمكن جعل فكّ القاعدة أصعب من نقرة.

ما هي LeechBlock NG؟
LeechBlock NG إضافةٌ للمتصفّح (browser extension) يطوّرها James Anderson بوصفها مشروعاً شخصياً لا منتجاً تجارياً. وهي مرخّصة برخصة MPL-2.0 المفتوحة، وشيفرتها منشورةٌ على GitHub في مستودعين منفصلين، واحدٌ لنسخة Firefox وآخر لنسخة Chrome.
الحرفان NG في اسمها اختصارٌ لـ«الجيل التالي» (Next Generation)، وهما أثرٌ من تحوّلٍ تقنيّ قديم. فالنسخة الأصلية من LeechBlock كانت إضافةً لـFirefox متاحةً منذ عام 2007 على الأقل، مبنيّةً على نظام الإضافات القديم المعروف بـXUL. وحين أعلنت Mozilla أنّ إصدار Firefox 57 سيُسقِط ذلك النظام كلّه لصالح واجهة WebExtensions الجديدة، لم يبقَ أمام المطوّر إلا إعادة كتابة الإضافة من الصفر، فنشر LeechBlock NG على متجر Mozilla في أكتوبر 2017 قبل أسابيع من الإصدار الذي عطّل سلفها. وهذه الواجهة الجديدة نفسها هي ما سمح لاحقاً بنقل الإضافة إلى Chrome وEdge، لأنّها معياريةٌ مشتركة بين المتصفّحات لا خاصّةً بواحدٍ منها.
اليوم تعمل الإضافة على Firefox، وعلى Google Chrome وMicrosoft Edge وسائر المتصفّحات المبنية على Chromium مثل Brave وOpera وVivaldi، كما تعمل على Firefox للأندرويد. ونُقِلت الإضافة إلى الصيغة الثالثة من معايير الإضافات (Manifest V3) في الإصدار 1.6 أواخر 2023، وهي الصيغة التي فرضتها Google فتوقّفت معها إضافاتٌ أخرى لم يواكبها مطوّروها. أمّا متصفّح Safari فغير مدعوم؛ ومن يعمل على macOS أو iOS يجد بديلاً في تطبيق ivBlock، وهو نسخةٌ مجتمعية منقولة (port) من LeechBlock NG أُعيد بناؤها لتعمل على Safari.
وأرقام المتجرين تعطي فكرةً عن حجم استعمال الأداة: تسجّل صفحتها على متجر Mozilla نحو 107 آلاف مستخدمٍ نشِط بتقييم 4.8 من 5 بناءً على قرابة ألفَي مراجعة، ويسجّل متجر Chrome أكثر من 100 ألف مستخدم بتقييم 4.9. وآخر إصدار وقت كتابة هذا المقال هو 1.7.3 الصادر في أغسطس 2026، فالأداة ما زالت تتلقّى تحديثاتٍ فعلية لا صيانةً شكلية.
يبقى تحديدٌ مهمّ لما ليست عليه الإضافة: هي أداةُ انضباطٍ ذاتيّ لا أداةُ رقابةٍ أبويّة (parental control)، ولا مرشّحُ محتوى. لا تميّز بين صفحة نافعة وأخرى ضارّة، بل تنفّذ القائمة التي كتبتها لها حرفياً.
البداية العملية: أول مجموعة حجب في دقائق
بعد تثبيت الإضافة من متجر متصفّحك، تنقر على زرّها في شريط الأدوات وتختار Options، فتفتح صفحة الإعدادات في تبويبٍ جديد. الصفحة تبدو مزدحمة من النظرة الأولى، لكنّ التشغيل الأول لا يحتاج منها إلا ثلاثة أشياء: المواقع، والوقت، والأيام.
في تبويب Block Set 1، وتحديداً في قسم What to Block، تكتب أسماء نطاقات المواقع التي تريد حجبها، كلَّ نطاقٍ في سطر. وهنا أشهر خطأٍ يقع فيه المستخدم الجديد: كتابة الرابط كاملاً ببادئة البروتوكول. الإضافة تتوقّع النطاق مجرّداً، أي somesite.com لا https://somesite.com، وبادئة www اختيارية لأنّ الحجب يشمل الموقع بها وبدونها.
ثم تنتقل إلى قسم When to Block، وفيه حقلان: حقلٌ للفترات الزمنية، وحقلٌ للحدّ الزمنيّ. يكفي أن تملأ واحداً منهما. تُكتب الفترة الزمنية بأربعة أرقام للساعة والدقيقة، وتُفصَل الفترات بفاصلة:
0900-1230,1330-1700هذا يحجب المواقع من التاسعة صباحاً حتى الثانية عشرة والنصف، ثم من الواحدة والنصف حتى الخامسة مساءً. وإن أردت ميزانية وقتٍ بدل الحجب الكامل، تترك حقل الفترات فارغاً وتكتب في حقل الحدّ الزمنيّ الرقم 10 وتختار hour من القائمة المنسدلة، فتحصل على عشر دقائق مسموحة في كل ساعة.
تبقى خطوةٌ أخيرة يسهل نسيانها: اختيار أيام الأسبوع التي يسري فيها الحجب. إن لم تُحدَّد أيام، لن يُحجَب شيء أبداً مهما ضبطت من أوقات. ثم تضغط Save Options في أسفل الصفحة، فتبدأ القاعدة عملها فوراً.
وهناك إعدادٌ خارج الصفحة نفسها يستحقّ الانتباه. بعض ميزات الإضافة — العدّاد التنازليّ الذي يظهر فوق الصفحة، والحجب بالكلمات المفتاحية، والحجب حسب الموقع المُحيل — يحتاج إذناً بالوصول إلى بيانات كل المواقع. في Firefox تجد هذا الإذن في صفحة إدارة الإضافات تحت تبويب Permissions باسم «Access your data for all websites»، وفي Chrome وEdge تجده في تفاصيل الإضافة تحت Site access بخيار «On all sites». وإن لم يُمنَح، يبقى الحجب الأساسي يعمل وتتعطّل تلك الميزات الثلاث دون رسالة خطأ تنبّهك.
مجموعات الحجب: لماذا لا تكفي قائمةٌ واحدة
المفهوم المحوريّ في LeechBlock NG هو مجموعة الحجب (block set): حزمةٌ مستقلّة تجمع قائمةَ مواقعٍ مع الأوقات والأيام وطريقة الحجب الخاصّة بها. تأتي الإضافة بستّ مجموعاتٍ افتراضية، ويمكن رفع العدد حتى 30 مجموعة أو خفضه من الإعدادات العامّة.
قد يبدو هذا العدد مبالغاً فيه، لكنّ المواقع المشتّتة ليست صنفاً واحداً ولا تستحقّ معاملةً واحدة. مواقع التواصل الاجتماعي قد تستحقّ حجباً كاملاً طوال ساعات العمل. مواقع الأخبار قد تكفيها ميزانيةٌ من عشر دقائق في كل ساعة. ومنتديات النقاش التقنيّ قد تكون نافعةً في وقتٍ ومضيّعةً في آخر، فتُضبَط على ساعات المساء وحدها. وحين تكون كل فئةٍ في مجموعةٍ منفصلة، تستطيع أن تمنح كلاً منها القاعدة التي تناسبها فعلاً، بدل أن تفرض على الجميع أشدّ القواعد أو أرخاها.
ولكل مجموعة اسمٌ يمكن تغييره من Block Set 1 إلى ما يصفها، مثل «مواقع التواصل» أو «الأخبار». وهذا ليس ترفاً تنظيمياً: اسم المجموعة يظهر على صفحة الحجب حين يُحجَب أحد مواقعها، فتعرف من أوّل نظرة أيّ قاعدةٍ صدّتك ومن أين تعدّلها إن أردت.
متى تُحجَب المواقع: الفترة الزمنية والحدّ الزمنيّ
تعتمد الإضافة على شرطين مختلفين في طبيعتهما، ومن الجمع بينهما تأتي معظم مرونتها.
الفترة الزمنية (time period) شرطٌ يتعلّق بوقت اليوم: المواقع محجوبةٌ بين وقتٍ ووقت مهما فعلت. تُكتب بصيغة HHMM، ويُستعمل 0000 لمنتصف الليل في بداية اليوم و2400 لمنتصف الليل في نهايته. وهنا قيدٌ يصطدم به كثيرون: الإضافة لا تقبل فترةً تعبر منتصف الليل مثل 2100-0600، لأنّها تتوقّع الفترة داخل اليوم التقويميّ الواحد. والحلّ تقسيمها إلى طرفين:
0000-0600,2100-2400الحدّ الزمنيّ (time limit) شرطٌ من نوعٍ آخر: ميزانيةُ استخدامٍ لا موعد. تحدّد عدد الدقائق المسموح بها داخل مدّةٍ تختارها من قائمةٍ تبدأ عند خمس دقائق وتنتهي عند ثلاثة أشهر، وفيها الساعة ونصف اليوم واليوم والأسبوع؛ فتكتب مثلاً «10 دقائق في كل ساعة» أو «60 دقيقة في كل أسبوع». ويقبل حقل الدقائق الأرقام العشرية مثل 2.5 كما يقبل الصحيحة. وحين تنفد الميزانية يبدأ الحجب ويستمرّ حتى تبدأ الفترة التالية، فتُستأنف الميزانية من جديد.
وحين يُملأ الحقلان معاً، يصير السؤال: كيف يجتمع الشرطان؟ هنا تظهر قائمةٌ فيها خياران، والفرق بينهما جوهريّ. لنفترض أنّك كتبت فترة 0900-1700 وحدّاً قدره عشر دقائق في كل ساعة. إن اخترت within time periods OR after time limit، فالمواقع محجوبةٌ حجباً كاملاً بين التاسعة والخامسة، ومحكومةٌ بعشر دقائق في الساعة في بقية اليوم. وإن اخترت within time periods AND after time limit، فالمواقع متاحةٌ عشر دقائق في كل ساعة بين التاسعة والخامسة فقط، ومفتوحةٌ تماماً بلا قيدٍ خارج تلك الساعات. الخيار الأول يضيّق، والثاني يخفّف. ولهذا ينبّه التوثيق صراحةً إلى أنّ من ملأ حقلاً واحداً فقط عليه أن يختار OR دائماً، لأنّ AND مع شرطٍ فارغٍ لا يتحقّق أبداً فلا يُحجَب شيء.
وإلى جانب هذين الشرطين، هناك خياراتٌ تضبط طريقة احتساب الوقت نفسه. يمكن أن يُحتسَب الوقت فقط حين يكون الموقع مفتوحاً في التبويب النشط ونافذة المتصفّح في المقدّمة، أو فقط حين تكون الصفحة تشغّل صوتاً. وبدون هذين الخيارين، يُستهلَك رصيدك حتى لو كان الموقع مفتوحاً في تبويبٍ منسيٍّ في الخلفية.
وثمّة خيارٌ ثالث اسمه ترحيل الوقت غير المستهلَك (roll over): إن لم تستنفد ميزانية الفترة السابقة، يُضاف الفائض إلى الفترة الحالية. لكنّ الترحيل غير تراكميّ، فلا يُنقل إلا فائض الفترة السابقة مباشرةً، وسقف ما يمكن أن تجمعه هو ضعف الحدّ الأصليّ لا أكثر. فمع حدٍّ قدره عشر دقائق في الساعة، أقصى ما تحصل عليه في ساعةٍ واحدة عشرون دقيقة.
ونقطةٌ أخيرة في حساب الوقت قد تربك من يضبط حدوداً طويلة: فترات الحدّ الزمنيّ تبدأ افتراضياً من منتصف ليل الأحد. فحدٌّ قدره ستّون دقيقة «في كل أسبوع» يعني أسبوعاً يبدأ من منتصف ليل الأحد وينتهي بمنتصف ليل الأحد التالي، وحدٌّ قدره ثلاثون دقيقة «في كل اثنتَي عشرة ساعة» ينقسم عند الظهر ومنتصف الليل. ومن أراد محاذاةً مختلفة تناسب جدوله، يجد في الخيارات المتقدّمة حقل إزاحة فترة الحدّ الزمنيّ (Offset time limit period)، ويكتب فيه عدد الساعات موجباً أو سالباً.
ولمن أراد أن يعرف كم أنفق فعلاً، تحوي الإضافة صفحة إحصاءات تُفتَح من قائمة الزرّ في شريط الأدوات. تعرض الصفحة لكل مجموعة حجب: الوقت المُنفَق منذ بداية القياس، والوقت المُنفَق في اليوم وفي الأسبوع، والمتبقّي من الميزانية الحالية، والوقت المُرحَّل. وهذه الأرقام وحدها كثيراً ما تكون أنفع من الحجب نفسه، لأنّها تحوّل الإحساس الغامض بضياع الوقت إلى رقمٍ يمكن التصرّف بناءً عليه.
كيف تُكتَب قائمة المواقع
قائمة المواقع ليست مجرّد أسماء نطاقات، بل لغةٌ صغيرة لها رموزها. وفهم هذه الرموز هو الفرق بين حجبٍ فَجٍّ يطال ما لا تريد حجبه، وحجبٍ دقيقٍ يصيب هدفه وحده.
تحديد جزءٍ من موقع يكون بإلحاق المسار بالنطاق. فكتابة example.com/calendar تحجب صفحات التقويم وحدها وتترك بقية الموقع مفتوحاً، وكتابة المسار الكامل لصفحةٍ بعينها تحجب تلك الصفحة وحدها.
علامة النجمة * تعمل بديلاً عن أيّ عدد من الحروف عدا الشرطة المائلة /. فكتابة *.example.com تحجب كل النطاقات الفرعية للموقع، وكتابة * وحدها تحجب كل المواقع بلا استثناء. وللمطابقة عبر الشرطات المائلة أيضاً تُستعمل نجمتان **، وللمطابقة بشرط وجود حرفٍ واحد على الأقل تُستعمل *+.
علامة الزائد + تسبق الاستثناءات. فسطران فيهما *.com ثم +example.com يعنيان: احجب كل نطاقات الدوت-كوم إلا هذا الموقع. وهذه الصيغة هي الطريقة العملية لبناء قائمة سماحٍ بدل قائمة منع.
علامة أكبر من > تسبق الموقع المُحيل (referrer)، فتحجب الصفحات التي وصلتَ إليها قادماً من موقعٍ بعينه. ومثالها أن تحجب كل ما تفتحه انطلاقاً من موقع تواصلٍ اجتماعيّ مع إبقاء بقية الويب متاحاً. لكنّ التوثيق يحذّر من الاعتماد الكامل عليها: كثير من المواقع لا تمرّر معلومة المُحيل أصلاً إلى الصفحة المقصودة، وحينها لا تجد الإضافة ما تتعرّف عليه.
علامة التلدة ~ تسبق الكلمات المفتاحية، وهي أكثر الرموز التباساً. الكلمة المفتاحية لا تُضيف مواقع إلى القائمة، بل تُضيّق الحجب على المواقع المذكورة فيها. فإذا كتبتَ موقعين ثم كلمةً مفتاحية، لن يُحجَب من هذين الموقعين إلا الصفحات التي تحتوي تلك الكلمة. ومن أراد الحجب بالكلمة عبر الويب كلّه احتاج أن يضيف * إلى القائمة ليشمل كل المواقع. وتُطابَق الكلمات في عنوان الصفحة أو في نصّها لا في الرابط، والمطابقة لا تفرّق بين الحروف الكبيرة والصغيرة، وتُستعمل الشرطة السفلية _ بدل المسافة داخل العبارة الواحدة. أمّا في اللغات التي لا تفصل بين كلماتها بمسافات فيوصي التوثيق بإحاطة الكلمة بنجمتين على الطرفين لتُطابَق داخل النصّ المتّصل.
علامة # في أول السطر تجعل السطر تعليقاً يُتجاهَل، وهي مفيدة لتوثيق قائمةٍ طويلة أو لتعطيل سطرٍ مؤقّتاً دون حذفه.
وهذا مثالٌ يجمع الرموز في قائمةٍ واحدة:
# social media, blocked entirely
socialsite.com
*.anothersocial.com
# news site: block only the opinion section
newssite.com/opinion
# forum: allow the careers subdomain
*.forumsite.com
+careers.forumsite.com
# on the listed sites, block only pages containing this phrase
~breaking_newsولمن يحتاج دقّةً تتجاوز هذه الرموز، تتيح الخيارات المتقدّمة كتابة تعبيرٍ نمطيّ (regular expression) يطابق الروابط المطلوب حجبها، أو المسموح بها، أو الكلمات المفتاحية. والتعبير النمطيّ يلغي القائمة المقابلة له ويحلّ محلّها، وهناك زرّ Generate From Site List يولّد تعبيراً مبدئياً من قائمتك الحالية لتعدّله بدل كتابته من الصفر.
وثمّة خيارٌ أخير يخدم من يستعمل الإضافة على أكثر من جهاز: حقل تحميل قائمة المواقع من رابط. تضع قائمتك في ملفٍّ نصّي على الويب وتضع رابطه في الحقل، فتُقرَأ القائمة عند بدء المتصفّح وعند كل حفظٍ للإعدادات. بهذا تعدّل القائمة في مكانٍ واحد بدل أن تكرّر التعديل على كل جهاز. ولأنّ نموذج الأمان في Firefox يمنع الإضافات من قراءة الملفات المحلّية حتى ببروتوكول file://، يقترح التوثيق استضافة الملف على خدمة تخزينٍ سحابيّ واستعمال رابط التنزيل المباشر لا رابط المشاركة العاديّ.
ماذا يحدث في لحظة الحجب
حين يتحقّق شرط الحجب، لا تفعل الإضافة شيئاً واحداً ثابتاً؛ سلوكها في تلك اللحظة قابلٌ للاختيار. وهذا الاختيار يحدّد ما إذا كانت الأداة ستصدّك صدّاً تامّاً أم ستمنحك مهلةً تراجع فيها نفسك.
صفحة الحجب الافتراضية تعرض الرابط الذي حاولت فتحه، واسم مجموعة الحجب المسؤولة، والوقت الذي يُرفَع فيه الحجب. وهذه أوضح الصيغ وأكثرها إفادة، لأنّ معرفة موعد رفع الحجب تقطع دافع المحاولة المتكرّرة.
صفحة التأخير (delaying page) تعرض عدّاداً تنازلياً بعدد ثوانٍ تحدّده أنت، وبعده يُفتَح الموقع. الحجب هنا ليس منعاً بل ضريبةَ انتظار، والغرض منها إدخال فجوةٍ بين الاندفاع والفعل. وهذه الصيغة تحديداً هي الأكثر ذكراً في تجارب المستخدمين على Hacker News، إذ يصف مستخدمون أنّ العدّ التنازليّ يمنحهم المهلة الكافية ليسألوا أنفسهم إن كانوا يريدون فتح الموقع فعلاً، وكثيراً ما يكون الجواب لا.
وترتبط بصفحة التأخير أربعة خيارات تغيّر أثرها. الأول أن يُفتَح الموقع تلقائياً عند بلوغ العدّاد صفراً، أو أن يظلّ ينتظر نقرةً منك. والثاني أن يُلغى العدّ من أوّله إن انتقلتَ إلى تبويبٍ أو نافذةٍ أخرى، فلا تستطيع أن تتركه يعمل في الخلفية وتعود إليه. والثالث أن يُقتصَر التأخير على أول صفحةٍ تفتحها من الموقع بدل تكراره مع كل صفحة. والرابع تحديد عدد الدقائق المسموح بها للتصفّح بعد اجتياز العدّاد، فتعود صفحة التأخير للظهور بعد انقضائها.
صفحة كلمة المرور تطلب كلمة سرٍّ قبل السماح بالمرور، وهي أشدّ من التأخير وأخفّ من المنع المطلق. والصفحة الفارغة لا تعرض شيئاً على الإطلاق. أمّا الصفحة المخصّصة فتحوّلك إلى أيّ رابطٍ تختاره أنت، وهنا فخٌّ ينبّه إليه التوثيق: إن كانت صفحتك المخصّصة مستضافةً على نطاقٍ تحجبه قاعدتك — كمن يحجب *.com كلّها — فستدخل في حلقة تحويلٍ لا تنتهي تُعلّق المتصفّح. والحلّ إضافة نطاق تلك الصفحة استثناءً بعلامة +.
وبدل التحويل إلى صفحةٍ أخرى، يمكن أن تبقى في الصفحة نفسها مع فلترٍ بصريّ (filter) يُطبَّق عليها، كتدرّجٍ رماديّ أو ضبابٍ يجعل القراءة غير مريحة، مع خيار كتم صوت التبويب معه. وفي الطرف الأشدّ، يوجد خيار إغلاق التبويب بدل عرض أيّ صفحة.
وبين هذه الصيغ كلّها، ثلاثة إعداداتٍ تحسم متى يقع الأثر وكيف تُنبَّه إليه. أوّلها الحجب الفوريّ: بدونه لا يُطبَّق الحجب إلا عند تحميل صفحةٍ جديدة، فتبقى الصفحة المفتوحة أمامك كما هي حتى تنتقل عنها، ومعه تُحجَب في اللحظة التي يتحقّق فيها الشرط. وثانيها العدّاد التنازليّ الذي يظهر في زاوية الصفحة ليُريك كم بقي قبل الحجب، ويمكن إظهاره كذلك على أيقونة الإضافة في شريط الأدوات حين ينزل المتبقّي عن عشر دقائق. وثالثها رسالة التحذير التي تظهر قبل الحجب بعدد ثوانٍ تحدّده، لتمنحك مهلةً تنهي فيها ما تقرأ بدل أن ينقطع فجأة.
[صورة مقترحة: صفحة الحجب الافتراضية وصفحة التأخير بعدّادها التنازليّ جنباً إلى جنب]
القفل المؤقّت والتجاوز المؤقّت
إلى جانب القواعد الدائمة، تقدّم الإضافة أداتين لحظيّتين تعملان في اتجاهين متعاكسين، وكلتاهما في قائمة زرّ الإضافة في شريط الأدوات.
القفل (lockdown) يحجب فوراً ولمدّةٍ تحدّدها، بصرف النظر عن جداولك المكتوبة. تفتح صفحة القفل، تكتب المدّة بالساعات والدقائق، تختار أيّ مجموعات الحجب يشملها، ثم تفعّله. وفائدته تظهر في اللحظة التي تحتاج فيها ساعتين من التركيز المتّصل دون أن تعدّل جدولك الدائم لأجلهما.
التجاوز المؤقّت (override) هو العكس: تعليقٌ مؤقّت للحجب لعدد دقائق. وهو معطَّلٌ افتراضياً لكل مجموعة، ولا يعمل عليها حتى تُفعِّل لها خيار السماح بالتجاوز صراحةً. وهذا يفسّر شكوى متكرّرة من أنّ التجاوز «لا يفعل شيئاً» عند أول تجربة.
وما يجعل التجاوز أداةً منضبطة لا ثغرةً مفتوحة أمران. الأول أنّ عدده محدود: تستطيع تحديد أقصى عددٍ من مرّات التجاوز في الساعة أو اليوم أو الأسبوع، فيصير قراراً محسوباً بميزانية لا مخرجاً مفتوحاً في كل مرّة. والثاني أنّ له شرطاً تختاره من أربعة: كلمةَ مرور الإعدادات نفسها، أو رمزاً عشوائياً يُعرَض عليك لتعيد كتابته، أو رمزاً ثابتاً تكتبه أنت مسبقاً، أو كلمةَ مرورٍ منفصلة خاصّة بالتجاوز وحده. وتستطيع كذلك أن تتركه بلا شرطٍ إطلاقاً، وهو الوضع الافتراضيّ.
وفائدة كلمة المرور المنفصلة أنّها يمكن أن تُودَع عند شخصٍ آخر، قريبٍ أو صديق، فيصير رفع الحجب قراراً يشارك فيه طرفٌ ثانٍ لا قراراً منفرداً في لحظة ضعف. وهناك أخيراً خيارٌ يحدّد ما إذا كان التجاوز يعمل أثناء القفل أم يتوقّف عنده، فتستطيع أن تجعل القفل حصيناً لا يُخترَق حتى بالتجاوز المسموح.
وتحوي قائمة الزرّ نفسها زرّ Add Sites الذي يضيف موقعاً إلى إحدى المجموعات دون فتح صفحة الإعدادات. وإلى جانبه خيارٌ في الإعدادات العامّة يُدرِج قائمةً فرعية للإضافة في قائمة النقر بالزرّ الأيمن داخل الصفحات، فتضيف الصفحة التي أمامك أو تفعّل التجاوز من مكانك.
أن تحجب نفسك عن تعطيل الحجب
أيّ أداةِ حجبٍ ذاتيّ تواجه المشكلة نفسها: من ضبط القاعدة يستطيع فكّها. وتعالج LeechBlock NG هذه المشكلة بطبقاتٍ متدرّجة، مع اعترافٍ صريحٍ بسقفٍ لا تستطيع تجاوزه.
الطبقة الأولى هي التحكّم بالوصول إلى الإعدادات. تستطيع أن تشترط كلمة مرور لفتح صفحة الخيارات، أو أن تشترط بدلها رمزاً عشوائياً يُعرَض على الشاشة ويُطلَب منك إعادة كتابته بالكامل. والرمز العشوائيّ ليس سرّاً — هو معروضٌ أمامك — لكنّ إعادة كتابته حرفاً حرفاً تكفي لكسر اندفاع اللحظة، وهي حيلةٌ يذكر مستخدمون على Hacker News أنّها وحدها كانت رادعاً كافياً لهم. ويمكن كذلك منع الوصول إلى الإعدادات كلّياً خلال فتراتٍ زمنية محدّدة.
والطبقة الثانية أدقّ: خياراتٌ على مستوى المجموعة الواحدة تمنع تعديل إعداداتها في الأوقات التي تكون فيها مواقعها محجوبة. فأنت حرٌّ في تعديل القاعدة وقت صفاء الذهن، ومحجوبٌ عن تعديلها في الوقت الذي كتبتها لأجله أصلاً. ويرافق هذا الخيار تحذيرٌ صريح في التوثيق: من فعّله على مجموعةٍ تحجب طوال اليوم وكل أيام الأسبوع، سيحبس نفسه خارج إعداداته حبساً لا مخرج منه إلا بمراسلة المطوّر لطلب تعليمات الاستعادة.
والطبقة الثالثة تسدّ الباب الخلفيّ الأوضح: صفحات المتصفّح الداخلية. فمن يستطيع فتح صفحة إدارة الإضافات يستطيع تعطيل الإضافة بنقرة واحدة. ولهذا تتيح الإضافة حجب about:addons وabout:support وabout:profiles وabout:debugging في Firefox، وصفحتَي الإضافات والإعدادات في Chrome وEdge، طوال أوقات الحجب.
وهنا يقف السقف الحقيقيّ الذي يذكره المطوّر صراحةً: إضافة المتصفّح لا تستطيع منع المستخدم من إزالتها. هذا قيدٌ في تصميم المتصفّحات نفسها لا نقصٌ في الأداة، ولا حلّ له من داخل الإضافة. والحلّ الوحيد الفعّال يقع على مستوى نظام التشغيل: سياسةٌ إدارية تُثبِّت الإضافة فتمنع إزالتها أو تعطيلها. في Firefox تُضبَط بسياسةٍ تُدرِج مُعرِّف الإضافة في قائمة الإضافات المقفلة، وفي Chrome بسياسة المؤسّسات ExtensionInstallForcelist، وكلتاهما تُضبَط على ويندوز من محرّر السجلّ (Registry Editor) وعلى ماك ولينكس بملفّات السياسات. ويُرفِق المطوّر تحذيراً واضحاً: من لا يعرف ما يفعله في محرّر السجلّ فالأفضل ألّا يقترب منه، ومن سيفعل فليصدّر نسخةً احتياطية من إعداداته أولاً.
وفي Firefox تحديداً يبقى بابٌ آخر مفتوح: وضع استكشاف الأخطاء (Troubleshoot Mode) الذي يشغّل المتصفّح بلا إضافات، ويُفتَح من قائمة المساعدة مباشرةً فيعطّل الحجب كلّه. وله بدوره سياسةٌ تعطّله اسمها DisableSafeMode.
الأذونات والخصوصية وأين تُخزَّن إعداداتك
تطلب الإضافة عند التثبيت ثلاثة أذونات: الوصول إلى تبويبات المتصفّح، ومتابعة نشاط التصفّح أثناء التنقّل، والوصول إلى بيانات كل المواقع. وهذه ليست أذوناتٍ هيّنة، وسببُ لزومها أنّ الإضافة تحتاج أن تقرأ عنوان كل صفحةٍ يحاول المتصفّح فتحها — في كل تبويب لا في النشط وحده — لتقرّر إن كانت مشمولةً بإحدى قواعدك. وحين تُستعمل الكلمات المفتاحية، تحتاج أن تقرأ محتوى الصفحة نفسها لا عنوانها فقط، لأنّ المطابقة تجري في نصّ الصفحة.
وفي المقابل، إعلان الخصوصية واضحٌ وقابلٌ للتحقّق: الإضافة لا ترسل أيّ معلومةٍ إلى أيّ جهةٍ خارجية، وكل الإعدادات وبيانات الأوقات تُخزَّن محلّياً على جهازك، وإزالة الإضافة تمحوها معها. وقد أعلن المطوّر في متجرَي Mozilla وChrome أنّها لا تجمع بيانات المستخدم. ولأنّ الشيفرة مفتوحة يمكن التحقّق من ذلك مباشرةً. وهناك إذنٌ رابع اختياريّ — الوصول إلى سجلّ التصفّح — لا يُطلَب إلا إن فعّلت خيار إضافة الصفحات المحجوبة إلى السجلّ لتعود إليها بعد انتهاء الحجب.
أمّا نقل الإعدادات بين الأجهزة فله مساران. المسار الموثوق هو التصدير والاستيراد: تصدّر إعداداتك إلى ملفٍّ نصّي وتستوردها في متصفّحٍ آخر، وهي كذلك نسخةٌ احتياطية يستحقّ أخذها من حينٍ لآخر إذا كان إعدادك معقّداً يصعب بناؤه من جديد. والمسار الثاني هو تخزين المزامنة (sync storage) الذي يحفظ الإعدادات وبيانات الأوقات في مزامنة المتصفّح بدل التخزين المحلّي، فتنتقل بين أجهزتك تلقائياً. لكنّ التوثيق يصنّفه ميزةً تجريبية ويطلب استعمالها على مسؤولية المستخدم: بياناتك في هذه الحالة تغادر جهازك إلى حساب المزامنة، والسلوك نفسه لم يستقرّ بعد.
وأُضيف في الإصدار 1.7.3 دعمُ التخزين المُدار (managed storage) في Firefox وحده، وهو يتيح تحديد الإعدادات من خارج الإضافة عبر ملفّ سياسات تنسخه الإضافة إلى تخزينها المحلّي عند أول تشغيل. والفائدة العملية منه تظهر في الأجهزة المُدارة مركزياً، كأجهزة مؤسّسةٍ أو مختبرٍ تعليميّ، حين يريد المسؤول توزيع قائمة حجبٍ موحّدة دون ضبطها يدوياً على كل جهاز.
القيود والمزالق
أوّل القيود وأهمّها أنّ LeechBlock NG إضافةُ متصفّحٍ لا حارسُ نظام. لا تحجب التطبيقات المستقلّة، ولا تعرف شيئاً عمّا يجري خارج المتصفّح الذي ثُبِّتت عليه. فمن حجب موقعاً في Firefox وفتح Chrome وجده متاحاً، ومن حجبه على حاسوبه وجده على هاتفه. والحلّ الجزئيّ تثبيتها على كل متصفّحاتك، لكنّ ذلك يبقى ترقيعاً لا حلّاً بنيوياً.
وقريبٌ من هذا قيدٌ ثانٍ: التصفّح الخاصّ (private / incognito). الإضافة تستطيع أن تحجب داخل النوافذ الخاصّة إن ضُبطت على ذلك، بل تتيح تخصيص الحجب للنوافذ الخاصّة وحدها أو للعادية وحدها. لكنّها لا تستطيع تعطيل التصفّح الخاصّ نفسه ولا منع فتح نافذةٍ خاصّة ابتداءً. وفي Chrome تحديداً، لا تعمل الإضافات في وضع التصفّح المتخفّي إلا إن سُمِح لها بذلك صراحةً من صفحة الإضافات، وهو إعدادٌ يسهل نسيانه.
والقيد الثالث هو ساعة النظام. كل قواعد الإضافة زمنية، والزمن يأتي من نظام التشغيل. فمن يغيّر ساعة جهازه يستطيع الالتفاف على أيّ فترةٍ زمنية. ولا يملك المطوّر حلّاً من داخل الإضافة، فيقترح حلولاً على مستوى ويندوز: سحب صلاحية تغيير الوقت من حساب المستخدم عبر محرّر سياسات المجموعة، أو إخفاء الساعة من شريط المهامّ لزيادة الاحتكاك. ويعترف صراحةً بأنّه لا يعرف حلّاً مكافئاً على لينكس وmacOS.
والقيد الرابع أنّ الحجب ليس انقطاعاً كاملاً عن الموقع: الإضافة تمنعك من تصفّح الموقع، لا من الاتّصال به. فقد يتّصل المتصفّح بخادم الموقع اتّصالاً قصيراً قبل أن يقع الحجب، ويسجّل ذلك الموقعُ عنوان الـIP الخاصّ بك رغم أنّك لم ترَ صفحته. ومن أراد قطع الاتّصال نفسه لا حجب العرض فحسب، فحاجته إلى وسيلة حجبٍ في طبقةٍ أدنى من المتصفّح، كضبط ملفّ hosts في نظام التشغيل — وهو ما ينصح به المطوّر نفسه لمن يريد هذا المستوى.
وهناك مزالق تشغيلية أصغر يجدر معرفتها قبل أن تُستهلَك ساعةٌ في تشخيصها:
- لا شيء يُحجَب. الأسباب الشائعة محصورة عادةً في: نسيان اختيار الأيام، أو كتابة الرابط ببادئة
https://، أو ترك حقلَي الوقت فارغين معاً، أو اختيارANDمع ملء حقلٍ واحد فقط. - الأداء مع عددٍ كبير من التبويبات. تفحص الإضافة كل التبويبات المفتوحة مرّةً في الثانية لتحديث حساب الوقت والتحقّق من الشروط. ومع عشرات التبويبات قد يظهر بطء، وعلاجه إمّا تقليل التبويبات، أو تفعيل خيار معالجة التبويبات النشطة وحدها، أو رفع الفاصل الزمنيّ للفحص إلى أكثر من ثانية.
- الكلمات المفتاحية والمحتوى الذي يُحمَّل لاحقاً. كثير من المواقع يبني محتواه بعد تحميل الصفحة الأولى، فتفحص الإضافة صفحةً لم يصلها نصّها بعد. ولهذا يوجد خيارٌ يؤخّر فحص شروط الحجب عدّة ثوانٍ بعد التحميل.
- حساب الوقت أثناء سبات الجهاز. قد يُحتسَب وقتٌ لم تقضِه فعلاً إن دخل الجهاز في وضع السكون. ولهذا حقلٌ يتجاهل القفزات الزمنية التي تتجاوز عدداً من الثواني تحدّده.
- إضافة الصفحات المحجوبة إلى السجلّ لا تعمل على Firefox للأندرويد، لأنّ واجهة سجلّ التصفّح غير مدعومة هناك بعد.
أين تقف مقابل البدائل
أقرب منافسٍ لها في عالم الإضافات هو StayFocusd، المتاح على Chrome وEdge دون Firefox. وهو أبسط في فلسفته: ميزانية وقتٍ للمواقع المشتّتة، وحين تنفد تُحجَب لبقية اليوم. وهذه البساطة ميزةٌ لمن يريد إعداداً في دقيقة، وقيدٌ على من يحتاج قواعد مختلفة لفئاتٍ مختلفة، أو تحكّماً بالساعات لا بالميزانية وحدها.
وفي طبقةٍ أعلى تقف تطبيقات سطح المكتب مثل Cold Turkey وFreedom. والفارق الجوهريّ بينها وبين الإضافات ليس في الميزات بل في موقع التنفيذ: هذه برامجُ تعمل على مستوى النظام، فتحجب في كل المتصفّحات دفعةً واحدة، وتحجب التطبيقات نفسها لا صفحات الويب فقط، ويصعب الالتفاف عليها لأنّها لا تُعطَّل بنقرةٍ في صفحة إضافات. وثمن ذلك أنّها مدفوعة كلّياً أو جزئياً: Cold Turkey يحجب المواقع مجّاناً ويطلب شراءً لمرّة واحدة لحجب التطبيقات والجدولة المتقدّمة، وFreedom يعمل بالاشتراك مقابل التزامن عبر الأجهزة.
والخلاصة العملية من هذه المقارنة أنّ الاختيار يتحدّد بسؤالين. الأول: أين يقع التشتّت فعلاً؟ إن كان محصوراً في المتصفّح فالإضافة تكفي وتزيد، وإن كان موزّعاً على تطبيقاتٍ وهاتف فهي ناقصةٌ بحكم التصميم لا بحكم قصورٍ في التنفيذ. والثاني: كم يلزم من التفصيل؟ إن كانت الحاجة «امنعني عن هذه المواقع في ساعات العمل» فأيّ أداةٍ تفي بها، أمّا إن كانت القواعد متشعّبة — فئاتٌ مختلفة بميزانياتٍ وأوقاتٍ وطرق حجبٍ مختلفة — فقلّةٌ من الأدوات المجّانية تصل إلى ما تصل إليه LeechBlock NG.
الاحتكاك لا المنع المطلق: ما الذي تعالجه الأداة فعلاً
أقوى ما في LeechBlock NG ليس أشدّ إعداداتها صرامةً. صفحةُ التأخير لا تمنع شيئاً، فأنت تنتظر عشر ثوانٍ ثم يُفتَح الموقع. والرمزُ العشوائيّ معروضٌ أمامك على الشاشة، وكلّ ما يطلبه أن تعيد كتابته. والقفلُ نفسه لا يصمد أمام من يقرّر أن يزيل الإضافة من متصفّحه.
فتحُ الموقع المشتّت نادراً ما يكون قراراً واعياً؛ هو عادةٌ آلية تسبق التفكير. والأداة لا تحاول أن تعالج القرار الواعي، لأنّها لا تستطيع ذلك أصلاً. ما تعالجه هو الفجوة بين العادة والوعي: تقطع الطريق على الفعل الآليّ حتى ينتبه صاحبه، بعشر ثوانٍ من الانتظار، أو رمزٍ يُعاد كتابته، أو تجاوزٍ محدود العدد في اليوم. وكلّها لا توقف من قرّر، لكنّها تكفي لإيقاف من لم يقرّر أصلاً.
ومن أراد ما هو أشدّ من الاحتكاك، فالطريق واضحٌ لكنّه يخرج من الإضافة إلى نظام التشغيل: سياسةٌ تثبّت الإضافة وتمنع إزالتها، وأخرى تعطّل وضع استكشاف الأخطاء، وثالثة تسحب صلاحية تغيير ساعة النظام. وعند هذا الحدّ تصير الأداة قيداً حقيقياً لا تذكيراً. وقبل بلوغ ذلك الحدّ يستحق السؤال: هل المطلوب فعلاً قيدٌ لا يُفَكّ، أم تذكيرٌ في اللحظة المناسبة؟ فالإجابة عن هذا السؤال هي ما يحدّد أيّ نصفٍ من هذه الأداة تحتاج.
والإضافة مجّانية ومفتوحة المصدر، وتُثبّت من متجر المتصفّح مباشرةً:
تثبيت على Firefox تثبيت على Chrome الموقع الرسمي والتوثيق
