AbuseBox
اعرف أن خادم البريد لديك مُدرج في القوائم السوداء قبل أن يعرف مستخدموك ذلك.
مراقبة ذاتية الاستضافة لعناوين IP والنطاقات التي تديرها: 24 قائمة سوداء DNS، وانتهاء صلاحية SSL والنطاق، وSPF/DKIM/DMARC ووقت التشغيل، مع تنبيه عند حدوث أي تغيير.
الموقع الإلكتروني | البدء السريع | سجل التغييرات


البدء السريع
git clone https://github.com/bekkaze/abusebox.git && cd abusebox
docker compose up -d
افتح http://localhost:3000 وسجّل الدخول باسم admin باستخدام كلمة المرور من docker compose exec backend cat /app/data/initial_admin_password، ثم غيّرها في الإعدادات. المزيد من الخيارات تحت التثبيت.
لماذا AbuseBox
- نتائج يمكنك الوثوق بها. قبل الوثوق بأي قائمة حظر، يتحقق منها AbuseBox مقابل عناوين الاختبار الخاصة بها (RFC 5782). القائمة التي ترفض خادم الاستدعاء الخاص بك تُظهر لا إجابة، وليس "نظيفًا" زائفًا. جرّب ذلك: عبر Google DNS، تقول Spamhaus "غير مُدرج" لكل شيء.
- كل إدراج مُفسَّر. Spamhaus SBL (مصدر بريد مزعج) وPBL (نطاق مستخدم نهائي) ليسا المشكلة نفسها. يأتي كل إدراج مع معناه ودرجة خطورته، لتعرف ما يجب إصلاحه أولًا.
- صحة خادم البريد في مكان واحد. 24 قائمة حظر، وAbuseIPDB، وانتهاء صلاحية SSL والنطاق، وتقييمات SPF/DKIM/DMARC، وتقارير DMARC، ووقت التشغيل.
- مرتّبة حسب ما يهم فعلًا. يحصل كل أصل على درجة مخاطر من 100، مرجّحة حسب درجة الخطورة التي تفكّها رموز الإرجاع الخاصة بكل قائمة حظر، بحيث يتفوق إدراج حرج واحد على ثلاثة إدراجات شكلية. تُظهر الدرجة طريقة حسابها: كل عامل، وما ساهم به، ومن أصل كم.
- يخبرك بما تغيّر. فحوصات مجدولة، وسجل نشاط، وتنبيهات عبر البريد الإلكتروني أو Slack أو Discord أو webhook عند إدراج شيء أو إزالته من القائمة أو تعطّله أو قرب انتهاء صلاحيته.
- ملكك. مستضاف ذاتيًا، بترخيص MIT، بلا تتبّع، وبلا طبقة مدفوعة.
إذا وفّر عليك AbuseBox ارتدادًا لبريد، فإن نجمة تساعد مشغّلي البريد الآخرين على العثور عليه.
الميزات
المراقبة
- أضف عناوين IP والنطاقات كأصول (واحدًا تلو الآخر، أو قائمة تصل إلى 300، أو شبكة /24 كاملة) واختر الفحوصات التي تُجرى على كل منها
- إعادة فحص مجدولة على فاصل زمني عام أو لكل أصل، بالإضافة إلى زر "افحص الأصول المستحقة الآن"
- لوحة تحكم تفتح على ما يحتاج إلى إجراء، مرتّبة حسب درجة مخاطر من 0 إلى 100 مبنية من نتائج كل أصل نفسه
- درجة مخاطر لكل أصل مع تفصيل عواملها: قوائم الحظر، وإمكانية الوصول، والشهادة، والنطاق، ومصادقة البريد الإلكتروني، والسمعة
- سجل نشاط لكل تغيير، وسجل فحوصات مع ما تغيّر بين الفحوصات، ومخططات تاريخ قوائم الحظر
- تنبيهات عبر البريد الإلكتروني أو Slack أو Discord أو webhook للإدراجات الجديدة والإزالات والانقطاعات والتعافيات وتحذيرات انتهاء الصلاحية
الفحوصات
- قوائم الحظر: 24 قائمة حظر DNS، كل إدراج مفكوك بمعناه ودرجة خطورته، وكل قائمة مُتحقَّق منها مقابل عناوين الاختبار الخاصة بها
- AbuseIPDB: درجة ثقة الإساءة، والتقارير، ومزوّد خدمة الإنترنت، والبلد (مفتاح API مجاني)
- SSL: الصلاحية، والجهة المُصدرة، والانتهاء، والأسماء المشمولة، وما إذا كانت نسخة TLS والتشفير لا يزالان مقبولين
- WHOIS: المسجّل، والتواريخ، وخوادم الأسماء، وجهة اتصال الإساءة، عبر IPv6 أو IPv4
- DNS: سجلات A وAAAA وMX وTXT وCNAME وNS وSOA وPTR
- SPF / DKIM / DMARC: مُقيَّمة من A إلى F، مع محددات DKIM مخصصة، بالإضافة إلى تحليل تقارير DMARC المجمّعة. يُعالَج اسم المضيف الخاص بخادم البريد نفسه: يُقرأ SPF الخاص به حيث يُنشر، وتُعثر سياسة DMARC ومفتاح DKIM الذي يشمله على النطاق الذي ينتمي إليه
- حالة الخادم: تحليل DNS، والمنفذان 80 و443، وحالة HTTP، وزمن الاستجابة
- فحوصات جماعية وفحوصات الشبكات الفرعية: حتى 300 هدف دفعة واحدة، أو كل عنوان في شبكة /24
الاستخدام اليومي
- تتبّع الإزالة مع روابط إلى صفحة الإزالة الخاصة بكل قائمة حظر
- عرض جدولي أو بطاقات، مع البحث والتصفية والترتيب وتقسيم الصفحات كلها على الخادم، بحيث تكون الصفحة الأولى أعلى الترتيب الحقيقي مهما كان عدد أصولك
- مالك لكل أصل، قابل للبحث إلى جانب اسم المضيف والنوع والوصف
- إجراءات جماعية وتصدير CSV
- لوحة أوامر (Ctrl/Cmd + K)، وسمات فاتحة وداكنة، وتخطيط للجوال
- مستخدمون متعددون بأدوار إدارية، واحتفاظ اختياري بالسجل، وواجهة REST API مع توثيق Swagger
- صفحة فحص سريع عامة (محدودة المعدل) لا تحتاج إلى حساب؛ كل شيء آخر يتطلب تسجيل الدخول
التثبيت
Docker (موصى به)
git clone https://github.com/bekkaze/abusebox.git
cd abusebox
cp backend/.env.example .env # optional: alerts, API keys, admin account
docker compose up -d # pulls the prebuilt images (add --build to build from source)
افتح http://localhost:3000 وستكون جاهزًا للانطلاق.
أول تسجيل دخول: اسم المستخدم هو admin، ويولّد التشغيل الأول كلمة مرور عشوائية. اقرأها باستخدام docker compose exec backend cat /app/data/initial_admin_password؛ يذكر سجل الخادم اسم الملف لكنه لم يعد يطبع كلمة المرور نفسها، لذا فإن سجلًا تشاركه مع شخص ما لا يمنحه الحساب. غيّرها في الإعدادات فور تسجيل الدخول؛ إذ تُحذف النسخة المحفوظة عند قيامك بذلك. لاختيارها بنفسك، عيّن DEFAULT_ADMIN_PASSWORD في .env قبل التشغيل الأول. إذا لم يكن مسار البيانات قابلًا للكتابة فلن يُنشأ الحساب إطلاقًا، ويذكر السجل ذلك بدلًا من وضع كلمة المرور فيه.
تستجيب واجهة المستخدم على أي اسم مضيف، لذا يمكنك فتحها من جهاز آخر على الفور. ضعها خلف وكيل عكسي HTTPS خاص بك قبل تعريضها لشبكة لا تثق بها.
الإعداد اليدوي
انقر للتوسيع
المتطلبات الأساسية: Python 3.11+، Node.js 20.19+، Yarn
الخادم الخلفي:
cd backend
cp .env.example .env
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8100 --reload
يولّد التشغيل الأول كلمة مرور للمسؤول ويحفظها بجوار قاعدة البيانات، باسم initial_admin_password. يذكر هذا الطرف المسار الدقيق.
الواجهة الأمامية (طرف جديد):
cd frontend
cp .env.example .env
yarn install
yarn dev
افتح http://localhost:3000.
يضبط frontend/.env خادم التطوير: VITE_BASE_URL هو الخادم الخلفي الذي يوجّه إليه /api (الافتراضي http://localhost:8100)، وVITE_ALLOWED_HOSTS هو أسماء المضيفين التي يستجيب لها (الافتراضي localhost,127.0.0.1). لا تستخدم صورة Docker أيًّا منهما؛ فهي تقدّم واجهة المستخدم المبنية عبر nginx وتوجّه /api إلى BACKEND_URL.
Unraid
توجد القوالب الخاصة بـ Community Applications في Unraid في templates/unraid/. يعمل AbuseBox كحاويتين، لذا ثبّت كلتيهما: