如何在 Electron 应用程序中禁用网络?
Posted
技术标签:
【中文标题】如何在 Electron 应用程序中禁用网络?【英文标题】:How to disable networking in Electron app? 【发布时间】:2021-12-04 23:42:58 【问题描述】:我正在开发一个离线应用,出于安全考虑,我想禁用网络。
这可能吗?如果是这样,怎么做?感谢您的帮助!
【问题讨论】:
联网是指如果 BrowserWindow 试图导航到一个不是本地文件的 URL,那么它应该被停止吗? 感谢@Joshua 的帮助。我想禁用所有网络功能,因此应用程序无法连接到 Internet。例如,如果一个包裹试图打电话回家。顺便说一句,我是 Electron 新手,所以也许这是默认完成的。 重复***.com/questions/47953464/… 【参考方案1】:此答案仅适用于渲染器进程,不适用于主进程
您可能想要使用网络仿真:
const session = require('electron');
session.defaultSession.enableNetworkEmulation(
offline: true,
);
// Or
window.webContents.session.enableNetworkEmulation(
offline: true,
);
大概相当于打开开发工具,使用网络节流。
关于文档:https://www.electronjs.org/docs/latest/api/session#sesenablenetworkemulationoptions
【讨论】:
enableNetworkEmulation
的有趣用法。感谢分享!
我的直觉是,这个解决方案不会阻止流氓 npm 包在节点级别调用 home。对吗?
是的,它不会阻止主进程连接到互联网,我不确定是否有办法阻止整个应用程序连接到互联网,可能是 App Store 或 Microsoft不授予互联网权限的商店签名?但我从未使用过签名,所以我不知道它的功能。以上是关于如何在 Electron 应用程序中禁用网络?的主要内容,如果未能解决你的问题,请参考以下文章