如何通过node.js在Mac OS上以编程方式设置网络代理
我正在构建一个electron项目,其中一部分将以编程方式在Mac OS上设置系统网络代理 似乎没有内置的系统api(既不是来自nodejs也不是来自electron)可以实现这一点。作为替代方案,我通过使用child_process module撤销“networksetup”命令来更改代理。但是每次撤销都会弹出下面的密码对话框,这很烦人 上面的代码片段将弹出三次作为撤销。在开发阶段,我可以授予root权限来缓解这个问题(如何通过node.js在Mac OS上以编程方式设置网络代理,node.js,macos,electron,electron-builder,Node.js,Macos,Electron,Electron Builder,我正在构建一个electron项目,其中一部分将以编程方式在Mac OS上设置系统网络代理 似乎没有内置的系统api(既不是来自nodejs也不是来自electron)可以实现这一点。作为替代方案,我通过使用child_process module撤销“networksetup”命令来更改代理。但是每次撤销都会弹出下面的密码对话框,这很烦人 上面的代码片段将弹出三次作为撤销。在开发阶段,我可以授予root权限来缓解这个问题(sudo node test.js) 我正在寻求帮助,如何在打包后解决
sudo node test.js
)
我正在寻求帮助,如何在打包后解决这个问题(在分发给用户后,要求用户在终端上以root权限运行应用程序是不可能的,或者是用户友好的)。我的期望是要求用户在应用程序启动时授予一次权限。在应用程序执行期间不再授予任何权限
任何帮助都将不胜感激。ShadowsocksX NG提供的proxy_conf_helper作为替代方案。 这是供参考的链接
你应该试试
scutil
。有关更多信息,请参见man scutil
。请添加说明,因为链接将来可能会处于非活动状态
var cp = require('child_process')
cp.exec(`networksetup -setproxyautodiscovery eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})
cp.exec(`networksetup -setautoproxystate eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})
cp.exec(`networksetup -setwebproxystate eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})