请教各位大神,nodejs如何加密源代码?
来自酷炫的 CNodeMD
Uglify From NeoReader
@nihgwu 混淆了等于没混淆,有没有更高端的?
@einsqing js是解释行语言呀,没有实际代码怎么执行。。。
可以用webpack 进行混淆,因为最近的一个项目用electron 写东西,boss想增加一点被破解的成本
source: var webpack = require(‘webpack’); var path = require(‘path’);
let config = { entry: { main: path.resolve(__dirname, ‘src/main.js’) }, output: { path: path.resolve(__dirname, “dist”), publicPath: ‘./dist/’, libraryTarget: ‘commonjs’, filename: ‘[name].js’ }, module: { loaders: [ { test: /.json$/, loader: ‘json’ }, {test: /.js?$/, loader: ‘babel’, exclude: /node_modules/}, { test: /.(png|jpe?g|gif|svg)(?.*)?$/, loader: ‘url?limit=1’ } ] }, vue: { loaders: {} }, babel: { presets: [‘es2015’], plugins: [‘transform-runtime’] }, plugins: [ new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, mangle: { except: [’$super’, ‘$’, ‘exports’, ‘require’] } }) ], watchOptions: { aggregateTimeout: 1000, poll: 2000 }, resolve: { alias: { reportConf: path.resolve(__dirname, ‘./src/config.js’) } }, externals: { “fs”: “fs”, “url”: “url”, “path”: “path”, “crypto”: “crypto”, “async”: “async”, “canvas”: “canvas”, “gm”: “gm”, “xlsx”: “xlsx”, “lodash”: “lodash”, “mkdirp”: “mkdirp”, “pdfkit”: “pdfkit”, “electron”: “electron”, “node-notifier”: “node-notifier”, “electron-json-storage”: “electron-json-storage” } };
if (process.env.NODE_ENV == ‘dev’) { config.resolve.alias.reportConf = path.resolve(__dirname, ‘./src/config.dev.js’); }
module.exports = config;
说明 : libraryTarget: ‘commonjs’, 打包方式 externals:{ … },排除引用到的node_module new webpack.optimize.UglifyJsPlugin 核心了
当然也可以用gulp ,grunt 等进行, 实现的效果就是,你的整个node_module 被压缩,混淆在一个min.js 里面了
@bqxu 你这是前端吧,我想要后端混淆
后端都放在服务器上的加密它干啥?如果别人都能看到你服务器上的代码了,说明你的服务器已经被攻破了。。。
@imhered 售卖啊
可以试一下 https://cnodejs.org/topic/57c4cc23a6539d6525575225
@einsqing 可以后端的 相信我,
libraryTarget: ‘commonjs’, 后台 打包方式
webpack 是一个 打包工具,和npm 一样,现在前后台都可以
有图有真相
@DavidCai1993 mark
@bqxu 这么6,koa开发的,不知道能不能使用webpack
@DavidCai1993 大神,有demo没?
@bqxu 测试无法压缩后端的,https://cnodejs.org/topic/57d28b01dd64a7dd387f3881。请教什么原因?
一般是用docker来部署,整个代码都在加密的镜像里
@klausgao 今天研究下docker,请教了
From KoaHub.js
@klausgao 已测试,镜像可以导出,解压之后可以看到源码,请问如何加密?
virtual box或者其他虚拟机更靠谱
@bqxu 请问使用webpack -p命令执行完后文件为什么大了很多? 自豪地采用 CNodeJS ionic
好像不行。。。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
Uglify From NeoReader
@nihgwu 混淆了等于没混淆,有没有更高端的?
来自酷炫的 CNodeMD
@einsqing js是解释行语言呀,没有实际代码怎么执行。。。
可以用webpack 进行混淆,因为最近的一个项目用electron 写东西,boss想增加一点被破解的成本
source: var webpack = require(‘webpack’); var path = require(‘path’);
let config = { entry: { main: path.resolve(__dirname, ‘src/main.js’) }, output: { path: path.resolve(__dirname, “dist”), publicPath: ‘./dist/’, libraryTarget: ‘commonjs’, filename: ‘[name].js’ }, module: { loaders: [ { test: /.json$/, loader: ‘json’ }, {test: /.js?$/, loader: ‘babel’, exclude: /node_modules/}, { test: /.(png|jpe?g|gif|svg)(?.*)?$/, loader: ‘url?limit=1’ } ] }, vue: { loaders: {} }, babel: { presets: [‘es2015’], plugins: [‘transform-runtime’] }, plugins: [ new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, mangle: { except: [’$super’, ‘$’, ‘exports’, ‘require’] } }) ], watchOptions: { aggregateTimeout: 1000, poll: 2000 }, resolve: { alias: { reportConf: path.resolve(__dirname, ‘./src/config.js’) } }, externals: { “fs”: “fs”, “url”: “url”, “path”: “path”, “crypto”: “crypto”, “async”: “async”, “canvas”: “canvas”, “gm”: “gm”, “xlsx”: “xlsx”, “lodash”: “lodash”, “mkdirp”: “mkdirp”, “pdfkit”: “pdfkit”, “electron”: “electron”, “node-notifier”: “node-notifier”, “electron-json-storage”: “electron-json-storage” } };
if (process.env.NODE_ENV == ‘dev’) { config.resolve.alias.reportConf = path.resolve(__dirname, ‘./src/config.dev.js’); }
module.exports = config;
说明 : libraryTarget: ‘commonjs’, 打包方式 externals:{ … },排除引用到的node_module new webpack.optimize.UglifyJsPlugin 核心了
当然也可以用gulp ,grunt 等进行, 实现的效果就是,你的整个node_module 被压缩,混淆在一个min.js 里面了
@bqxu 你这是前端吧,我想要后端混淆
来自酷炫的 CNodeMD
后端都放在服务器上的加密它干啥?如果别人都能看到你服务器上的代码了,说明你的服务器已经被攻破了。。。
@imhered 售卖啊
来自酷炫的 CNodeMD
可以试一下 https://cnodejs.org/topic/57c4cc23a6539d6525575225
@einsqing 可以后端的 相信我,
libraryTarget: ‘commonjs’, 后台 打包方式
webpack 是一个 打包工具,和npm 一样,现在前后台都可以
有图有真相
@DavidCai1993 mark
@bqxu 这么6,koa开发的,不知道能不能使用webpack
来自酷炫的 CNodeMD
@DavidCai1993 大神,有demo没?
来自酷炫的 CNodeMD
@bqxu 测试无法压缩后端的,https://cnodejs.org/topic/57d28b01dd64a7dd387f3881。请教什么原因?
一般是用docker来部署,整个代码都在加密的镜像里
@klausgao 今天研究下docker,请教了
From KoaHub.js
@klausgao 已测试,镜像可以导出,解压之后可以看到源码,请问如何加密?
virtual box或者其他虚拟机更靠谱
@bqxu 请问使用webpack -p命令执行完后文件为什么大了很多? 自豪地采用 CNodeJS ionic
好像不行。。。