العودة إلى التحديثات
New releaseAug 6, 2026

hosts v3.16.104

🔒 دمج وتوسيع ملفات hosts من عدة مصادر منسّقة بعناية. اختياريًا، اختر امتدادات للإباحية ووسائل التواصل الاجتماعي وفئات أخرى.

مشاركة

[!IMPORTANT] قد يستغرق استنساخ هذا المستودع وقتًا طويلاً! ربما تريد فقط البدء بأحدث إصدار، وليس تاريخه الكامل منذ عام 2018. لذلك ربما تريد استخدام git clone --depth 1 ... لتوفير وقت كبير.

[!NOTE] باستثناء المشكلات وطلبات السحب المتعلقة بالتغييرات على hosts/data/StevenBlack/hosts، يجب تقديم جميع المشكلات الأخرى المتعلقة بمحتوى ملفات hosts المنتجة إلى مصدر البيانات المناسب الذي ساهم في المحتوى المعني. يمكن العثور على معلومات الاتصال لجميع مصادر البيانات في دليل hosts/data/.


Logo

latest release license repo size contributors Build Status Code style: black commits since last release last commit commit activity

ملف hosts الموحد مع الإضافات الأساسية

يجمع هذا المستودع عدة ملفات hosts موثوقة، ويدمجها في ملف hosts موحد مع إزالة التكرارات. يتم توفير مجموعة متنوعة من ملفات hosts المخصصة.

لذلك هذا المستودع هو مجمّع لملفات hosts.

Aggregator

Size history

قائمة بجميع متغيرات ملفات hosts

يقدم هذا المستودع 31 متغيرًا مختلفًا لملفات hosts، بالإضافة إلى المتغير الأساسي، مع وبدون ملف hosts الموحد المضمن.

مرآة Non GitHub هي الرابط الذي يجب استخدامه لبعض مديري ملفات hosts مثل Hostsman لنظام Windows التي لا تعمل مع روابط تنزيل GitHub.

وصفة ملف hostsReadmeRaw hostsالنطاقات الفريدةمرآة Non GitHub
ملف hosts الموحد = (adware + malware)Readmelink79,746link
ملف hosts الموحد + fakenewsReadmelink81,989link
fakenewsReadmelink2,187link
ملف hosts الموحد + gamblingReadmelink86,383link
gamblingReadmelink6,593link
ملف hosts الموحد + pornReadmelink155,839link
pornReadmelink76,755link
ملف hosts الموحد + socialReadmelink83,578link
socialReadmelink3,808link
ملف hosts الموحد + fakenews + gamblingReadmelink88,570link
fakenews + gamblingReadmelink8,786link
ملف hosts الموحد + fakenews + pornReadmelink158,026link
fakenews + pornReadmelink78,948link
ملف hosts الموحد + fakenews + socialReadmelink85,765link
fakenews + socialReadmelink6,001link
ملف hosts الموحد + gambling + pornReadmelink162,420link
gambling + pornReadmelink83,348link
ملف hosts الموحد + gambling + socialReadmelink90,159link
gambling + socialReadmelink10,401link
ملف hosts الموحد + porn + socialReadmelink159,613link
porn + socialReadmelink80,561link
ملف hosts الموحد + fakenews + gambling + pornReadmelink164,607link
fakenews + gambling + pornReadmelink85,541link
ملف hosts الموحد + fakenews + gambling + socialReadmelink92,346link
fakenews + gambling + socialReadmelink12,594link
ملف hosts الموحد + fakenews + porn + socialReadmelink161,800link
fakenews + porn + socialReadmelink82,754link
ملف hosts الموحد + gambling + porn + socialReadmelink166,194link
gambling + porn + socialReadmelink87,154link
ملف hosts الموحد + fakenews + gambling + porn + socialReadmelink168,381link
fakenews + gambling + porn + socialReadmelink89,295link

التوقع: يجب أن تخدم ملفات hosts الموحدة هذه جميع الأجهزة، بغض النظر عن نظام التشغيل.

مصادر بيانات hosts الموحدة في هذا المتغير

يتم دائمًا توحيد وتضمين ملفات hosts المحدثة من المواقع التالية:

