24

ソースコードなしで本番用に RoR アプリを配布することは可能でしょうか? SO でこの投稿を見たことがありますが、私の状況は少し異なります。これは手がかりのある人が管理するアプリになるので、顧客側で Apache/Mongrel/MySQL のセットアップが必要であることには問題ありません。私が本当に望んでいるのは、ソースが保護されることだけです。エンコーディングは、PHP アプリを配布するための一般的な方法のようです (例: Helpspot )。

これらの潜在的な解決策を見つけました:

  • Zenobfuscate - ただし、すべてのタイプの Ruby コードがサポートされているわけではないため、それはカウントされません。
  • Ruby エンコーダー- PHP エンコーダーは問題ないように見えるため (私はまだ試していません)、最適なオプションかもしれませんが、まだ利用できません。以前、PHPでIONcubeを使ったことがあり、うまくいきましたが、まだIONcubeに興味がないようです
  • Slingshot - 他の SO 投稿で言及されていましたが、別の問題を解決し、ソースがまだ表示されています。
  • RubyScript2Exe - doco からは、本番環境に対応していないため、カウントされません。

JRuby を使用してバイトコードを配布することで、これを実現できる可能性があると聞いたことがありますが、JRuby を使用したことがないので、何が関係しているのかわかりません。

誰でもアイデアや既知の例を提供できますか? 理想的には、ある種の自動化されたビルド シナリオも用意したいと考えています。

4

7 に答える 7

27

現時点で最善の選択肢は、JRuby を使用することです。少しの背景: 私の会社 ( BitRock) は、多くのプロプライエタリおよび商用のオープン ソース ベンダーと連携しています。通常、PHP、Java、または Ruby に基づくサーバー ソフトウェアを、Web サーバーまたはアプリケーション サーバー (Apache、Tomcat)、言語ランタイム、およびデータベース (通常は Postgres、MySQL) とともに自己完結型のパッケージにパッケージ化するのを支援します。使いやすいインストーラー。私たちはPHPベースの顧客を多数抱えています(あなたが言及したHelpSpotを含む)だけでなく、いくつかのRailsベースの顧客もいます。RoR のお客様の場合、JRuby を Tomcat または Glassfish と一緒に使用するのが標準ですが、場合によってはネイティブ Ruby インタープリターをバンドルして、JRuby にまだ移植されていないライブラリ (通常はアプリケーションのコアではない) に依存する特定のスクリプトを実行することもできます。 . JRuby は急速に成熟しており、多くの場合、実際に通常の Ruby よりも高速にコードを実行します。また、コードを JRuby に移植するのはかなり簡単ですが、それにはある程度の時間を費やす必要があることも考慮する必要があります。あなたはチェックしたいかもしれませんJRuby Stackは、開始するために必要なすべての無料インストーラーです。幸運を!

于 2009-04-25T10:42:52.490 に答える
8

難読化またはその他の方法でソースをリリースすると、アプリが海賊版になります。たとえば、Mintを参照してください。何を構築しているかにもよりますが、アプリをある種のハイブリッドとしてリリースした方がよい場合があります。明確に定義された API を備えたホストされたアプリと、顧客のサーバーで実行されるコンポーネントです。製品の真の価値がサーバー側にある限り、コードを難読化する必要はなく、ソース コードを変更せずにリリースするだけで済みます。さらに、これにより、たとえば Ruby ではなく PHP を実行しているクライアントにリーチする機会が得られる場合もあります。たとえば、Google アナリティクスHopToadScoutなどを参照してください。

于 2009-04-24T15:11:10.747 に答える
2

できますが、誰かがそれをリバース エンジニアリングしたり変更したりするのを防ぐことはできません。Perl を難読化する同様の試みと、それらをデバッガーと 5 分間の労力で効果的にバイパスする方法についての記事があったことを覚えています。

于 2008-09-19T04:12:12.153 に答える
2

RubyEncoder の配信が待ちきれないのであれば、ZenObfuscate が最も有望だと思います。ソースコードにいくつかの変更が必要になる場合がありますが、サイトでは次のように述べています。

ZenObfuscate のサイト ライセンスは 2500 ドルですが、他のライセンス スキームについては個別に交渉可能です。はい、それは高価です。それはわざとでした。しかし、それであなたを妨げすぎないようにしてください。あなたの製品が本当にクールで、私たちがそれを成功させたいのであれば、私たちはそれを機能させます. 「本当にかっこいい」はフリーセルではありません。

もちろん、$2500 (またはそれ以上) で、コードベースが完全にサポートされるように、コンパイラにいくつかの調整を加えたいと思うでしょう。彼らを会話に参加させる価値があるかもしれません。

于 2008-09-19T04:35:42.330 に答える
0

RubyScript2Exeのようなものを使用して、Ruby コードを実行可能ファイルに「コンパイル」することができるかどうか疑問に思っています。

正直なところ、私はそれを使用していませんが、インタープリターを使用してスクリプトを単一の実行可能ファイルにパッケージ化するだけでも、あなたが望むものになるようです。

于 2009-04-28T07:51:47.540 に答える
0

JumpBoxを見てください。

このトピックについて彼らと会話したところ、Rails アプリですぐに機能するソリューションがあるようです。

于 2008-09-19T08:13:37.377 に答える