V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qqqppp9998
V2EX  ›  Node.js

lock.js - 把 Node.js 项目打包成一个可执行文件

  •  1
     
  •   qqqppp9998 · 2016-08-30 07:57:37 +08:00 · 8133 次点击
    这是一个创建于 2998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址: https://github.com/DavidCai1993/lock.js

    特性:

    • 将 Node.js 项目打包成一个可执行文件,直接执行。
    • 可执行文件的编译生成基于密钥,可用于加密项目源代码。
    • 支持项目中的 C++ 拓展。
    • 支持大多数不需 fdfs read 方法。
    • 可执行文件中运行的 Node.js 版本为其生成当下最新的 Node.js 版本(编译时链接其动态库)。

    欢迎大家使用试玩,虽然感觉应该还有不少坑~也欢迎 star ~欢迎 PR ~

    18 条回复    2016-08-30 13:50:52 +08:00
    int64ago
        1
    int64ago  
       2016-08-30 08:19:27 +08:00
    npm install 后很多本来就可以直接执行,为什么需要打包?
    如果是桌面应用,都是自带打包的,如 electron-packager

    那么问题来了,这个轮子意义是?
    zhangbohun
        2
    zhangbohun  
       2016-08-30 08:29:47 +08:00 via Android
    @int64ago 加密?
    yimity
        3
    yimity  
       2016-08-30 08:43:12 +08:00
    如果是 electron 做出来的应用,能不能打包成一个独立的 exe 文件?
    isCyan
        4
    isCyan  
       2016-08-30 10:00:53 +08:00 via Android
    @int64ago 没装 node 呢
    qqqppp9998
        5
    qqqppp9998  
    OP
       2016-08-30 10:01:41 +08:00
    @int64ago 2 , 3 楼的回复都阔以回答~
    iwege
        6
    iwege  
       2016-08-30 11:20:46 +08:00
    node electron 都自带调试,所以加密的意义是?
    qqqppp9998
        7
    qqqppp9998  
    OP
       2016-08-30 11:38:14 +08:00
    @iwege 比如说可以是保密源代码
    loading
        8
    loading  
       2016-08-30 12:58:50 +08:00 via Android
    @qqqppp9998 js 最多就是混淆,要保密,换编译型的语言吧。
    qqqppp9998
        9
    qqqppp9998  
    OP
       2016-08-30 13:08:17 +08:00
    @loading 恩,若在一开选择的时候, JS 必须不是首选~
    zsx
        10
    zsx  
       2016-08-30 13:11:22 +08:00
    读了代码,这加密了和没加密有什么区别?我还不如创建一个自解压文件……
    qqqppp9998
        11
    qqqppp9998  
    OP
       2016-08-30 13:21:43 +08:00
    @zsx 二进制可执行文件如何看到源码...
    jucelin
        12
    jucelin  
       2016-08-30 13:23:32 +08:00
    有计划支持 windows 吗
    zsx
        13
    zsx  
       2016-08-30 13:27:12 +08:00
    @qqqppp9998 根据你这个文件格式直接做解析器就好了啊……无非解密变的麻烦了一点罢了……
    tinyproxy
        14
    tinyproxy  
       2016-08-30 13:28:26 +08:00
    @qqqppp9998 简单看了一下,错了请指正。感觉就是一个加密打包而已,对代码的保护好像病没有什么意义。。。我还以为是类似这样的东西 https://github.com/nwjs/nw.js/wiki/protect-javascript-source-code-with-v8-snapshot
    tinyproxy
        15
    tinyproxy  
       2016-08-30 13:29:57 +08:00
    @qqqppp9998 偷懒一点的方法,把你的程序跑起来,读内存。
    qqqppp9998
        16
    qqqppp9998  
    OP
       2016-08-30 13:30:59 +08:00
    @zsx 恩前提是有 key
    iwege
        17
    iwege  
       2016-08-30 13:44:22 +08:00
    @qqqppp9998 你部署执行的时候必须要有 key ,除非机器也是你控制的,否则的话要拿到 key 也容易。
    qqqppp9998
        18
    qqqppp9998  
    OP
       2016-08-30 13:50:52 +08:00
    @iwege 恩用 key 折中因为考虑要到对应平台上编译,挺头疼的~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5835 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:02 · PVG 11:02 · LAX 19:02 · JFK 22:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.