مصدر ملف hostsالصفحة الرئيسيةRaw hostsالترخيصالمشكلاتالوصف
قائمة Steven Black المخصصةlinkrawMITissuesنطاقات مشبوهة إضافية كلما صادفتها.
AdAwaylinkrawCC BY 3.0issuesAdAway هو مانع إعلانات مفتوح المصدر لنظام Android يستخدم ملف hosts.
add.2o7NetlinkrawMITissuesمواقع تتبع 2o7Net بناءً على محتوى hostsfile.org.
add.DeadlinkrawMITissuesمواقع ميتة بناءً على محتوى hostsfile.org.
add.RisklinkrawMITissuesمواقع محتوى خطير بناءً على محتوى hostsfile.org.
add.SpamlinkrawMITissuesمواقع سبام بناءً على محتوى hostsfile.org.
Mitchell Krog's - Badd Boyz HostslinkrawMITissuesنطاقات مشبوهة ومحيلون سيئون من أدوات حظر البوتات السيئة والسبام المرجعي الخاصة بي في Nginx و Apache
hostsVNlinkrawMITissuesملفات hosts تحظر إعلانات الفيتناميين
KADhostslinkrawCC BY-SA 4.0issuesمواقع احتيال/إعلانات/خداع.
minecraft-hostslinkrawCC0-1.0issuesملفات hosts لتتبع متعلقة بـ Minecraft
ملف MVPS hostslinkrawCC BY-NC-SA 4.0issuesالغرض من هذا الموقع هو تزويد المستخدم بملف HOSTS مخصص عالي الجودة.
Dan Pollock – someonewhocareslinkrawغير تجاري مع الإسنادissuesكيفية جعل الإنترنت أقل سوءًا (قدر الإمكان).
Tiuxo hostlist - adslinkrawCC BY 4.0issuesملفات hosts مصنفة لحظر المحتوى بناءً على DNS
UncheckyAdslinkrawMITissuesمواقع مصادر إعلانات مثبتات Windows بناءً على محتوى https://unchecky.com/.
URLHauslinkrawCC0issuesمشروع من abuse.ch يهدف إلى مشاركة عناوين URL ضارة.
yoyo.orglinkrawissuesحظر باستخدام أسماء مضيفات خوادم الإعلانات والتتبع.

الإضافات

ملف hosts الموحد قابل للتوسيع اختياريًا. تُستخدم الإضافات لتضمين النطاقات حسب الفئة. حاليًا، نقدم الفئات التالية: fakenews، social، gambling، و porn.

الإضافات اختيارية، ويمكن دمجها بطرق مختلفة مع ملف hosts الأساسي. يتم تخزين المنتجات المدمجة في مجلد alternates.

يتم تخزين بيانات الإضافات في مجلد extensions. تدير الإضافات عن طريق تنظيم شجرة هذا المجلد، حيث ستجد بيانات إضافات fakenews، social، gambling، و porn التي نحافظ عليها ونوفرها لك.

إنشاء ملف hosts الموحد الخاص بك

لديك ثلاثة خيارات لإنشاء ملف hosts الخاص بك. يمكنك استخدام صورة الحاوية الخاصة بنا، أو بناء صورتك الخاصة، أو القيام بذلك في بيئتك الخاصة. الخيار #1 هو الأسهل إذا كان لديك Linux مع تثبيت Docker.

الخيار 1: استخدام صورة الحاوية الخاصة بنا (Linux فقط)

سيؤدي هذا إلى استبدال ملف /etc/hosts الخاص بك.

نفترض أن Docker متاح على مضيفك. فقط قم بتشغيل الأمر التالي. اضبط الإضافات حسب تفضيلك.```sh docker run --pull always --rm -it -v /etc/hosts:/etc/hosts
ghcr.io/stevenblack/hosts:latest updateHostsFile.py --auto
--replace --extensions gambling porn

إذا كنت ترغب في إضافة مضيفين مخصصين أو قائمة بيضاء، فأنشئ أيًا من الملفين أو كليهما وفقًا
[للتوجيهات](#how-do-i-control-which-sources-are-unified) وأضف الوسائط التالية _قبل_ `ghcr.io/stevenblack/hosts:latest` اعتمادًا على
أيٍّ منها ترغب في استخدامه.```sh
-v "path/to/myhosts:/hosts/myhosts" \
-v "path/to/whitelist:/hosts/whitelist" \

يمكنك إعادة تشغيل هذا الأمر نفسه لاحقًا للتحديث بناءً على أحدث المضيفات المتاحة (على سبيل المثال، أضِفه إلى مهمة cron أسبوعية).

الخيار 2: إنشاء صورة الحاوية الخاصة بك

نوفّر Dockerfile المستخدم في الخطوة السابقة، والذي يمكنك استخدامه لإنشاء صورة حاوية تحتوي على كل ما تحتاجه. ستحتوي الحاوية على Python 3 وجميع متطلبات التبعية الخاصة به، ونسخة من أحدث إصدار من هذا المستودع.

قم ببناء حاوية Docker من جذر هذا المستودع على النحو التالي:```sh docker build --no-cache . -t stevenblack-hosts

أو بدون استنساخ (مباشرة من GitHub):```sh
docker build --no-cache https://github.com/StevenBlack/hosts.git -t stevenblack-hosts

