كيف تحمي وحدات Odoo قبل تسليمها للعملاء
وحدات Odoo المخصّصة سهلة النسخ متى صار المصدر في يد العميل. إليك كيف تسلّمها محميةً ومربوطةً بترخيص.
يعيش شركاء Odoo مشكلةً صعبة: لحظة تسليم العميل وحدةً مخصّصة، يصبح مصدر Python الخاصّ بها على خادمه نصًّا صريحًا. لا شيء يمنع نسخه إلى قاعدة بيانات أخرى أو شركة أخرى أو إعادة بيعه. يشرح هذا الدليل حماية وحدة قبل التسليم.
لماذا وحدات Odoo سهلة النسخ
يحمّل Odoo الوحدات من ملفات Python مقروءة. هذا رائع للتطوير، لكنه يعني أنّ كل نموذج وطريقة وقاعدة أعمال كتبتها موجودة في مجلد الإضافات ليقرأها أو ينسخها أو يعدّلها أيّ شخص لديه وصول للخادم. الإخفاء يساعد قليلًا، لكنّ المنطق يبقى قابلًا للاستعادة.
شفّر الـ Python، وأبقِ الملف التعريفي مقروءًا
يشفّر SitrTech ملفات .py لوحدتك بمعيار AES-256-GCM مع إبقاء __manifest__.py مقروءًا، ليكتشف Odoo الوحدة ويحمّلها. نماذجك وطرقك تعمل عاديًّا عبر مُحمِّل أصلي مُصرَّف؛ والأصول غير-Python — واجهات XML وملفات البيانات والملف التعريفي — تبقى سليمة.
# اضغط وحدتك ثم احمِها (مثال على واجهة الأوامر)
zip -r my_module.zip my_module/
sitr encrypt my_module.zip --bind-domain client.example.com --expiry 2027-12-31
رخّص كل تسليم
التشفير وحده يوقف القراءة؛ والترخيص يوقف التشغيل حيث لم تُصرّح. اربط كل بناء بجهاز العميل أو نطاقه أو نطاق IP أو تاريخ انتهاء أو مزيج منها. القواعد مشفَّرة داخل الملفات ويفرضها المُحمِّل وقت التشغيل، فنسخ المجلد إلى خادم أو قاعدة بيانات أخرى لن يجعله يعمل — وكلّه يُطبَّق دون اتصال.
- اربط وحدة بخادم عميل واحد (جهاز/نطاق).
- بِع الوحدة نفسها لعملاء كثيرين، كل بناء مربوط بترخيصه.
- اشحن تجربة محدّدة المدّة تنتهي تلقائيًّا.
- امنح كل عميل مفتاحًا مميّزًا بعزل المفاتيح لكل عميل.
اجعلها جزءًا من خط التسليم
يجب ألّا تبطئك الحماية. شفّر الوحدات كخطوة بناء من واجهة الأوامر أو REST API في GitHub Actions أو GitLab CI أو Docker، لتُسلَّم كل عملية محميةً دون مهمّة يدوية. يدعم SitrTech من Odoo 13 حتى أحدث الإصدارات، على النسختين المجتمعية والمؤسسية.
ابدأ مع SitrTech · اقرأ التوثيق أو تصفّح المزيد من المقالات.