首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

极客手中的利器Electron

如果你设置webSecurity为false了,那么allowRunningInsecureContent会自动设置为true。...,无论Cookie有没有设置HttpOnly属性,都可以成功读写。...使用Electron你可以通过编程的方式把你的代理内置到你的应用程序中,这样你的用户就可以自由的访问国外的一些网站了: 常见的代理服务器有http代理、https代理和socks代理,socks代理隐蔽性更强...方法来为当前页面设置代理,socks代理,代理设置成功后,我们马上使网页加载了一个IP地址查询的网址,在此页面上我们可以看到访问该页面的实际IP地址,如果这里显示的地址是你的代理服务器的所在地的地址,那么说明代理设置成功...以上这种方法可以给单个渲染进程设置代理,如果你需要给整个应用程序设置代理,可以使用如下代码完成: app.commandLine.appendSwitch('proxy-server', 'socks5

1.6K10

Fuse | Electron 安全

cookie存储是否使用操作系统级别的加密密钥进行加密。...如果您希望确保您的应用程序cookie以与Chrome相同的方式加密,则应启用此 fuse Disabled nodeOptions nodeOptions 是否考虑NODE_OPTIONS和NODE_EXTRA_CA_CERTS...1. runAsNode runAsNode 特性的含义是程序当作普通的 Node.js 进程启动,如果是普通的 Node.js ,那么可以给该程序传递很多启动参数,官方的文档说是否考虑 ELECTRON_RUN_AS_NODE...被设置为 Enabled 时才可以进行远程调试,与 runAsNode 无关 不过 Electron 还在发展,在未来可能还会有变化 3. nodeOptions 这个 fuse 是决定程序是否要使用两个环境变量...Code\Code.exe" 备份好原文件后,尝试将 RunAsNode 设置为 Disabled 成功翻转 RunAsNode 的设置,我们看一下签名情况 果然,签名失效 是否可以正常执行呢?

30310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Web技术】630- 前端存储除了 localStorage 还有啥

    ,以便用户即使在离线时也可以享受应用程序的所有功能。...)是 NoSQL 数据库,用于 JavaScript 应用程序,如网站,混合应用程序,Electron Apps,Progressive Web Apps 和 Node.js。...Encryption:通过将模式字段设置为encrypted,该字段的值将以加密模式存储,没有密码就无法读取。...Cookie 的特点: Cookie 的大小受限,一般为 4 KB; 同一个域名下存放 Cookie 的个数是有限制的,不同浏览器的个数不一样,一般为 20 个; Cookie 支持设置过期时间,当过期时自动销毁...; 每次发起同域下的 HTTP 请求时,都会携带当前域名下的 Cookie; 支持设置为 HttpOnly,防止 Cookie 被客户端的 JavaScript 访问。

    2.3K30

    前端存储除了 localStorage 还有啥

    可以直接存储 JSON 对象,同时可以非常简单的进行超时时间的设置。 ❝ 优化:WebStorageCache 自动清除访问的过期数据,避免了过期数据的累积。...,Electron Apps,Progressive Web Apps 和 Node.js。...Encryption:通过将模式字段设置为encrypted,该字段的值将以加密模式存储,没有密码就无法读取。...Cookie 的特点: Cookie 的大小受限,一般为 4 KB; 同一个域名下存放 Cookie 的个数是有限制的,不同浏览器的个数不一样,一般为 20 个; Cookie 支持设置过期时间,当过期时自动销毁...; 每次发起同域下的 HTTP 请求时,都会携带当前域名下的 Cookie; 支持设置为 HttpOnly,防止 Cookie 被客户端的 JavaScript 访问。

    2.4K30

    sandbox | Electron 安全

    、策略、遇到的困难和解决办法,这是一个比较复杂的工程 Chromium 的 sandbox 并不仅仅给 Chromium 等浏览器使用,它可以给任意 C/C++ 应用程序使用,它作为一个 C++ 库,可以在调用后开始保护应用程序...Node.js 的关系 Electron 有一些额外的概念需要考虑 对于渲染进程来说,如果设置了沙盒化,则它的行为和常规 Chromium 渲染器是一致的,它不可以执行 Node.js 对于 Preload...显式地设置为 true 后,Preload 不可以执行危险的 Node.js API Electron 20.0 默认情况下会对渲染器进行沙盒化 此时开始,默认情况下 Preload 不可以执行危险的...被设置为 true 时,sandbox 对于 Node.js 的保护效果会失效 Electron 版本为 31.0.0-alpha.3 ,设置了 nodeIntegration: true,在 Preload...、nodeIntegrationInSubFrames、nodeIntegrationInWorker 被设置为 true 时,sandbox 对于 Node.js 的保护效果就会失效 在之前 nodeIntegration

    25310

    TRTC Electron SDK 常见问题收录

    前言 由于 Windows 和 Mac 原生的应用程序开发难度比较大,所以使用 Electron 版 TRTC 的能力就成了一个不错的选择。...npm install 方案 B 如果您是在公司办公,那么您公司的网络管理员可能已经设置了代理,需要确认 npm 的 proxy 配置是否指向了公司的代理服务器,以及是否配置了环境变量 ELECTRON_GET_USE_PROXY...我们可以看到,上图中出现的 404 错误地址为:http://npm.taobao.org/mirrors/electron/v8.1.1/electron-v8.1.1-darwin-x64.zip...重启,正常进入系统,此时就可以使用 vscode 的终端启动项目了。 如需重新启动保护机制,只需要在第二步中执行csrutil enable。...详细信息可以参考错误信息中给出的网址,或 点击这里。 解决方案 移动并重命名入口文件: $ cd [项目目录] $ mv main.electron.js .

    5.1K20

    Electron 常见问题收录

    前言 由于 Windows 和 Mac 原生的应用程序开发难度比较大,所以使用 Electron 版 TRTC 的能力就成了一个不错的选择。...npm install 方案 B 如果您是在公司办公,那么您公司的网络管理员可能已经设置了代理,需要确认 npm 的 proxy 配置是否指向了公司的代理服务器,以及是否配置了环境变量 ELECTRON_GET_USE_PROXY...我们可以看到,上图中出现的 404 错误地址为:http://npm.taobao.org/mirrors/electron/v8.1.1/electron-v8.1.1-darwin-x64.zip...重启,正常进入系统,此时就可以使用 vscode 的终端启动项目了。 如需重新启动保护机制,只需要在第二步中执行csrutil enable。...详细信息可以参考错误信息中给出的网址,或 点击这里。 解决方案 移动并重命名入口文件: $ cd [项目目录] $ mv main.electron.js .

    19K165

    Electron是什么以及可以做什么

    另外 Node.js 本身也可以很方便的调用 C++扩展,Electron 应用内又包含 Node.js 环境,对于一些音视频编解码或图形图像处理需求,可以使用 Node.js 的 C++扩展来完成。...在完成 Web 前端开发工作时,开发者需要考虑很多浏览器兼容的问题,比如:用户是否使用了低版本的 IE 浏览器,是否可以在样式表内使用 flexbox 弹性盒模型等问题。...开发者的自由度得到了最大程度的保护,你几乎可以在 Electron 中使用所有 HTML5、CSS3 、ES6 标准中定义的 API。...框架的内部原理图如下所示: 其中 Chromium 基础能力 API 可以让应用渲染开发者提供的 HTML 页面,让应用可以在 Cookie 或 IndexedDB 中存取数据,前端开发者都非常熟悉这些能力...第三:安全性问题 Electron 把一些有安全隐患的模块和 API 都设置为默认不可用的状态,但这些模块和 API 都是非常常用的,有的时候开发者不得不打开这些开关,一旦处理不当,就可能导致他们开发的应用存在安全隐患

    3.2K30

    自定义协议 | Electron 安全

    当你创建一个新的BrowserWindow或者WebContents时,可以通过指定partition参数来决定这个新窗口或页面的数据是否与其他窗口共享,或者是否持久化存储。...当你设置partition:'persist:name'时,Electron 会为该窗口创建一个持久化的分区,即使应用重启,这个分区中的数据(如Cookie)也会被保留。...一个Session可以有自己的存储、Cookie和其他设置,并且可以被多个WebContents共享。...控制行为: Session允许你控制例如是否允许使用缓存、是否发送Referer头、代理设置等网络行为,以及管理权限、证书等安全相关的方面。...id=2 时 成功解析了我们的自定义 url 注册全局协议,主要使用app 模块的一些方法 2. app.setAsDefaultProtocolClient 将当前可执行文件的设置为协议(也就是 URI

    43510

    微信小程序原理

    ,可以使用前端开发技术来开发跨平台的应用程序。...借助 Node.js 访问操作系统原生 API 的能力,可以开发中跨平台的应用程序。微信小程序开发工具就是使用 nwjs 开发的。...与此类似的,一个更火的项目是 Electron,由 GitHub 推出的,它也是把 Browser 和 Node.js 结合,用来开发跨平台的应用程序。...代码保护:Electron 只支持代码混淆来保护,而 nwjs 把核心代码放在 V8 引擎里,不但可以保护代码,还可以提高执行效率。 开源社区活跃度:Electron 应该是完胜的。...从这个分析猜测,微信选择 nwjs 的原因可能是出于代码保护。毕竟开发工具可以上传小程序,有些接口和数据需要比较严密的保护。哪位大牛可以挖挖看哪些代码被保护起来了。

    4.6K40

    现在,以编程方式在 Electron 中上传文件,是非常简单的!

    必要的上下文 想尽快熟悉上下文语境的,可以点这里: https://github.com/electron/electron/issues/749 这段讨论,其实本来是讨论如何自动设置 input 标签的值来实现自动选择文件的....心想,这个 cookies, 既然是属于 electron 自有的 api,那岂不是也可以获取完整的 cookie ?...我们就以自动上传用户头像为例.我们可以假定已经通过某种方式,得到了用户头像的本地路径.--这个大前提,在基于 Electron 的App中,非常容易满足!.../osc-preload.js") }}) 然后,我们可以重写在注入的js中,重写 window 的 $ 和 jquery 属性的 getter 方法: Object.defineProperties...使用本地代理服务器获取完整 cookie 的思路是: 约定某个url路径,比如 /-fetch-all-cookies 为获取 cookie 的路径 --> 前端发送 ajax 请求到 /-fetch-all-cookies

    5.1K00

    Electron启程

    前言 Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用。...你可以把它看作一个 Node. js 的变体,它专注于桌面应用而不是 Web 服务器端。 这不意味着 Electron 是某个图形用户界面(GUI)库的 JavaScript 版本。...// 也可以拆分成几个文件,然后用 require 导入。 主进程和渲染进程 Electron 运行 package.json 的 main.js 脚本的进程被称为主进程。...screen 检索有关屏幕大小、显示器、光标位置等的信息。 session 管理浏览器会话、cookie、缓存、代理设置等。...为了使窗口无边框,使得在某些时候让项目看起来更美观,所以在创建窗口的时候通过设置 frame 属性的值为 false 来创建无边框窗口。

    5.7K30

    使用Electron创建跨平台桌面应用

    main.js 可以使用JavaScript代码操作计算机,本项目只是一个简单的例子,你可以在这里找到Electron更多的功能Electron’s documentation。...MARVEL_PRIVATE_KEY= MARVEL_PUBLIC_KEY= limit参数用于设置一次请求多少条数据,还有其他可用的参数可以设定。...注意: 这里我们使用受版权保护的图标用于教学目的,请不要使用他们用于自己的项目。...设置为 all会生成所有操作系统的二进制文件。 The architecture: ia32 和 x64 分别用于 32位操作系统和64位操作系统,当然也可以设置为 all。...Electron的版本。 生成二进制文件的路径。 所使用的应用程序图标。 主意: 参数可以为多个并使用逗号分开值,如果你想生成所有平台的二进制文件可以替换相关参数为 --all。 ?

    1.5K40

    玩过Tauri和Electron,最终我选择Flutter进行跨平台应用开发

    三、Electron Electron 是一款基于 Chromium 和 Node.js 的桌面应用程序开发框架,可以使用 HTML、CSS 和 JavaScript 来构建跨平台的桌面应用程序。...Electron 提供了丰富的构建工具、库和插件,使得开发者可以更快速地构建应用程序。...Electron有如下的一些特点: Electron 提供了易于使用的方式来构建跨平台的桌面应用程序,可以使用常见的 Web 技术来构建应用程序。...Electron 使用 JavaScript,可能存在一些安全和性能方面的问题,就说,如果想保护商业机密,保护一些代码实现,这点上可能很难做到,不像tauri,rust实现是打包为二进制的,flutter...Electron 不支持移动端,且没有支持的计划。 四、总结 下面是我从UI性能、是否支持移动端和桌面端、打包体积和交互一致性等几个方面来对比Flutter、Tauri、Electron,如下表。

    2.4K20

    ASAR 完整性检查 | Electron 安全

    保护源代码:将应用的源代码和资源打包进一个不可直接浏览的归档文件中,增加了一层保护,使得最终用户更难以直接查看或修改应用内部的文件结构和源代码。...使用 MacOS 的用户可能非常好理解,MacOS 中应用程序的后缀为 .app ,可以双击执行,但也可以通过右键 -> 显式包内容进入到该路径中 也有点像 Linux 中的 tar 文件,就是把一堆文件捆在一起了...自动为您进行此设置,无需额外配置。...创建应用程序 直接选用官方程序 npm init electron-app@latest my-app Electron 版本为 30.0.3 ,具备代码完整性检查的能力 可以看到,默认情况下会自动打开开发者工具...设置开启代码完整性检查 只需要修改 my-app 目录下的 forge.config.js 文件即可 我们发现其实已经默认就设置为 true 了 4.

    1.4K10

    网易云信IM讲解

    ,但是需要注意几个事情 注意vux 的编码格式,需要在webpac里面配置 打开webpack.base.conf.js 修改配置,可以参考vux配置地址,具体根据文档参考,以下是我配置修改的代码,可参考...,多看看webpack就可以了,主要是讲一下桌面应用打包 打包桌面应用程序的软件可以看看 electronjs 如果你只是需要打包 一个小项目不需要定制开发的话,可以忽略文档,看这里也行 首先你在你的...js * 第二句的意思是进行打包命令 */ 引入完成之后,打开 package.json 文件在 script 中加入下面这2句代码 "scripts": { "electron_dev...": "npm run build && electron build/electron.js", "electron_build": "electron-packager ....[optional flags…] 配置项选填,可以设置二进制打包等,默认没有这些 }, ##9 发布桌面安装包 首先你得去下载 打包工具,然后傻瓜式安装 然后打开左上角的 File 跟着下面图片走

    3.2K30

    Electron 安全与你我息息相关

    ,目前 Electron 版本为 29.2.0,但我们在挖掘漏洞的时候还是可以思考一下,是否原本正常的功能会在结合之后出现影响 CVE-2017-1000424 https://cve.mitre.org...,在 Electron 5.0 的时候,才将 nodeIntegration 的值默认设置为 false ,也就是说在此之前,默认即不安全 所以通过 webPreferences 的设置,我们可以确定渲染进程是否具备调用...cookie存储是否使用操作系统级别的加密密钥进行加密。...如果您希望确保您的应用程序cookie以与Chrome相同的方式加密,则应启用此 fuse Disabled nodeOptions nodeOptions 是否考虑NODE_OPTIONS环境变量。...当 RunAsNode设置为 Enabled 时,可以通过设置环境变量 ELECTRON_RUN_AS_NODE=1 来执行 Nodejs代码 还是以 Yakit 为例,首先看一下 fuse 设置 1

    1.8K10

    用JS开发跨平台桌面应用,从原理到实践

    你可以同时在Electron的主进程和渲染进程使用Node.js API,)所有在Node.js可以使用的API,在Electron中同样可以使用。...在BrowserWindow的构造参数中,将frame设置为false可以指定窗口为无边框窗口,将工具栏隐藏后,就会产生两个问题: 1.窗口控制按钮(最小化、全屏、关闭按钮)会被隐藏 2.无法拖拽移动窗口...可以通过指定titleBarStyle选项来再将工具栏按钮显示出来,将其设置为hidden表示返回一个隐藏标题栏的全尺寸内容窗口,在左上角仍然有标准的窗口控制按钮。...使用Menu的静态方法setApplicationMenu,可创建一个应用程序菜单,在 Windows和 Linux 上,menu将被设置为每个窗口的顶层菜单。...第一次在业务中用到Electron其实就是用到它的打印功能,这里就多介绍一些。 Electron提供的打印api可以非常灵活的控制打印设置的显示,并且可以通过html来书写打印内容。

    7.1K50
    领券