ثم قم بتشغيل الأمر الخاص بك على النحو التالي:```sh docker run --rm -it stevenblack-hosts updateHostsFile.py

> سيؤدي هذا إلى إنشاء ملف hosts، وإزالته مع الحاوية عند الانتهاء،
> لذا فهو ليس مفيدًا جدًا. يمكنك استخدام المثال في الخيار رقم 1 لإضافة وحدات تخزين بحيث
> يتم استبدال الملفات الموجودة على مضيفك.

### الخيار 3: إنشاؤه في بيئتك الخاصة

لإنشاء ملفات hosts المدمجة الخاصة بك، ستحتاج إلى Python 3.6 أو أحدث.

أولاً، قم بتثبيت التبعيات باستخدام:```sh
pip3 install --user -r requirements.txt

ملاحظة نوصي باستخدام الخيار --user الذي يقوم بتثبيت التبعيات المطلوبة على مستوى المستخدم. يمكن العثور على مزيد من المعلومات حوله في توثيق pip.

الخيار 4: إنشاؤه في Google Colab

قم بتشغيل بيئة Google Colab عن بُعد مجانًا.

خطوات مشتركة بغض النظر عن بيئة التطوير لديك

لتشغيل اختبارات الوحدة، في الدليل العلوي، قم بتشغيل:```sh python3 testUpdateHostsFile.py

سيكتب السكربت `updateHostsFile.py` ملف hosts موحدًا استنادًا إلى
المصادر الموجودة في المجلد الفرعي المحلي `data/`. سيطلب منك السكربت ما إذا كان
يجب عليه جلب إصدارات محدّثة (من المواقع المحددة في ملف النص `update.json`
الموجود في مجلد كل مصدر). بخلاف ذلك، سيستخدم ملف `hosts` الموجود
بالفعل هناك.```sh
python3 updateHostsFile.py [--auto] [--replace] [--ip nnn.nnn.nnn.nnn] [--extensions ext1 ext2 ext3]

خيارات سطر الأوامر

--help، أو -h: عرض المساعدة.

--auto، أو -a: تشغيل السكربت دون مطالبة. عند استدعاء --auto،

  • يتم تحديث مصادر بيانات المضيفات، بما في ذلك الإضافات.
  • لا يتم تضمين أي إضافات افتراضيًا. استخدم العلامة --extensions أو -e لتضمين أي منها تريده.
  • لا يتم استبدال ملف المضيفات النشط لديك إلا إذا قمت بتضمين العلامة --replace.

--backup، أو -b: إنشاء نسخة احتياطية من ملف(ات) المضيفات الموجودة عند إنشاء ملفات جديدة فوقها.

--extensions <ext1> <ext2> <ext3>، أو -e <ext1> <ext2> <ext3>: أسماء المجلدات الفرعية أسفل مجلد extensions التي تحتوي على ملفات مضيفات إضافية خاصة بفئات معينة لتضمينها في الدمج. مثال: --extensions porn أو -e social porn.

--flush-dns-cache، أو -f: تخطي طلب مسح ذاكرة التخزين المؤقت لـ DNS. نشط فقط عندما تكون --replace نشطة أيضًا.

--ip nnn.nnn.nnn.nnn، أو -i nnn.nnn.nnn.nnn: عنوان IP الذي سيتم استخدامه كهدف. الافتراضي هو 0.0.0.0.

--keepdomaincomments، أو -k: true (الافتراضي) أو false، الاحتفاظ بالتعليقات التي تظهر على نفس السطر الذي توجد فيه النطاقات. الافتراضي هو true.

--noupdate، أو -n: تخطي جلب التحديثات من مصادر بيانات المضيفات.

--output <subfolder>، أو -o <subfolder>: وضع ملف المصدر المُنشأ في مجلد فرعي. إذا لم يكن المجلد الفرعي موجودًا، فسيتم إنشاؤه.

--replace، أو -r: تشغيل استبدال ملف المضيفات النشط لديك.

--skipstatichosts، أو -s: false (الافتراضي) أو true، حذف القسم القياسي في الأعلى، الذي يحتوي على أسطر مثل 127.0.0.1 localhost. هذا مفيد لتكوين خدمات DNS القريبة على الشبكة المحلية.

--nogendata، أو -g: false (الافتراضي) أو true، تخطي إنشاء ملف readmeData.json المستخدم لإنشاء ملفات readme.md. هذا مفيد إذا كنت تقوم بإنشاء ملفات مضيفات مع قوائم بيضاء أو سوداء إضافية وتريد الحفاظ على نسختك المحلية من هذا المستودع دون تعديل.

--nounifiedhosts: false (الافتراضي) أو true، عدم تضمين ملف المضيفات الموحد في ملف المضيفات النهائي. يُستخدم عادةً مع --extensions.

--compress، أو -c: false (الافتراضي) أو true، ضغط ملف المضيفات بتجاهل الأسطر غير الضرورية (الأسطر الفارغة والتعليقات) ووضع نطاقات متعددة في كل سطر. تقليل عدد أسطر ملف المضيفات يحسّن الأداء تحت Windows (مع تمكين خدمة DNS Client).

