سؤال

أنا أتساءل إذا كان من الممكن توزيع RoR التطبيق للاستخدام الإنتاج دون شفرة المصدر ؟ رأيت هذا المنصب على ذلك, لكن الوضع مختلف قليلا.سيكون هذا التطبيق تدار من قبل الناس مع بعض فكرة حتى انا موافقه لا تزال تتطلب أباتشي/هجين/MySQL الإعداد في نهاية العملاء.كل ما أريده هو المصدر أن تكون محمية.ترميز يبدو وسيلة شعبية لتوزيع PHP التطبيقات (على سبيل المثال: Helpspot).

لقد وجدت هذه الحلول المحتملة:

  • Zenobfuscate - ليس كل أنواع روبي البرمجية معتمد ومع ذلك ، حتى أن التهم التي بها
  • روبي التشفير - قد يكون الخيار الأفضل ، PHP التشفير يبدو على ما يرام (لم اجربه ولكن) ولكنها ليست متاحة بعد.لقد استعملت يونكوبي PHP قبل وانها عملت بشكل جيد, ولكن لا يبدو أن يونكوبي مهتمة حتى الآن.
  • مقلاع - ذكر في الآخر بعد ذلك ، ولكنه يحل مشكلة مختلفة لإزالة الألغام و المصدر لا تزال مرئية.
  • RubyScript2Exe - من المعروف أنه لا إنتاج جاهزة ، بحيث بحساب ذلك.

لقد سمعت ذلك من احتمال استخدام JRuby وتوزيع بايت كود قد يكون وسيلة لتحقيق هذا, ولكن أنا لم تستخدم JRuby لذلك أنا لست متأكدا ما تشارك.

هل يستطيع أحد أن يقدم أي أفكار و/أو معروف الأمثلة ؟ من الناحية المثالية أحب أن يكون نوعا من الآلية بناء السيناريو.

هل كانت مفيدة؟

المحلول

الخيار الأفضل الآن هو استخدام JRuby.قليلا من الخلفية:شركتي (BitRock) يعمل مع العديد من الملكية التجارية مفتوحة المصدر البائعين.نحن مساعدتهم على حزمة برنامج الملقم الذي يتم عادة على أساس PHP, Java أو روبي مع ملقم ويب أو ملقم التطبيق (Apache Tomcat) ، لغة وقت التشغيل وقاعدة بيانات (عادة بوستجرس, MySQL) إلى بذاتها ، وسهلة الاستخدام المثبت.لدينا عدد كبير من PHP القائمة على العملاء (بما في ذلك HelpSpot ، والتي تذكر) ولكن أيضا العديد من القضبان على أساس منها.في حالة RoR العملاء القاعدة هو استخدام JRuby جنبا إلى جنب مع القط أو Glassfish على الرغم من أن في بعض الحالات نحن أيضا حزمة الأصلي روبي مترجم محددة تشغيل البرامج النصية التي تعتمد على المكتبات لم استدار إلى JRuby (عادة ما تكون غير الأساسية إلى التطبيق).JRuby قد نضجت بسرعة و في كثير من الحالات فإنه في الواقع يعمل الكود بشكل أسرع من العادي روبي.سوف تحتاج إلى النظر أيضا أنه على الرغم من ترقية الخاص بك رمز JRuby واضحة إلى حد ما, سوف تحتاج إلى استثمار بعض الوقت على ذلك.قد ترغب في التحقق JRuby المكدس الذي هو حر المثبت كل ما تحتاجه للبدء.حظا سعيدا!

نصائح أخرى

إذا كنت الافراج عن مصدر غموض أو غير ذلك ، التطبيق الخاص بك سوف يكون المقرصنة.انظر ، على سبيل المثال ، النعناع.ذلك يعتمد على ما كنت المبنى ، ولكن قد تجد أن كنت أفضل حالا الإفراج عن التطبيق كما هجين من نوع:استضافت التطبيق مع مجموعة محددة جيدا API ، وهو المكون الذي يعمل على العميل الخادم.طالما أن القيمة الحقيقية للمنتج الخاص بك يعيش على جانب الملقم, لا تحتاج إلى تشويش الكود الخاص بك و يمكنك فقط تحرير التعليمات البرمجية المصدر معدلة.بالإضافة إلى ذلك, هذا يمكن أيضا تعطيك الفرصة للوصول إلى عملاء تشغيل, يقول, PHP بدلا من روبي.انظر ، على سبيل المثال ، Google Analytics, هوبتواد, الكشفية, إلخ, إلخ.

يمكنك لكنها لن تفعل أي شيء لمنع شخص من الهندسة العكسية أو تعديله.أتذكر كان هناك مقال عن محاولات مماثلة إلى obfusticate Perl و كيف أنها يمكن أن تكون فعالة تجاوز من قبل المصحح و 5 دقائق من الجهد.

إذا كنت لا تستطيع الانتظار لتسليم RubyEncoder ، ثم أعتقد ZenObfuscate الواعدة.على الرغم من أنه قد تتطلب بعض التعديلات على التعليمات البرمجية المصدر الخاصة بك ، يقولون هذا على موقعهم:

ZenObfuscate تكاليف 2500 دولار لموقع الترخيص أو بشكل فردي قابل للتفاوض الأخرى مخططات الترخيص.نعم, هذا هو الثمن.كان ذلك عن قصد.ولكن لا تدع ذلك إحباط لك الكثير. إذا كان المنتج الخاص بك هو رائع حقا و نحن نريد أن نرى ذلك النجاح, ونحن سوف تجعل من العمل. "رائع حقا" ليس الخلية الحرة.

بالطبع 2500 دولار (أو أكثر) ، كنت آمل في الحصول على بضعة تعديلات على المترجم أن يقوم برنامج الدعم الكامل لها.قد يكون من المفيد المشاركة في المحادثة.

يمكنك أيضا أن تأخذ نظرة على الاختلاط من ThoughtWorks استوديوهات وكمثال على استخدام JRuby هذا.انها روبي على القضبان التطبيق ، فإنها تشغيله باستخدام JRuby.لقد مخصصة jruby لتحميل المشفرة .rb الملفات.

نلقي نظرة على JumpBox.

لقد أجرى محادثات معهم حول هذا الموضوع, و يبدو أن لديهم الحل الذي سيتم العمل قريبا على القضبان التطبيقات.

أنا أتساءل إذا كنت يمكن أن مجرد "تجميع" روبي رمز قابل للتنفيذ استخدام شيء من هذا القبيل RubyScript2Exe ?

أن نكون صادقين أنا لم تستخدم لكنه يبدو أنه يمكن أن تكون ما تريد ، حتى لو كان مجرد حزم البرامج النصية مع المترجم في واحد قابل للتنفيذ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top