ProxyTracer: مانع الشبكات الافتراضية الخاصة والوكلاء

:information_source: الملخص كشف وحظر حركة مرور شبكات VPN والوكلاء (Proxy) أثناء تسجيل المستخدمين، أو تسجيل الدخول، أو بشكل عام باستخدام واجهة برمجة تطبيقات ProxyTracer.
:hammer_and_wrench: رابط المستودع https://github.com/ProxyTracer/discourse-proxytracer
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

تستخدم هذه الإضافة واجهة برمجة تطبيقات ProxyTracer لكشف وحظر حركة مرور شبكات VPN والوكلاء (Proxy) في منصة Discourse.

الميزات

  • تمنحك تحكماً دقيقاً في حظر مستخدمي شبكات VPN والوكلاء (Proxy) أثناء تسجيل مستخدمين جدد، أو مصادقة مستخدمين حاليين، أو بشكل عام لجميع زوار الموقع. إذا كنت راضياً عن منح مستخدمي شبكات VPN والوكلاء (Proxy) حق الوصول للقراءة فقط في منتداك، فيمكنك توفير طلبات الـ API وتفعيل الحماية فقط أثناء التسجيل والمصادقة.
  • تستخدم التخزين المؤقت (Caching) لتخزين تقييمات عناوين IP الأخيرة، مما يقلل من الطلبات المرسلة إلى الـ API ويخفض زمن الاستجابة. يمكنك التحكم في المدة التي يتم فيها تذكر تقييم عنوان IP من خلال الإعدادات.
  • في حال حدوث انتهاء وقت استجابة (Timeout) من الـ API أو فشل في الشبكة، تعطي الإضافة الأولوية للوصول للمستخدمين لمنع حدوث حظر واسع النطاق. يمكن تغيير هذا السلوك عبر الخيارات المتاحة.
  • دعم مدمج لإدراج عناوين IP محددة ونطاقات CIDR في القائمة البيضاء (Whitelisting).

الإعداد

  1. احصل على مفتاح API قياسي من لوحة تحكم ProxyTracer.
  2. انتقل إلى لوحة إدارة Discourse: المسؤول → الإضافات → ProxyTracer للعثور على إعدادات ProxyTracer.
  3. أدخل مفتاح الـ API الخاص بك في حقل ProxyTracer API Key.
  4. فعّل معلمات الحماية عن طريق التبديل على Enabled during Signup (مفعل أثناء التسجيل)، و Enabled during Login (مفعل أثناء تسجيل الدخول)، و/أو Enabled for All Visitors (مفعل لجميع الزوار).
  5. أضف أي عناوين IP موثوقة أو نطاقات CIDR إلى قائمة Whitelisted IPs.
  6. (اختياري) اضبط حدود وقت استجابة الـ API ومدة التخزين المؤقت في Redis لتتناسب مع متطلبات حركة المرور الخاصة بخادمك.
  7. (اختياري) قم بتخصيص رسالة الحظر التي تظهر للمستخدمين المحظورين. على سبيل المثال، يمكنك إضافة تعليمات للتواصل مع إدارة الموقع في حال اعتقدوا أن الحظر غير مبرر وأنهم لا يصلون إلى الموقع عبر وكيل أو شبكة VPN.

الإعدادات

جدول يوضح الإعدادات ووصف كل منها

الاسم الوصف
API Timeout (ms) المدة الزمنية للانتظار قبل انتهاء وقت استجابة الـ API.
Cache Duration (hours) المدة الزمنية لتذكر عنوان IP قبل فحص الـ API مرة أخرى.
Fail Open on Error في حال تعطل الـ API أو انتهاء وقت استجابته، اسمح للمستخدم بالتسجيل أو تسجيل الدخول على أي حال لمنع حظر الجميع.
Enabled during Signup حظر الوكلاء وشبكات VPN عند محاولة مستخدم جديد التسجيل.
Enabled during Login حظر الوكلاء وشبكات VPN عند محاولة مستخدم حالي تسجيل الدخول.
Enabled for All Visitors حظر الوكلاء وشبكات VPN من الوصول إلى أي صفحة في المنتدى أو عرضها. (تحذير: هذا يفحص كل زائر ويستنزف حصتك من الـ API بشكل كبير).
Block Message رسالة الخطأ الدقيقة المعروضة للمستخدم عند حظره.
Whitelisted IPs عناوين IP أو نطاقات CIDR (مثل: 192.168.1.0/24) مسموح لها بتجاوز الحظر بشكل صارم.

إعداد الشبكة: Cloudflare والوكلاء العكسيين (Reverse Proxies)

:warning: لكي تعمل ProxyTracer بفعالية، يجب أن تتلقى تطبيق Discourse عنوان IP الحقيقي للعميل.

لضمان التوجيه الصحيح لعناوين IP، يمكنك اتباع هذه التعليمات المفصلة.

الوصول في حالات الطوارئ

إذا قمت بحظر نفسك، يمكنك استعادة الوصول باتباع هذه الخطوات البسيطة.


إذا كنت ترغب في تجربة النظام، فيمكنك التسجيل في ProxyTracer والحصول على بعض رصيد الـ API المجاني للاختبار.

3 إعجابات

هل تتجدد الرصيد في بداية كل شهر؟

أتساءل عن الرصيد المجاني أثناء التسجيل؟ إذا كان الأمر كذلك، فإنها تكون إضافة لمرة واحدة فقط.

ألا يؤدي هذا إلى إبطال الغرض الكامل من الإضافة؟ يمكن لأي شخص استخدام وضع الأمان.

إعجاب واحد (1)

هل يؤثر هذا أيضًا على مستخدمي شبكات VPN؟

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

بالنسبة لهذه الإضافة، أشك في أن الوضع الآمن يساعد. الوضع الآمن يعطل فقط الجزء الأمامي من الإضافات، وهذه الإضافة مكتوبة بالكامل بلغة Ruby. لذا لا أعتقد أن تعطيل تخصيصات JavaScript مفيد. هذه الحقيقة تجعلني متشككًا قليلاً تجاه الإضافة، تمامًا مثل حقيقة أنها تتضمن ملف about.json وكأنها مكون سمة. لكن في النهاية، كل شخص مسؤول عن الكود الذي يثبته في منتداه.

إعجاب واحد (1)