--minimise، أو -m: false (الافتراضي) أو true، مثل --compress، لكنه يضع كل نطاق في سطر منفصل. هذا ضروري لأن العديد من تطبيقات حاصرات عناوين URL التي تعتمد على ملفات hosts لا تتوافق مع المعيار الذي يسمح بوجود مضيفات متعددة في سطر واحد.

--blacklist <blacklistfile>، أو -x <blacklistfile>: إلحاق ملف القائمة السوداء المحدد بصيغة hosts بملف المضيفات المُنشأ.

--whitelist <whitelistfile>، أو -w <whitelistfile>: استخدام ملف القائمة البيضاء المحدد لإزالة المضيفات من ملف المضيفات المُنشأ.

كيف أتحكم في المصادر التي يتم دمجها؟

أضف مصدرًا أو أكثر إضافيًا، كل منها في مجلد فرعي من مجلد data/، وحدد مفتاح url في ملف update.json الخاص به.

أضف إضافة أو أكثر اختيارية، والتي تنشأ من مجلدات فرعية من مجلد extensions/. مرة أخرى، يتحكم عنوان url في update.json في المكان الذي تجد فيه هذه الإضافة تحديثاتها.

أنشئ ملف blacklist اختياريًا. يتم إلحاق محتويات هذا الملف (الذي يحتوي على قائمة بالنطاقات الإضافية بصيغة ملف hosts) بملف المضيفات الموحد أثناء عملية التحديث. يتم تضمين نموذج blacklist، ويمكن تعديله حسب حاجتك.

  • ملاحظة: ملف blacklist غير متتبع بواسطة git، لذا لن يتم استبدال أي تغييرات تجريها عند تنفيذ git pull لهذا المستودع من origin في المستقبل.

كيف أدرج تعيينات النطاقات المخصصة الخاصة بي؟

إذا كان لديك سجلات مضيفات مخصصة، ضعها في ملف myhosts. يتم إضافة محتويات هذا الملف في بداية ملف المضيفات الموحد أثناء عملية التحديث.

ملف myhosts غير متتبع بواسطة git، لذا لن يتم استبدال أي تغييرات تجريها عند تنفيذ git pull لهذا المستودع من origin في المستقبل.

كيف أمنع تضمين النطاقات؟

يتم استبعاد النطاقات التي تدرجها في ملف whitelist من ملف المضيفات النهائي.

يستخدم whitelist المطابقة الجزئية. لذلك إذا قمت بإدراج google-analytics.com في القائمة البيضاء، فلن يتم دمج هذا النطاق وجميع نطاقاته الفرعية في ملف المضيفات النهائي.

ملف whitelist غير متتبع بواسطة git، لذا لن يتم استبدال أي تغييرات تجريها عند تنفيذ git pull لهذا المستودع من origin في المستقبل.

كيف يمكنني المساهمة بسجلات المضيفات؟

إذا اكتشفت نطاقات مشبوهة تعتقد أنه يجب تضمينها هنا، فإليك بعض الطرق للمساهمة بها.

الخيار 1: التواصل مع أحد مصادر المضيفات لدينا

أفضل طريقة لتضمين نطاقات جديدة هي تقديم مشكلة إلى أي من مزودي البيانات الذين تم إدراج صفحاتهم الرئيسية هنا. هذا هو الأفضل لأنه بمجرد تقديم نطاقات جديدة، سيتم تنظيمها وتحديثها بواسطة الأشخاص المخصصين الذين يحافظون على هذه المصادر.

الخيار 2: انسخ هذا المستودع، وأضف نطاقاتك إلى ملف البيانات الشخصي لستيفن بلاك، وقدم طلب سحب

انسخ مستودع hosts هذا وأضف روابطك إلى https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts.

ثم قدم طلب سحب.

تحذير: هذا أقل استحسانًا من الخيار 1 لأن التنظيم المستمر يقع على عاتقنا. لذا فإن هذا يخلق المزيد من العمل لنا.

الخيار 3: إنشاء قائمة المضيفات الخاصة بك كمستودع على GitHub

إذا كنت قادرًا على تنظيم مجموعتك الخاصة من النطاقات المشبوهة، فقم بتنظيم قائمة المضيفات الخاصة بك. ثم أشر إلى وجود مستودعك كـ مشكلة جديدة وقد ندرج مستودعك الجديد في مجموعة المصادر التي نسحب منها كلما أنشأنا إصدارات جديدة.

ما هو ملف المضيفات؟

ملف المضيفات، المسمى hosts (بدون امتداد ملف)، هو ملف نصي عادي تستخدمه جميع أنظمة التشغيل لربط أسماء المضيفات بعناوين IP.

في معظم أنظمة التشغيل، يكون ملف hosts مفضلًا على DNS. لذلك إذا تم حل اسم نطاق بواسطة ملف hosts، فلن يغادر الطلب جهاز الكمبيوتر الخاص بك أبدًا.

