Node.js 如何在节点webkit桌面应用程序中禁用调试远程端口

Node.js 如何在节点webkit桌面应用程序中禁用调试远程端口,node.js,debugging,port,node-webkit,Node.js,Debugging,Port,Node Webkit,我不想保护打包在exe文件中的节点webkit桌面应用程序的代码。 问题不直接出现在文件上,而是出现在用于远程调试的专用端口上 也许我还不了解一些东西,但是在Windows上,如果我执行“netstat-a-o”命令,我会看到一个与应用程序关联的打开端口,如果我在浏览器上打开这个端口,我会看到一个带有“可检查的WebContent”的页面和指向webkit应用程序的链接 使用此调试窗口,可以访问应用程序的所有源,我不知道如何禁用此功能。目前,我认为在nw.js中没有实际方法禁用远程调试 即使如此

我不想保护打包在exe文件中的节点webkit桌面应用程序的代码。 问题不直接出现在文件上,而是出现在用于远程调试的专用端口上

也许我还不了解一些东西,但是在Windows上,如果我执行“netstat-a-o”命令,我会看到一个与应用程序关联的打开端口,如果我在浏览器上打开这个端口,我会看到一个带有“可检查的WebContent”的页面和指向webkit应用程序的链接


使用此调试窗口,可以访问应用程序的所有源,我不知道如何禁用此功能。

目前,我认为在nw.js中没有实际方法禁用远程调试

即使如此,根据该协议,远程调试似乎只通过命令行开关执行。因此,在nw.js支持禁用远程调试功能之前,您可以阻止chromium命令行开关(或仅阻止
--远程调试端口
),以防止用户进行任意远程调试

例如:

const gui = require('nw.gui');
const app = gui.App;

for (let element of app.fullArgv) {
    // app.argv has only user's switches except for the chromium args
    if (app.argv.indexOf(element) < 0) {
        app.quit(1); // invalid args!
    }
}
constgui=require('nw.gui');
const-app=gui.app;
for(app.fullArgv的let元素){
//app.argv只有用户开关,chromium args除外
if(应用参数索引(元素)<0){
app.quit(1);//参数无效!
}
}
但是,我不太确定上面的代码是否可以保护您的应用程序代码,因为nw.js在内部使用Chromium。这样,应用程序代码将在初始化时提取到临时文件夹中。然而,上述解决方案并不能真正保护您的nw.js应用程序。请参阅更多详细信息:


注意:
节点webkit
已将名称更改为
nw.js

我相信这仍然是一个未解决的问题,请看这里