【问题标题】:Create closed source npm package创建闭源 npm 包
【发布时间】:2019-11-06 15:33:21
【问题描述】:

我想发布一个 NPM 包,但已关闭源代码。我很清楚private packages,但这不是我想要的。我想发布一个每个人都可以使用的包,但不是每个人都可以从中检查代码。

我想先将我的代码构建为闭源库,然后将其发布到 npm。我怎样才能做到这样的事情?

我首先查看了uglyfying 我的代码,但这是否足以混淆它?

pkg 那样打包它会非常好,但这不允许打包为 npm 模块。

【问题讨论】:

  • 你找到解决这个问题的方法了吗?
  • 不幸的是,我没有。我在 Github 上为一个用 typescript 编写的库创建了一个私有存储库,然后将代码转换为 javascript 并在 NPM 上发布。该软件包是公开的,但源代码不是(除非您对 javascript 源进行反编译,或者以某种方式努力阅读已编译的 javascript 本身)。

标签: node.js npm package obfuscation


【解决方案1】:

据我所知,没有真正的方法可以按照您想要的方式执行此操作。代码可以很容易地de-uglified

您可以用 C 等单独的语言编写代码,然后编译它并使用 native modules 围绕它编写一个 javascript 包装器。

您还可以在其上放置一个非常严格的许可证,当人们查看您的模块时,该许可证会显示在 npm 网站上。但是仍然可以查看代码,并且您可以追查任何违反您许可的人。

但由于 javascript 不是一种编译语言,目前还没有简单的方法来做到这一点。

【讨论】:

  • 如何使用pkg 打包我的代码,然后将生成的二进制文件打包为native module?这可能吗?
  • 我对原生模块还不够熟悉,但我对此表示怀疑。
  • 而且即使是编译过的,反编译也往往和去丑化一样简单。
猜你喜欢
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 2021-11-20
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 2020-12-23
相关资源
最近更新 更多