وجود ملف hosts ذكي يقطع شوطًا طويلًا نحو حظر البرامج الضارة والبرامج الإعلانية وغيرها من المزعجات.

على سبيل المثال، لإبطال طلبات بعض خوادم doubleclick.net، فإن إضافة هذه الأسطر إلى ملف المضيفات الخاص بك سيفي بالغرض:```text

block doubleClick's servers

0.0.0.0 ad.ae.doubleclick.net 0.0.0.0 ad.ar.doubleclick.net 0.0.0.0 ad.at.doubleclick.net 0.0.0.0 ad.au.doubleclick.net 0.0.0.0 ad.be.doubleclick.net

etc...

## نوصي باستخدام `0.0.0.0` بدلاً من `127.0.0.1`

تقليديًا، تستخدم معظم ملفات hosts `127.0.0.1`، وهي _عنوان الاسترجاع_، لإنشاء
اتصال IP بالجهاز المحلي.

نفضّل استخدام `0.0.0.0`، والذي يُعرَّف بأنه عنوان ميتا غير قابل للتوجيه يُستخدم
لتعيين هدف غير صالح أو غير معروف أو غير قابل للتطبيق.

استخدام `0.0.0.0` أسرع تجريبيًا، ربما لأنه لا يوجد انتظار لحل
المهلة الزمنية. كما أنه لا يتعارض مع خادم ويب قد يكون
قيد التشغيل على الكمبيوتر المحلي.

## لماذا لا نستخدم `0` بدلاً من `0.0.0.0`؟

لقد جربنا ذلك. استخدام `0` لا يعمل بشكل شامل.

## موقع ملف hosts الخاص بك

لتعديل ملف `hosts` الحالي لديك، ابحث عنه في الأماكن التالية وقم
بتعديله باستخدام محرر نصوص.

- **macOS (حتى 10.14.x macOS Mojave)، iOS، Android، Linux**: ملف `/etc/hosts`.
- **macOS Catalina:** ملف `/private/etc/hosts`.
- **Windows**: ملف `%SystemRoot%\system32\drivers\etc\hosts`.

## Gentoo

قد يجد مستخدمو Gentoo
[`sb-hosts`](https://github.com/PF4Public/gentoo-overlay/tree/master/net-misc/sb-hosts)
في [::pf4public](https://github.com/PF4Public/gentoo-overlay) Gentoo overlay

## NixOS

لتثبيت ملف hosts على جهازك، أضف ما يلي إلى
`configuration.nix`:```nix
{
  networking.extraHosts = let
    hostsPath = https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts;
    hostsFile = builtins.fetchurl hostsPath;
  in builtins.readFile "${hostsFile}";
}
  • ملاحظة: غيّر hostsPath إذا كنت بحاجة إلى إصدارات أخرى من ملف hosts.
  • ملاحظة: استدعاء fetchurl غير نقي. استخدم fetchFromGitHub مع الـ commit المحدد إذا كنت تريد الحصول دائمًا على نفس النتيجة.

Nix Flake

يمكن لتثبيتات NixOS التي تُدار عبر flakes استخدام flake.nix في هذا المستودع مباشرةً كمدخل.

يحتوي على nixosModule يمكن استخدامه لتثبيت ملف hosts محليًا، بالإضافة إلى حزمة تحتوي على ملفات إعدادات لخادم DNS Unbound لاستخدامها كقوائم حظر.```nix { inputs = { nixpkgs.url = "github:NixOS/nixpkgs?ref=$YOUR-REF"; hosts = { url = "github:StevenBlack/hosts"; # or a fork/mirror inputs.nixpkgs.follows = "nixpkgs"; }; };

outputs = { self, nixpkgs, hosts }: { nixosConfigurations.my-hostname = { system = ""; modules = [ # nixosModule to install hosts file locally: hosts.nixosModule { networking.stevenBlackHosts = { enable = true; # optionally: # enableIPv6 = true; # blockFakenews = true; # blockGambling = true; # blockPorn = true; # blockSocial = true; }; }

    # configure unbound to use config as blocklist:
    {
      {
        services.unbound = {
          enable = true;
          settings.server.include = [
            "${hosts.packages.${system}.unbound}/hosts"
            # alternates are also available, e.g. /fakenews, /fakenews-gambling etc.
          ];
        };
      }
    }
  ];
};

}; }

## تحديث ملف hosts على ويندوز

(ملاحظة: انظر أيضًا إلى بعض أدوات إدارة Hosts من جهات خارجية، المدرجة أدناه.)

### للإصدارات الأقدم من ويندوز

على لينكس و macOS، قم بتشغيل سكربت Python. على ويندوز يتطلب الأمر مزيدًا من العمل بسبب
مشاكل التوافق لذا يُفضّل تشغيل ملف الدفعات (batch file) كما يلي:```sh
updateHostsWindows.bat

