أوقف Discourse عن تسريب عنوان IP المضيف الخاص به عند تحميل الروابط/الموارد مسبقًا

أشير إلى هذا المنشور هنا: Discourse Link previews through a proxy server?

أولاً وقبل كل شيء، أنا آسف لإحياء هذا المنشور الذي يعود تاريخه إلى ما يقرب من 10 سنوات، ولكن لا أستطيع أن أصدق حقًا أن هذا لا يزعج أي شخص آخر؟

لقد تمكنت الآن من إخفاء خادم الاستضافة الخاص بي وعنوان IP الخاص به خلف Cloudflare، وبعد ساعات من البحث، تمكنت من السماح فقط بحركة مرور الشبكة الواردة من Cloudflare حتى لا يتمكن ماسحات المنافذ من اكتشاف المنتدى عن طريق الخطأ تحت عنوان IP. الأمان مهم جدًا بالنسبة لي. خادم البريد خارجي، وكل شيء تقريبًا محمي - ولكن من المضحك أن شخصًا ما يحتاج فقط إلى إدراج صورة طُعم في المنشور ويقوم Discourse بتنزيلها مباشرة لتضمينها أو شيء من هذا القبيل. لم أتمكن من العثور على أي شيء يعطل هذا في أي مكان. حتى هذه المعاينات (oneboxes)، التي من المفترض أن تكون المعاينات - حتى تعيينها على 0 لا يفعل شيئًا - تم تضمين بكسل تسجيل IP على الفور ويمكن أن يكشف عنوان IP للمستضيف للمهاجمين - لذا فإن حماية Cloudflare عديمة الفائدة تمامًا في هذه الحالة. إما أن تحمي خدماتك بشكل صحيح أو لا تحميها على الإطلاق - ما فائدة Cloudflare بالنسبة لنا إذا لم يستغرق المهاجم 5 دقائق للتسجيل، ونشر صورة، وبالتالي معرفة عنوان IP الحقيقي للمضيف؟

لقد كنت أحاول لساعات اليوم باستخدام الذكاء الاصطناعي (AI) و Tor و torsocks - ولكن لم ينجح الأمر أبدًا. عادةً ما يتعطل إعادة البناء بمجرد أن أجرؤ على تغيير أي شيء في إعدادات البيئة. إذا تمكن شخص ما من القيام بذلك بطريقة ما، فأنا أتوسل إليه تقريبًا أن يشاركها معنا. في معظم الأوقات، تفشل عملية إعادة البناء لأن الوصول إلى Github لا يعمل، حيث من المحتمل أن يمنع Github حركة مرور Tor.

وكل هذا لم يكن ضروريًا إذا كان بإمكانك ببساطة تعطيل Discourse عن تحميل الروابط مسبقًا.

أنا يائس حقًا.

هل قد يساعد هذا؟

لم يتم بناؤه لهذا الغرض بالتحديد (كان الهدف الرئيسي هو تحسين الموثوقية) ولكنه قد يكون جزءًا من الحل.

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

شكرًا لك! لقد أضفت الإضافة الخاصة بك وأعدت بناء ديڤورس - بعد ذلك اعتقدت أنه إذا قمت بتحديد المربعين الأولين، فسيجبر ذلك على استخدام وكيل - لا يهم إذا تم إعداد وكيل أم لا - ولكنه لا يهم إذا وضعت معلومات الوكيل أو إذا كانت القيم فارغة وتم تفعيل المربعين فقط - فإنه لا يزال يقوم بتحميل بكسل التتبع باستخدام عنوان IP الخاص بـ VPS :confused:

سأحاول الآن تكوين دوكر بالكامل أو صورة ديڤورس فقط لاستخدام الوكيل، ربما سيعمل هذا مع مزود وكيل عادي ولن يفشل في إعادة البناء كما حدث مع تور

إعجابَين (2)

يا للأسف. لا يزال مسار الإضافة هو الطريقة الصحيحة، بغض النظر عن الحل، لأنه يجعل الصيانة أسهل بكثير.

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

يمكنك ببساطة إعداد شيء مثل Tinyproxy على مضيف منفصل وتهيئة متغيرات البيئة لاستخدامه. تأكد من تعطيل إعادة توجيه رأس IP على Tinyproxy وقد يكون من المفيد استبعاد Github لتسهيل تثبيت الثيمات أيضًا.

يجب عليك استخدام آلية كهذه عندما يعمل Discourse، وليس عندما يتم بناؤه.

إعجابَين (2)

شكرًا جزيلاً لكما على اقتراحاتكما وأفكاركما!

سأترك هذا الأمر الآن؛ لقد كنت أعمل عليه لفترة طويلة جدًا. اعتقدت أنه لن يكون بهذه الصعوبة، ولكنني الآن تائه قليلاً مع كل مواضيع الوكيل مثل SOCKS و SOCKS5. افترضت أنه سيكون بسيطًا مثل إضافة بضعة معلمات أو تكوينات إلى قسم البيئة (env) في ملف app.yml، ولكن يبدو أنني سأحتاج إلى استثمار المزيد من الساعات في حل مخصص. لأنني بشكل عام أواجه صعوبة في الحصول على اتصال عبر الوكيل الصادر إلى مواقع مثل https://check.torproject.org/api/ip باستخدام curl. لذلك أعتقد أنني سأحتاج إلى التعمق أكثر في موضوع الوكيل (proxying).

كان سيكون من الجيد لو تمكنت من إخفاء عنوان IP للمضيف بكل الطرق التي أعرف أنها يمكن أن تتسرب بها، ولكن أعتقد أن هذا هو الثمن لاستخدام منصة منتديات قوية مثل Discourse. تحتوي Discourse على الكثير من خيارات التكوين؛ هل سيكون من الممكن طلب ميزة تمنعها من التحميل المسبق للروابط والمعاينات أو، بشكل عام، من جلب الموارد الخارجية التي يقدمها المستخدمون؟ لم أتمكن من العثور على منتدى لطلبات الميزات هنا :frowning:

نعم، ولكني أرغب في أن يستمر تكوين الوكيل (proxy) بعد تحديث أو إعادة بناء Discourse. يمكن أن يكون العمل مع Docker صعبًا بعض الشيء.