本人想将NodeJS代码部署在别人的服务器上,但是担心源码泄露的问题,于是想是否有办法进行代码保护?还请各位大神指点一二。
项目稍微大一点代码压缩成一个单文件也不算能可读吧,压缩成单文件后,再做一个字符串拆解,转一下就不了事了。 比如
“abc中文” => “a”+ “b”+“c”+"\u4e2d"+"\u6587"
或者
“abc中文” =>decodeURI(atob(“YWJjJUU0JUI4JUFEJUU2JTk2JTg3”))
想通过搜索都不可能
防止泄漏、不让别人看:编译型语言✔️ 脚本❌
所以推荐Golang(逃
@zy445566 字符串拆解有工具吗
TypeScript 开发, 然后输出为 ES5 ^_^
@YAOHAO9 自己写一个个我觉得也不难,正则稍微匹配一下字符串就全部能全部匹配出来,字符串转好,再稍微替换一下不就搞定了
没用的,再怎么弄都无济于事,毕竟脚本语言,只是被破解的复杂度而已…… 要么核心模块改用cpp封装吧
核心模板用c++重写,curd用js来调用
来说下如何增加难度:
- 用 ncc 打包源码成为单个 js 文件
- 用 pkg 打包单文件成一个可执行文件
- 把这个可执行文件打包成 Docker 镜像, 可执行文件放置在某个隐秘的路径,设置好开机启动
- 用 Docker 在别人的机器上部署
以后几个步骤基本上都是增加了破解难度,对付一般人够用了。
即便最后被找出 js,也是用 ncc 打包后的 js,没有二次开发的可能
在代码里下毒
自己build一个node,然后加一个代码解密,这样能实现部分加密。而且不用build成一个可执行文件。可以参考多多客的js7加密方案。
安全是个伪命题,如果服务器都攻破了,你再加密又有什么样呢?
@i5ting 他们的场景是类似外包那样,部署到客户的服务器上吧
别人是只哪一种人?linux可以设置新用户不允许别人读写(root用户除外)。
用electron打包如何