يجب تشغيل هذا الملف بالضرورة في موجه الأوامر بصلاحيات المسؤول داخل دليل المستودع. بالإضافة إلى تحديث ملف hosts، يمكنه أيضًا استبدال ملف hosts الموجود، وإعادة تحميل ذاكرة التخزين المؤقت لنظام DNS. وغني عن الذكر أنه لكي يعمل هذا، يجب أن تكون متصلاً بالإنترنت.

لفتح موجه أوامر كمسؤول في دليل المستودع، قم بما يلي:

  • Windows XP: ابدأ ← تشغيل ← cmd
  • Windows Vista, 7: زر ابدأ ← اكتب cmd ← انقر بزر الماوس الأيمن على موجه الأوامر ← "تشغيل كمسؤول"
  • Windows 8: ابدأ ← اسحب لأعلى ← كل التطبيقات ← نظام Windows ← انقر بزر الماوس الأيمن على موجه الأوامر ← "تشغيل كمسؤول"
  • Windows 10: زر ابدأ ← اكتب cmd ← انقر بزر الماوس الأيمن على موجه الأوامر ← "تشغيل كمسؤول"

للإصدارات الجديدة من Windows

في الإصدارات الحديثة من Windows (10 وخاصة 11) لا تعمل جميع ميزات البرنامج النصي الدفعي المذكور أعلاه (تحديدًا التحقق مما إذا كانت الصدفة الحالية لديها صلاحيات إدارية) وبالتالي يُنصح باتباع نهج أكثر حداثة.

الملف المقدم updateHostsWindows.ps1 هو برنامج نصي Powershell 5.1 يقوم بنفس الشيء الذي يفعله البرنامج النصي الدفعي، ولكن دون الحاجة إلى برنامج python النصي، مع خيارات إضافية، ويستخدم أوامر مدمجة فقط (مكتفٍ ذاتيًا). كما هو الحال مع الملف الدفعي، يجب بالضرورة تشغيله بصلاحيات إدارية، لكنه يمكنه إعادة تشغيل نفسه إذا لم يكن كذلك.

لتشغيل البرنامج النصي اكتب:```Powershell .\updateHostsWindows.ps1

اكتبه في أي سطر أوامر متاح في ويندوز ولمزيد من التفاصيل اكتب:```Powershell
Get-Help .\updateHostsWindows.ps1 -Full

تأتي إصدارات ويندوز الأحدث مع عدة مشاكل (يمكن التغلب عليها) ولمزيد من المعلومات والحلول يرجى زيارة الصفحة الرئيسية لهذا السكربت هنا.


يمكنك أيضًا الرجوع إلى قسم "مديري ملفات hosts من جهات خارجية" للحصول على حلول موصى بها إضافية من جهات خارجية.

تحذير: استخدام ملف hosts هذا في ويندوز قد يتطلب تعطيل خدمة DNS Cache

يواجه ويندوز مشاكل مع ملفات hosts الأكبر حجمًا. التغييرات الأمنية الأخيرة في ويندوز 10 تمنع الوصول إلى تغيير الخدمات عبر أدوات أخرى باستثناء اختراقات السجل. استخدم ملف disable-dnscache-service-win.cmd لإجراء التغييرات المناسبة على سجل ويندوز. ستحتاج إلى إعادة تشغيل جهازك بمجرد الانتهاء من ذلك. راجع التعليقات داخل ملف cmd لمزيد من التفاصيل.

يمكن أن يتسبب تعطيل خدمة DNS Cache في مشاكل مع الخدمات والتطبيقات مثل WSL ومن الممكن ضغط ملف hosts وتجنب الحاجة إلى تعطيل خدمة التخزين المؤقت لـ DNS. يمكنك تجربة أداة سطر الأوامر C++ لويندوز في Hosts Compress - Windows (الطريقة الموصى بها) أو سكربت الضغط PowerShell واطّلع على الدليل الموجود في مستودع Hosts Compression Scripts.

إعادة تحميل ملف hosts

سيقوم نظام التشغيل الخاص بك بتخزين عمليات بحث DNS مؤقتًا. يمكنك إما إعادة التشغيل أو تشغيل الأوامر التالية لمسح ذاكرة التخزين المؤقت لـ DNS يدويًا بمجرد وضع ملف hosts الجديد في مكانه.

قد يتطلب متصفح جوجل كروم تنظيف ذاكرة التخزين المؤقت لـ DNS يدويًا على صفحة chrome://net-internals/#dns لرؤية التغييرات في ملف hosts بعد ذلك. انظر: https://superuser.com/questions/723703

ويندوز

