DNSnitch
إخلاء مسؤولية
أستخدم هذا لنفسي، لكنه موجود هنا إن احتاجه أحد. لا تتردد في فتح issue إذا وجدت أخطاء!
جدار الحماية التفاعلي لنظام أسماء النطاقات (DNS) في الطرفية
DNSnitch هو خادم DNS محلي يضع الخصوصية أولاً ويمنحك تحكماً كاملاً في حركة مرور شبكتك. على عكس قوائم الحظر السلبية، يعمل DNSnitch وفق فلسفة "الرفض الافتراضي": كل نطاق غير معروف يتم حظره افتراضيًا حتى تقوم بالسماح له عبر لوحة تحكم تفاعلية في الطرفية في الوقت الفعلي.
الميزات الرئيسية
- الاعتراض في الوقت الفعلي: يعمل محليًا (على المنفذ 5353، قابل للتكوين) لالتقاط كل طلب DNS يغادر جهازك.
- سياسة الرفض الافتراضي: النطاقات غير المعروفة تُرجع
NXDOMAIN فورًا وتظهر في "قائمة الانتظار المعلّقة".
- نظام أذونات من 4 مستويات:
- دائم (PERMANENT): إدراج في القائمة البيضاء إلى الأبد.
- مؤقت (TEMPORARY): السماح لمدة 5 دقائق (تنتهي تلقائيًا، قابلة للتكوين).
- مرة واحدة (ONCE): السماح لطلب DNS واحد بالضبط (ممتاز لبوابات الأسير أو تسجيلات الدخول لمرة واحدة).
- حظر (BLOCK): حظر نطاق صراحةً بحيث لا يطلب الإذن مجددًا أبدًا.
- سير عمل مرحلي: يتم "ترحيل" التغييرات في مساحة عمل ولا تصبح فعّالة إلا عند تنفيذ
Apply.
- تسجيل الحركة: بدّل الأوضاع للسماح بحركة المرور مع تسجيل النطاقات الفريدة في قائمة السجل.
- إعادة توجيه DNS: اربط النطاقات بعناوين IP محددة (للتطوير المحلي) أو بنطاقات أخرى (CNAME) فورًا.
- لوحة تحكم TUI مباشرة: واجهة متعددة التبويبات وبدون ماوس مبنية باستخدام Ncurses.
- Console: سجل الأوامر وملاحظات ملونة.
- Monitor: عرض مباشر للقواعد النشطة في 4 أعمدة.
- Queue: قائمة تفاعلية بالطلبات المحجوبة.
- Logs: تمرير مباشر لاستعلامات DNS الخام.
- Redirections: معاينة عمليات إعادة التوجيه المفروضة حاليًا.
- Records: عرض طلبات أسماء النطاقات المسجلة.
الواجهة
تنقّل في لوحة التحكم باستخدام مفاتيح F:
- [F1] CONSOLE: مركز الأوامر الرئيسي. اكتب الأوامر هنا. مرّر في السجل باستخدام
PgUp/PgDn.
- [F2] MONITOR: نظرة عامة مباشرة على قواعدك.
- التحكم: استخدم سهمي
Left/Right لتمييز عمود (Temp, Once, Perm, Blocked)، وUp/Down للتمرير داخل ذلك العمود تحديدًا.
- [F3] QUEUE: "صندوق الوارد" للنطاقات المحجوبة.
- العروض البصرية:
> تشير إلى التحديد، * تشير إلى التغييرات المرحّلة.
- [F4] LOGS: تدفق خام لكل طلب عالجه المحرك.
- [F5] REDIRECTS: إدارة سجلات A/CNAME المخصصة.
- [F6] RECORDS: عرض النطاقات التي تم التقاطها أثناء "وضع التسجيل".
مرجع الأوامر
DNSnitch مدعوم بلوحة المفاتيح. فيما يلي القائمة الكاملة للأوامر المتاحة في وحدة التحكم [F1].
إدارة التحديد وقائمة الانتظار
قبل تنفيذ أي إجراء، يجب تحديد الأهداف. يمكنك تحديد الطلبات المعلّقة حسب المعرّف أو النطاقات اليدوية بالاسم.
الإجراءات (الترحيل)
بمجرد تحديد النطاقات، استخدم هذه الاختصارات لتعيين حالتها.
سير العمل (تطبيق التغييرات)
لا تصبح التغييرات فعّالة حتى يتم تطبيقها.
الأوضاع والتسجيل
غيّر كيفية تصرف جدار الحماية عالميًا.
إعادة التوجيه
اربط النطاقات بأهداف مخصصة (انتحال DNS محلي).
النظام
سيناريوهات الاستخدام
1. سير العمل القياسي (إلغاء حظر موقع)
- حاول زيارة
example.com. سيفشل الاتصال.
- اضغط F3 (قائمة الانتظار). سترى
1. example.com.
- اكتب
s 1. (سيتم تمييز الصف).
- اكتب
p. (سيظهر الصف [PERM]).
- اكتب
a. (تطبيق).
- حدّث المتصفح. سيعمل الموقع.
2. تعديل قاعدة (تصحيح خطأ حظر)
- قمت بحظر
google.com عن طريق الخطأ.
- اكتب
s google.com.
- اكتب
rm (إزالة) أو p (سماح دائم) لاستبدال الحظر.
- اكتب
a.
3. التطوير المحلي
- تبني موقعًا وتريد الوصول إليه عبر
mysite.local.
- اضغط F5.
- اكتب
r mysite.local 127.0.0.1.
- سيحل نظامك الآن اسم النطاق هذا إلى localhost.
4. تدقيق تطبيق (وضع التسجيل)
- قمت بتثبيت تطبيق جديد وتريد معرفة الموارد التي يتصل بها دون كسره.
- اكتب
m rec (الوضع: تسجيل).
- استخدم التطبيق لمدة 5 دقائق.
- اضغط F6.
- راجع القائمة.
- اكتب
m dft للعودة إلى الوضع الآمن.