العودة إلى التحديثات
New releaseSep 15, 2026

hosts v3.16.114

🔒 دمج وتوسيع ملفات 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 mirror هو الرابط الذي يجب استخدامه لبعض مديري ملفات hosts مثل Hostsman for Windows التي لا تعمل مع روابط التنزيل من GitHub.

وصفة ملف HostReadmeRaw hostsالنطاقات الفريدةNon GitHub mirror
Unified hosts = (adware + malware)Readmelink78,140link
Unified hosts + fakenewsReadmelink80,555link
fakenewsReadmelink2,187link
Unified hosts + gamblingReadmelink85,000link
gamblingReadmelink6,644link
Unified hosts + pornReadmelink154,420link
pornReadmelink76,771link
Unified hosts + socialReadmelink82,144link
socialReadmelink3,808link
Unified hosts + fakenews + gamblingReadmelink87,187link
fakenews + gamblingReadmelink8,837link
Unified hosts + fakenews + pornReadmelink156,607link
fakenews + pornReadmelink78,964link
Unified hosts + fakenews + socialReadmelink84,331link
fakenews + socialReadmelink6,001link
Unified hosts + gambling + pornReadmelink161,052link
gambling + pornReadmelink83,415link
Unified hosts + gambling + socialReadmelink88,776link
gambling + socialReadmelink10,452link
Unified hosts + porn + socialReadmelink158,194link
porn + socialReadmelink80,577link
Unified hosts + fakenews + gambling + pornReadmelink163,239link
fakenews + gambling + pornReadmelink85,608link
Unified hosts + fakenews + gambling + socialReadmelink90,963link
fakenews + gambling + socialReadmelink12,645link
Unified hosts + fakenews + porn + socialReadmelink160,381link
fakenews + porn + socialReadmelink82,770link
Unified hosts + gambling + porn + socialReadmelink164,826link
gambling + porn + socialReadmelink87,221link
Unified hosts + fakenews + gambling + porn + socialReadmelink167,013link
fakenews + gambling + porn + socialReadmelink89,362link

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

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

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

مصدر ملف Hostالصفحة الرئيسيةRaw hostsالترخيصالمشكلاتالوصف
Steven Black's ad-hoc listlinkrawMITissuesنطاقات مشبوهة إضافية عند مصادفتها.
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نطاقات مشبوهة و Referrers سيئة من مانعات البوتات السيئة و Referrer العشوائي الخاصة بـ Nginx و Apache
hostsVNlinkrawMITissuesHosts لحجب إعلانات الفيتنامية
KADhostslinkrawCC BY-SA 4.0issuesمواقع الاحتيال/البرمجيات الإعلانية/التصيّد.
minecraft-hostslinkrawCC0-1.0issueshosts المتتبعات المتعلقة بـ Minecraft
MVPS hosts filelinkrawCC BY-NC-SA 4.0issuesالغرض من هذا الموقع هو تزويد المستخدم بملف HOSTS مخصص عالي الجودة.
Dan Pollock – someonewhocareslinkrawnon-commercial with attributionissuesكيفية جعل الإنترنت غير مزعج (إلى حد كبير).
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 documentation.

الخيار 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: تواصل مع أحد مصادر المضيفين لدينا

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

الخيار 2: اعمل fork لهذا المستودع، وأضف نطاقاتك إلى ملف البيانات الشخصي لـ Steven Black، وقدّم pull request

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

ثم قدّم pull request.

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

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

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

ما هو ملف hosts؟

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

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

وجود ملف hosts ذكي يساهم بشكل كبير في حجب البرمجيات الخبيثة والبرامج الإعلانية والمهيجات الأخرى.