افتح موجه الأوامر بصلاحيات المسؤول وشغّل هذا الأمر:```bat ipconfig /flushdns

### لينكس

افتح الطرفية وشغّل بصلاحيات الجذر:

- **ديبيان/أوبونتو** `sudo service network-manager restart`
- **لينكس مينت** `sudo /etc/init.d/dns-clean start`
- **لينكس مع systemd**: `sudo systemctl restart network.service`
- **فيدورا لينكس**: `sudo systemctl restart NetworkManager.service`
- **آرتش لينكس/مانجارو مع Network Manager**:
  `sudo systemctl restart NetworkManager.service`
- **آرتش لينكس/مانجارو مع Wicd**: `sudo systemctl restart wicd.service`
- **RHEL/Centos**: `sudo /etc/init.d/network restart`
- **فري بي إس دي**: `sudo service nscd restart`

  لتفعيل خدمة `nscd` في البداية، يُنصح بتشغيل الأوامر التالية:  ```sh
  sudo sysrc nscd_enable="YES"
  sudo service nscd start

ثم عدّل سطر hosts في ملف /etc/nsswitch.conf الخاص بك إلى ما يلي: ```text hosts: cache files dns

- **NixOS**: يتم إعادة تشغيل `nscd.service` تلقائيًا عند تغيير الخيار
`networking.extraHosts`.
- **أنظمة أخرى**: راجع
[مقالة ويكيبيديا هذه](https://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system).

### macOS

كما هو موضح في [هذه المقالة](https://osxdaily.com/2022/11/21/how-clear-dns-cache-macos-ventura-monterey/)،
افتح الطرفية (Terminal) وشغّل:```sh
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder

إدارة الإصدارات

يستخدم هذا المستودع release-it، وهي أداة إصدار ممتازة تعمل عبر سطر الأوامر لمستودعات GitHub وحزم npm، لأتمتة إنشاء الإصدارات. ولهذا السبب تم تضمين ملفي package.json و .release-it.json.

أهداف ملف hosts الموحّد هذا

أهداف هذا المستودع هي:

  1. دمج قوائم hosts عالية الجودة تلقائيًا،
  2. توفير امتدادات مناسبة للسياق،
  3. إزالة التكرارات من القائمة المدمجة الناتجة،
  4. والحفاظ على حجم الملف الناتج معقولًا.

يُعرَّف المصدر عالي الجودة هنا بأنه المصدر الذي تتم صيانته بنشاط. يجب أن يتم تحديث مصدر hosts بشكل متكرر من قبل القائمين عليه، سواء بالإضافات أو الإزالات. كلما كان ملف hosts أكبر، كان المستوى المتوقع من الصيانة أعلى.

من المتوقع أن يخدم ملف hosts الموحّد هذا كلاً من الأجهزة المكتبية والمحمولة تحت مجموعة متنوعة من أنظمة التشغيل.

مديرو hosts من جهات خارجية

  • Unified Hosts AutoUpdate (لنظام Windows): حزمة Unified Hosts AutoUpdate مصممة خصيصًا لمشروع hosts الموحّد هذا، كما أنها قيد التطوير النشط من قبل أعضاء المجتمع. يمكنك تثبيت وإلغاء تثبيت أي قائمة حظر وإبقائها محدثة تلقائيًا، ويمكن وضعها في موقع شبكة مشترك ونشرها عبر المؤسسة باستخدام سياسات المجموعة. وبما أنها قيد التطوير النشط من قبل أعضاء المجتمع، فإن تقارير الأخطاء وطلبات الميزات وملاحظاتك الأخرى مرحب بها للغاية.
  • ViHoMa هو مدير ملفات hosts مرئي، مكتوب بلغة Java، بواسطة Christian Martínez. جرّبه!
  • SaneHosts (لنظام macOS): مدير ملفات hosts أصلي مع حظر قائم على الملفات الشخصية، وحماية Touch ID، ودعم أكثر من 200 قائمة حظر منسقة. مفتوح المصدر.

