
ublockdnsclient v0.3.0
عميل DNS عبر المنصات لنظام uBlockDNS مع حظر الإعلانات والمتعقبات على مستوى الجهاز وتحديثات الفلتر في الوقت الفعلي.
uBlockDNS Client
uBlockDNS Client هو مشروع مستقل وليس له أي انتماء أو تأييد أو علاقة بـ uBlock Origin أو المشرف عليه.
يجلب uBlockDNS Client حظر الإعلانات والمتعقبات على مستوى DNS لجهازك بالكامل. يستخدم قوائم تصفية يديرها المجتمع مثل EasyList وEasyPrivacy، ويتم تطبيقها على طبقة DNS بحيث تغطي التطبيقات والمتصفحات والخدمات الخلفية دون الحاجة إلى إضافات لكل متصفح.
الموقع الإلكتروني: ublockdns.com
صُمم uBlockDNS Client للبيئات المكتبية والخوادم حيث تريد نقطة تثبيت واحدة، وحماية على مستوى النظام، وتكويناً عن بُعد عبر لوحة تحكم uBlockDNS.
أبرز الميزات
- تصفية DNS على مستوى النظام للمتصفحات والتطبيقات وحركة المرور الخلفية
- اتصال DNS مشفر عبر 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 على سكريبت التثبيت المستضاف.
أثناء التثبيت، قد يُطلب منك كلمة مرور مدير النظام (Administrator) لنظام 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 عبر HTTPS مباشرة ولا تحتاج إلى هذا العميل.
### البنى المدعومة
linux/amd64, linux/arm64, linux/armv7, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64, freebsd/amd64
## الاستخدام
ublockdns install -profile تثبيت كخدمة نظام ublockdns uninstall إزالة الخدمة واستعادة DNS ublockdns start بدء الخدمة ublockdns stop إيقاف الخدمة ublockdns status عرض حالة الخدمة وتفاصيل الجاهزية ublockdns status -json عرض حالة قابلة للقراءة آلياً مع ready_code و probe_error ublockdns wait-ready -timeout 45s الانتظار حتى تصبح الخدمة و DNS نشطين ublockdns wait-ready -timeout 45s -json إصدار حالة الجاهزية القابلة للقراءة آلياً للأتمتة ublockdns upgrade التحديث إلى أحدث إصدار وإعادة تشغيل الخدمة ublockdns version طباعة الإصدار
قم بإدارة قوائم التصفية والقواعد المخصصة وسجل الاستعلام من [لوحة التحكم](https://ublockdns.com). واجهة سطر الأوامر محدودة عمداً: قم بتثبيت الخدمة المحلية، وتحقق من سلامتها، ودع لوحة التحكم تتعامل مع تغييرات السياسة.
## كيف يعمل
يقوم العميل بتشغيل وكيل DNS محلي على `127.0.0.1:53` ويقوم بإعادة توجيه جميع الاستعلامات إلى خدمة uBlockDNS عبر اتصال DNS مشفر عبر HTTPS. تقوم الخدمة بتقييم كل استعلام مقابل قوائم التصفية والقواعد المخصصة المفعلة لملفك الشخصي، ثم تعيد إما إجابة DNS العادية أو استجابة حظر.
عند تحديث قوائم التصفية أو القواعد المخصصة في لوحة التحكم، يتلقى العميل تلك التغييرات في الوقت الفعلي ويقوم بمسح ذاكرة التخزين المؤقت المحلية لـ DNS تلقائياً بحيث تسري القرارات الجديدة بسرعة.
## البناء من المصدر
يتطلب Go 1.25 أو أحدث.
```sh
go build -o ublockdns .
sudo ./ublockdns install -profile <profile-id>
الملاحظات والمشكلات
وجدت خطأ أو لديك اقتراح؟ افتح مشكلة.
بالنسبة لمشكلات الحظر (إعلانات تتسرب أو موقع محظور خطأً)، تحقق أولاً من قوائم التصفية المفعلة في لوحة التحكم. يستخدم uBlockDNS قوائم يديرها المجتمع ولا يتحكم في محتوياتها.
الأمان
أبلغ عن الثغرات الأمنية بشكل خاص عبر نصائح أمان GitHub. لا تفتح مشكلات عامة للمشكلات الأمنية.
للحصول على تفاصيل نموذج الثقة وشفافية التطوير وحالة التدقيق الحالية، راجع SECURITY.md.
الترخيص
MIT