على سبيل المثال، لإبطال الطلبات إلى بعض خوادم doubleclick.net، فإن إضافة هذه الأسطر إلى ملف hosts الخاص بك ستفعل ذلك:```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`، وهو _عنوان الاسترجاع (loopback address)_،
لإنشاء اتصال 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)
في طبقة Gentoo ‏[::pf4public](https://github.com/PF4Public/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 على Windows

(ملاحظة: انظر أيضًا إلى بعض مديري Hosts من طرف ثالث، المذكورة أدناه.)

### لإصدارات Windows الأقدم

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

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

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

  • Windows XP: Start → Run → cmd
  • Windows Vista, 7: زر Start → اكتب cmd → انقر بزر الماوس الأيمن على Command Prompt → "Run as Administrator"
  • Windows 8: Start → Swipe Up → All Apps → Windows System → انقر بزر الماوس الأيمن على Command Prompt → "Run as Administrator"
  • Windows 10: زر Start → اكتب cmd → انقر بزر الماوس الأيمن على Command Prompt → "Run as Administrator"

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

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

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

لتشغيل السكربت اكتب:```Powershell .\updateHostsWindows.ps1

إلى أي سطر أوامر Windows متاح وللحصول على معلومات مفصلة اكتب:```Powershell
Get-Help .\updateHostsWindows.ps1 -Full

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


يمكنك أيضًا الرجوع إلى قسم "Third-Party Hosts Managers" للحصول على مزيد من الحلول الموصى بها من أطراف ثالثة.

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

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

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

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

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

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

Windows

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

### Linux

افتح Terminal وشغّل الأمر بصلاحيات الجذر:

- **Debian/Ubuntu** `sudo service network-manager restart`
- **Linux Mint** `sudo /etc/init.d/dns-clean start`
- **Linux with systemd**: `sudo systemctl restart network.service`
- **Fedora Linux**: `sudo systemctl restart NetworkManager.service`
- **Arch Linux/Manjaro with Network Manager**:
  `sudo systemctl restart NetworkManager.service`
- **Arch Linux/Manjaro with Wicd**: `sudo systemctl restart wicd.service`
- **RHEL/Centos**: `sudo /etc/init.d/network restart`
- **FreeBSD**: `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 Scripting for Configuration, Backup and Restore يساعد في تخصيص macOS وإعادة تثبيته واستخدامه. كما يوفر سكربتًا لتثبيت وتحديث ملف hosts باستخدام هذا المشروع على macOS. بالاقتران مع launchd يقوم بتحديث ملف hosts كل x يوم (الافتراضي هو 4). لتثبيت كليهما، نزّل مستودع GitHub وشغّل سكربت التثبيت من الدليل الأعلى بمستوى واحد.
  • Pi-hole هو خادم DHCP على مستوى الشبكة وحاجب إعلانات يعمل على Raspberry Pi. يستخدم Pi-hole هذا المستودع كأحد مصادره.
  • Block ads and malware via local BIND9 DNS server (لـ Debian وRaspbian وUbuntu): أنشئ خادم DNS محليًا بملف /etc/bind/named.conf.blocked، مأخوذ من هنا.
  • Block ads, malware, and deploy parental controls via local DualServer DNS/DHCP server (لـ BSD وWindows وLinux): أنشئ قائمة حظر لكل من على شبكتك باستخدام قوة ملف hosts الموحّد المعاد تنسيقه لـ DualServer. وإذا كنت على Windows، يحتفظ هذا المشروع أيضًا بسكربت تحديث لجعل تحديث قائمة حظر DualServer أسهل.
  • Blocking ads and malwares with unboundUnbound هو محلّل DNS يتحقق ويتكرر ويخزّن مؤقتًا.
  • dnsmasq conversion script يحتوي هذا الـ GitHub gist على سكربت shell قصير (bash، سيعمل على أي 'nix) و يستخدم wget وawk الموجودين في معظم التوزيعات، لجلب ملف hosts محدد وتحويله إلى الصيغة المطلوبة من dnsmasq. يدعم IPv4 وIPv6. مصمم للاستخدام إما كسكربت shell، أو يمكن وضعه في /etc/cron.weekly (أو حيثما يناسب). السكربت قصير وسهل التعديل، كما أن لديه مستند قصير مرفق مع ملاحظات حول إعداد dnsmasq.
  • BlackHosts - Command Line Installer/Updater هذه أداة سطر أوامر متعددة المنصات للمساعدة في تثبيت/تحديث ملفات hosts الموجودة في هذا المستودع.
  • Hosts Compression Scripts هذه سكربتات متنوعة للمساعدة في ضغط ملفات hosts (من إعداد مؤلف BlackHosts).
  • Hosts Compress - Windows هذه أداة سطر أوامر C++ لنظام Windows للمساعدة في ضغط ملفات hosts (من إعداد مؤلف BlackHosts وHosts Compression Scripts). يُوصى بها بشدة على السكربتات لأنها أسرع بشكل أسي.
  • dnscrypt-proxy يوفر أداة لبناء قوائم الحظر من قوائم محلية وبعيدة بصيغ شائعة.
  • Control D يوفّر مرآة عامة مستضافة على شبكة anycast لقائمة الحظر الموحّدة (Adware + Malware):
    • Legacy DNS: 76.76.2.35، 76.76.10.35، 2606:1a40::35، 2606:1a40:1::35
    • DNS-over-HTTPS/TLS/DOQ: https://freedns.controld.com/x-stevenblack، x-stevenblack.freedns.controld.com

المساهمة

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

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

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

الشعار من إعداد @Tobaloidee شكرًا لك!.

الفئات