هل تمنيت يومًا أن يكون لديك زر “تثبيت هذا القالب على موقعك” لكل شيء؟ لقد طوّرت موقعًا للقيام بذلك! يمكنك استخدامه على https://discourserouter.pyxfluff.dev.
عند زيارة الموقع لأول مرة، سيُطلب منك إضافة موقعك، لكنه سيتم تذكره في ملف تعريف ارتباط (cookie) بحيث يمكنك استخدام نفس الموقع في المستقبل. إنه استبدال مباشر للمسار، ولا يلزم وجود بادئة مسار. ما عليك سوى استبدال رابط منتداك بـ discourserouter.pyxfluff.dev!
يرجى ملاحظة أن هذا المنتج لا يزال جديدًا وقد تكون هناك مشاكل! يمكنك الإبلاغ عن جميع المشاكل والأفكار وغيرها من الملاحظات في هذا الموضوع هنا. لقد قمت بالاختبار بأفضل ما أستطيع، لكن لا يمكن أن تكون متأكدًا بنسبة 100٪ أبدًا.
الكود المصدري متاح على GitHub كمشروع Python (FastAPI)، والترقيات (PRs) مرحب بها دائمًا.
التكاليف التشغيلية
حاليًا، لا يكلف تشغيل هذا أي شيء لأنني أشغله على خادمي المنزلي، لذا لا توجد رسوم سحابية إضافية على رسوم النطاق البالغة 10 دولارات في السنة. ومع ذلك، أطمح في النهاية إلى توسيع نطاق هذا المنتج ليصبح له نطاق خاص به. لا أملك حاليًا رابط تبرع عام، ولكن إذا كنت ترغب في رعاية نطاق مناسب، فيرجى التواصل معي عبر الرسائل الخاصة وسنعمل على ترتيب شيء ما.
لقد تركت سجل تطوير بالخطأ؛ ومع ذلك، فقد تم تعطيله في بيئة الإنتاج اعتبارًا من هذا الالتزام. لا يمكنني فعل الكثير بشأن تسجيل Uvicorn لطلبات الوصول إلى نقطة النهاية (ولست متأكدًا من أن هذا أمر أرغب فيه أصلاً لأسباب أمنية)، لكن هدفي هو عدم تسجيل عناوين نقاط النهاية لأنني أؤمن بالخصوصية. وعلى أي حال، فإن سجلات الخادم موجودة في وحدة systemd ليس لدي نية لسحبها إلا إذا كان ذلك ضروريًا تمامًا لتتبع خطأ أو شيء مشابه.
الموقع الإلكتروني متصل أيضًا بحساب PA الخاص بي، لذا يمكنني معرفة عدد المستخدمين دون تحليلات غازية. الخلاصة هنا هي أنني لا أتتبع عنوان IP الخاص بك، أو عنوان الموقع، أو أي شيء تقريبًا. كل ما أستطيع رؤيته هو أن شخصًا ما زار الموقع وتم إعادة توجيهه. لا تتردد في إخباري إذا كان لديك أي مخاوف، لكن مسألة “تسجيل Uvicorn لطلبات إعادة التوجيه” هي مجرد عيب في التصميم ناتج عن الطريقة التي قررت بها بناء التطبيق (عبر ملفات تعريف الارتباط و Jinja2).
وبالطبع، إذا لم تثق بي لأي سبب من الأسباب، فيمكنك استضافته بنفسك (سأقوم بإعداد دليل غداً)، لكن يمكنك مراجعة الكود بنفسك، حيث يتم تشغيل الحاوية بشكل متماثل مع GitHub.
لا، عنوان موقع الويب موجود في ملف تعريف ارتباط (cookie) للمتصفح ولا يتم حفظه في سجلات الخادم.
أفضل ما يمكنني فعله هو نشر المصدر المنعكس، وإظهار السجلات، وشرح التقنيات التي يستخدمها الموقع بوضوح (كل ذلك على بنيتي التحتية الخاصة). إذا قررت عدم مراجعة هذه المعلومات أو لم تصدقني بعد، فلا يوجد الكثير الذي يمكنني فعله لك
مرحبًا بالجميع! لقد قمت بإعداد استبيان سريع لمساعدتي في تحديد الموارد التي سأخصصها لهذا المشروع (وقت الصيانة الشخصية، مادي، إلخ). بغض النظر عن رأيكم في المشروع في حالته الحالية، فإن ملء النموذج سيساعدني كثيرًا (هناك مكان لذكر ما لا يعجبكم فيه إذا أجبتوا بـ ‘لا’ على السؤال الأول). شكرًا لكم!
مرحبًا بالجميع، نظرًا لـ انخفاض الاستخدام، سأقوم بإيقاف النسخة المستضافة رسميًا بشكل استباقي. أفعل ذلك لأنه لا توجد أدلة على استخدامه في أي مكان (مؤكدة بانعدام عدد مرات الوصول في التحليلات هذا الأسبوع)، لذا لا أريد أن يصادف شخص ما هذه النسخة ويستخدمها، ثم يضطر لاحقًا إلى التعامل مع روابط معطلة.
كان هذا مجرد مشروع ممتع لنهاية الأسبوع، لذا لستُ منزعجًا كثيرًا، وسيبقى مستودع GitHub نشطًا، وسأقوم بإصلاح أي مشاكل حرجة إذا تم إبلاغي بها، لكن لا توجد تحديثات جديدة حاليًا. يستخدم تقريبًا مواردًا ضئيلة جدًا للتشغيل، لذا يمكن تشغيله على أي نظام يدعم بايثون الحديثة. يمكن إعادة توظيفه تقريبًا لأي غرض؛ لقد قمتُ بتسميته “discourse router” بالصدفة لأن هذا كان الغرض الأصلي.
ظننت أنني وعدت بكتابة ملف README في وقت سابق، لكن يبدو أنني لم أفعل ذلك. بغض النظر، لقد نشرت دليلًا بسيطًا حول كيفية الاستضافة الذاتية أو إعادة التوظيف! لا يزال المستودع موجودًا على GitHub، لكنني سألصقه أدناه في حال كنت لا ترغب في مغادرة هذه الصفحة لسبب ما.
التعليمات
الإعداد
تأكد من وجود بيئة افتراضية (venv) وإصدار Python 3.13 أو أحدث (تم اختباره فقط على الإصدار 3.14، لكن 3.13 لا ينبغي أن يواجه مشاكل؛ إذا واجهت أخطاء في التجميع، فقم ببساطة بتحديث Python):