質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

7773閲覧

【Electron】リリースコンパイルで、ソースをパッケージ化(?)したい

nnahito

総合スコア2004

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2015/12/11 05:58

行いたいこと

Electronでソフトを配布可能な形式にコンパイルした時、自分が書いたコードが丸見えになってしまうのを防ぎたい。
イメージ説明

理由

通常のソフトなら大丈夫ですが、ソフト名からお察しの通りTwitterクライアントですので、
コンシューマーキーなどが丸見えになってしまいます。
それは流石にまずいのでなんとかしたいです。

なお、コンパイルの方法は30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまでを参考にさせていただいております。

ご存知の方がいらっしゃいましたら、ご教授願います。
できれば「不可能」でも、その趣旨を教えていただきたいです。
よろしくお願いいたします。

あと、teratail運営さんは一刻も早く改行のMarkdownの改善をお願いします。(切実

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

(これが(Github Flavoredでなく)本来のMarkdownなので、原理主義派の人には嬉しいのかと…w)

オフィシャルでは以下のような議論がありますね。「本質的には不可能」というのが回答になるかと。

さほど本格的でなくて良いのであれば、上記議論の中で出てきているnw.js(かEncloseJS)がお手軽なように見えます。

投稿2015/12/11 08:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

asarオプションを指定するのはどうでしょうか?

electron-packager ./sample sample --platform=darwin,win32 --arch=x64 --version=0.30.0 --asar

投稿2015/12/11 07:52

takamujp

総合スコア66

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2015/12/11 08:22

ご回答有り難うございます. 実行してみたところ,見事ソースが隠れました! ところで,こういった引数系の情報は何処に載っているのでしょうか…? また,Electronのコンパイルのバージョン指定(--version=0.30.0)のバージョンは,何処で最新版を探せばよいのでしょうか…? こちらも合わせてご教授いただければ幸いです. よろしくお願いいたします.
eripong

2015/12/20 23:29

asarでアーカイブしても、asarコマンドで元に戻せてしまうと思います。 https://www.npmjs.com/package/asar yukihaneさんが挙げている、 https://github.com/atom/electron/issues/2570 にも、asarでアーカイブしてもソースコードを見ることは容易だ、 というような以下のコメントがあります。 > No, it is very easy to get your source code even when you packaged them in asar archive, the V8 JavaScript engine is never designed to hide source code.
nnahito

2015/12/21 05:51

コメントありがとうございます 戻せてしまうのですね…… どうしたら隠せるかの代案などございますでしょうか?
eripong

2015/12/21 09:56

yukihaneさんの回答通り、確実に隠す方法はなさそうです。 では、一般的にどうしているかというと、難しいようですね。 http://vividcode.hatenablog.com/entry/twitter-oauth-vulnerability に以下のような記述があります。 > OAuth のクライアント側は client credentials が絶対に漏れないように > 注意すべきなのか、漏れた場合はクライアント側の責任であるのか、 > ということになるが、実際のところ client credentials が漏れないように > するのは困難である。 実際、RFC 5849 にも以下のように書かれている。 (client credentialsはコンシューマーキーのことです。) 以下のように大した暗号化もされずに クライアントの媒体に含まれている場合もあるようです。 http://blog.livedoor.jp/blackwingcat/archives/1760823.html
nnahito

2015/12/21 15:18

コメントありがとうございます。 記事の方拝見させていただきましたが、なかなかに興味深いですね。 となると暗号化が必要ですが、私は暗号化について一切詳しくありません。 とりあえず、なにかいい暗号化方法などあればご教授願えますでしょうか?
guest

0

http://qiita.com/takumi918/items/acf35685f5d68653c030
この方法を使えばより確実にソースを隠せます。

投稿2017/01/21 06:30

trinitrotoluene

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問