تطبيقات مثيرة للاهتمام

  • Hosts-BL هي أداة بسيطة للتعامل مع قوائم الحظر في ملفات hosts. يمكنها إزالة التعليقات، وإزالة التكرارات، وضغط النطاقات إلى 9 نطاقات لكل سطر، وإضافة إدخالات IPv6. بالإضافة إلى ذلك، يمكنها أيضًا تحويل قوائم الحظر إلى تنسيقات قوائم حظر أخرى متعددة متوافقة مع برامج أخرى، مثل dnsmasq وDualServer وRPZ وPrivoxy وUnbound، على سبيل المثال لا الحصر.
  • Host Minder هي واجهة رسومية بسيطة تتيح لك تحديث ملف /etc/hosts بسهولة إلى أحد ملفات hosts الموحّدة الأربعة من StevenBlack/hosts. وهي متوفرة كحزمة deb ومثبتة مسبقًا على UbuntuCE.
  • Maza ad blocking هو سكربت bash يقوم بتحديث ملف hosts تلقائيًا. يمكنك أيضًا تحديث نسخة جديدة. وفي كل مرة يُنشئ ملف تكوين متوافقًا مع dnsmasq. تثبيت سريع، متوافق مع MacOS وLinux وBSD.
  • Hostile هي أداة سطر أوامر أنيقة لإضافة أو إزالة النطاقات من ملف hosts بسهولة. إذا كانت ملفات hosts لدينا صارمة جدًا بالنسبة لك، يمكنك استخدام hostile لإزالة النطاقات، أو يمكنك استخدام hostile في سكربت bash لأتمتة عملية لاحقة في كل مرة تقوم فيها بتنزيل إصدارات جديدة من hosts.
  • البرمجة النصية لنظام macOS للتكوين والنسخ الاحتياطي والاستعادة يساعد في تخصيص وإعادة تثبيت واستخدام macOS. كما يوفر سكربت لتثبيت وتحديث ملف hosts باستخدام هذا المشروع على macOS. وبالاقتران مع launchd يقوم بتحديث ملف hosts كل x يوم (الافتراضي هو 4). لتثبيت كليهما، قم بتنزيل مستودع GitHub وتشغيل سكربت التثبيت من الدليل الذي يعلو مستوى واحد.
  • Pi-hole هو خادم DHCP وحاجب إعلانات على مستوى الشبكة يعمل على Raspberry Pi. يستخدم Pi-hole هذا المستودع كأحد مصادره.
  • حظر الإعلانات والبرامج الضارة عبر خادم DNS محلي BIND9 (لأنظمة Debian وRaspbian وUbuntu): قم بإعداد خادم DNS محلي بملف /etc/bind/named.conf.blocked، مصدره من هنا.
  • حظر الإعلانات والبرامج الضارة ونشر الرقابة الأبوية عبر خادم DNS/DHCP المحلي DualServer (لأنظمة BSD وWindows وLinux): قم بإعداد قائمة حظر للجميع على شبكتك باستخدام قوة hosts الموحّد المعاد تنسيقه لـ DualServer. وإذا كنت على Windows، يحتفظ هذا المشروع أيضًا بسكربت تحديث لجعل تحديث قائمة حظر DualServer أسهل.
  • حظر الإعلانات والبرامج الضارة باستخدام unboundUnbound هو محلل DNS للتحقق والتكرار والتخزين المؤقت.
  • سكربت تحويل dnsmasq يحتوي هذا GitHub gist على سكربت شل قصير (bash، سيعمل على أي نظام 'nix) و يستخدم wget و awk الموجودين في معظم التوزيعات، لجلب ملف hosts محدد وتحويله إلى التنسيق المطلوب بواسطة dnsmasq. يدعم IPv4 وIPv6. مصمم للاستخدام إما كسكربت شل، أو يمكن وضعه في /etc/cron.weekly (أو أي مكان مناسب). السكربت قصير وسهل التحرير، كما يحتوي على مستند قصير مرفق مع ملاحظات حول إعداد dnsmasq.
  • BlackHosts - مثبت/محدّث سطر الأوامر هذه أداة سطر أوامر متعددة المنصات للمساعدة في تثبيت/تحديث ملفات hosts الموجودة في هذا المستودع.
  • سكربتات ضغط Hosts هذه سكربتات متنوعة للمساعدة في ضغط ملفات hosts (بواسطة مؤلف BlackHosts).
  • Hosts Compress - Windows هذه أداة سطر أوامر لنظام Windows مكتوبة بلغة C++ للمساعدة في ضغط ملفات hosts (بواسطة مؤلف BlackHosts وHosts Compression Scripts). يوصى بشدة باستخدامها بدلاً من السكربتات لأنها أسرع بشكل هائل.
  • dnscrypt-proxy يوفر أداة لبناء قوائم الحظر من قوائم محلية وبعيدة بتنسيقات شائعة.
  • Control D يوفر مرآة عامة مستضافة على شبكة anycast لقائمة الحظر الموحّدة (Adware + Malware):
    • DNS القديم: 76.76.2.35, 76.76.10.35, 2606:1a40::35, 2606:1a40:1::35
    • DNS عبر HTTPS/TLS/DOQ: https://freedns.controld.com/x-stevenblack, x-stevenblack.freedns.controld.com

المساهمة

يرجى قراءة دليل المساهمة. من بين أمور أخرى، يشرح هذا الدليل كيفية تنظيم الملفات والمجلدات في هذا المستودع.

نحن مهتمون دائمًا باكتشاف مصادر hosts منسقة جيدًا. إذا وجدت مصدرًا، فيرجى فتح issue للفت انتباهنا إليه.

قبل إنشاء أي issue أو الرد عليه، يرجى قراءة مدونة قواعد السلوك.

الشعار بواسطة @Tobaloidee شكرًا لك!.

الفئات