
ublockdnsclient v0.3.1
عميل DNS عبر المنصات لنظام uBlockDNS مع حظر الإعلانات والمتعقبات على مستوى الجهاز وتحديثات الفلتر في الوقت الفعلي.
عميل uBlockDNS
عميل uBlockDNS هو مشروع مستقل وليس تابعًا أو معتمدًا من أو مرتبطًا بـ uBlock Origin أو القائمين عليه.
يجلب عميل uBlockDNS حجب الإعلانات والمتتبعات على مستوى DNS لجهازك بالكامل. يستخدم قوائم تصفية تُصان بواسطة المجتمع مثل EasyList وEasyPrivacy، ويُطبَّق ذلك على طبقة DNS بحيث تشمل التغطية التطبيقات والمتصفحات والخدمات الخلفية دون الحاجة إلى إضافات لكل متصفح.
الموقع الإلكتروني: ublockdns.com
عميل uBlockDNS مخصص لبيئات سطح المكتب والخوادم حيث تريد نقطة تثبيت واحدة، وحماية على مستوى النظام، وتكوينًا عن بُعد عبر لوحة تحكم uBlockDNS.
أبرز المزايا
- تصفية DNS على مستوى النظام للمتصفحات والتطبيقات وحركة المرور الخلفية
- اتصال مشفّر باتجاه واحد عبر DNS-over-HTTPS بخدمة uBlockDNS
- تحديثات فورية لقوائم التصفية والقواعد المخصصة من لوحة التحكم
- نموذج خدمة محلي مع فحوصات الحالة وأوامر إدارة الخدمة
- دعم عبر المنصات لأنظمة macOS وLinux وWindows 10+ وFreeBSD
التثبيت
أنشئ حسابًا مجانيًا على ublockdns.com، ثم اتبع دليل الإعداد في لوحة التحكم. يغطي الدليل جميع المنصات المدعومة بأوامر نسخ-ولصق وتعليمات خطوة بخطوة.
تثبيت سريع لنظامي macOS وLinux:
curl -sSfL https://ublockdns.com/install.sh | sh -s -- <profile-id>
استخدم -L حتى يتبع curl عمليات إعادة توجيه Cloudflare على سكربت التثبيت المستضاف.
أثناء التثبيت، قد يُطلب منك كلمة مرور مسؤول Mac أو Linux لتحديث إعدادات DNS على النظام.
تحقق من المجموع الاختباري لسكربت المثبّت (Linux):
curl -sSfLO https://ublockdns.com/install.sh
curl -sSfLO https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS
grep " install.sh$" SCRIPT_SHA256SUMS | sha256sum -c -
sh install.sh <profile-id>
Windows 10 أو أحدث (PowerShell كمسؤول):
irm https://ublockdns.com/install?id=<profile-id> | iex
تستخدم لوحة التحكم هذا التدفق التمهيدي. يقوم بتنزيل المثبّت من /install-script، مما يتجنب مشكلات إعادة توجيه Cloudflare التي قد تكسر التنزيلات المباشرة من /install.ps1.
تتطلب مثبّتات وملفات Windows الثنائية المنشورة Windows 10 أو أحدث. لا يتم دعم Windows 7 وWindows 8 وWindows 8.1.
تحقق من المجموع الاختباري لسكربت المثبّت (PowerShell):
iwr https://ublockdns.com/install-script -OutFile install.ps1
iwr https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS -OutFile SCRIPT_SHA256SUMS
$expected = (Select-String -Path .\SCRIPT_SHA256SUMS -Pattern " install.ps1$").Line.Split()[0].ToLower()
$actual = (Get-FileHash .\install.ps1 -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $expected) { throw "install.ps1 checksum mismatch" }
powershell -ExecutionPolicy Bypass -File .\install.ps1 -ProfileId <profile-id>
يتوفر أيضًا مثبّت Windows بواجهة رسومية (.exe) على صفحة الإصدارات.
التحديث
تقوم الخدمة بتحديث نفسها يوميًا؛ يتم التحقق من الإصدارات مقابل مفتاح توقيع uBlockDNS قبل تطبيقها. اضبط UBLOCKDNS_NO_AUTOUPDATE=1 في بيئة الخدمة لإلغاء الاشتراك، أو حدّث يدويًا باستخدام sudo ublockdns upgrade.
تُطبَّق التحديثات التلقائية على macOS وWindows وLinux. على FreeBSD، لا يعيد rc.d تشغيل خدمة تنتهي، لذلك لا يقوم العميل بتحديث نفسه هناك؛ استخدم sudo ublockdns upgrade. يسجّل العميل الوضع الذي يعمل به عند بدء التشغيل.
الإصدارات الأقدم التي لا تحتوي على أمر upgrade: أعد تشغيل أمر التثبيت مرة واحدة وستتولى التحديثات التلقائية المهمة.
إلغاء التثبيت
macOS وLinux:
sudo ublockdns uninstall
Windows (PowerShell كمسؤول):
& "$env:ProgramFiles\uBlockDNS\ublockdns.exe" uninstall
الرمز & في البداية مطلوب. بدونه يعامل PowerShell المسار المقتبس كسلسلة نصية عادية ويبلغ عن Unexpected token 'uninstall'.
يوقف إلغاء التثبيت الخدمة ويستعيد إعدادات DNS السابقة. يبقى الملف الثنائي على القرص؛ احذفه يدويًا إذا لم تعد تريده. شغّل ublockdns status بعد ذلك للتأكد من أن DNS على النظام لم يعد يشير إلى 127.0.0.1.
منصات أخرى
يغطي دليل إعداد لوحة التحكم أيضًا Chrome وFirefox وiOS وAndroid وأجهزة التوجيه. تستخدم هذه DNS-over-HTTPS مباشرة ولا تتطلب هذا العميل.
البنى المدعومة
linux/amd64, linux/arm64, linux/armv7, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64, freebsd/amd64
الاستخدام
ublockdns install -profile <profile-id> Install as system service
ublockdns uninstall Remove service and restore DNS
ublockdns start Start the service
ublockdns stop Stop the service
ublockdns status Show service state and readiness details
ublockdns status -json Show machine-readable status with ready_code and probe_error
ublockdns wait-ready -timeout 45s Wait until service and DNS are active
ublockdns wait-ready -timeout 45s -json Emit machine-readable readiness state for automation
ublockdns upgrade Update to the latest release and restart the service
ublockdns version Print version
أدر قوائم التصفية والقواعد المخصصة وسجل الاستعلامات من لوحة التحكم. واجهة سطر الأوامر ضيقة عمدًا: ثبّت الخدمة المحلية، وتحقق من سلامتها، واترك لوحة التحكم تتعامل مع تغييرات السياسة.
كيف يعمل
يشغّل العميل وكيل DNS محليًا على 127.0.0.1:53 وعند توفر IPv6 على [::1]:53. يوجّه جميع الاستعلامات إلى خدمة uBlockDNS عبر اتصال DNS-over-HTTPS مشفّر. تقيّم الخدمة كل استعلام مقابل قوائم التصفية والقواعد المخصصة المفعّلة لملفك الشخصي، ثم تعيد إما إجابة DNS العادية أو استجابة حجب.
عند تحديث قوائم التصفية أو القواعد المخصصة في لوحة التحكم، يتلقى العميل تلك التغييرات في الوقت الفعلي ويمسح ذاكرة التخزين المؤقت لـ DNS محليًا تلقائيًا بحيث تسري القرارات الجديدة بسرعة.
البناء من المصدر
يتطلب Go 1.25 أو أحدث.
go build -o ublockdns .
sudo ./ublockdns install -profile <profile-id>
الملاحظات والمشكلات
وجدت خطأ أو لديك اقتراح؟ افتح مشكلة.
لمشاكل الحجب (إعلانات تتسرب أو موقع محجوب خطأً)، تحقق أولاً من قوائم التصفية المفعّلة في لوحة التحكم. يستخدم uBlockDNS قوائم تُصان بواسطة المجتمع ولا يتحكم في محتوياتها.
الأمان
أبلغ عن الثغرات الأمنية بشكل خاص عبر GitHub Security Advisories. لا تفتح مشكلات عامة للمشاكل الأمنية.
لتفاصيل نموذج الثقة وشفافية التطوير وحالة التدقيق الحالية، راجع SECURITY.md.
الترخيص
MIT