From 9b6f6416edf5a96a6ed9a91241fa4a42a233607a Mon Sep 17 00:00:00 2001 From: "Grigorii K. Shartsev" Date: Mon, 28 Oct 2024 17:03:50 +0100 Subject: [PATCH 1/2] chore(devDeps): add `@electron-forge/plugin-fuses` and `@electron/fuses` Signed-off-by: Grigorii K. Shartsev --- package-lock.json | 145 ++++++++++++++++++++++++++++++++-------------- package.json | 2 + 2 files changed, 105 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 62b96bea..6c12cec2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,9 @@ "@electron-forge/maker-flatpak": "^7.5.0", "@electron-forge/maker-squirrel": "^7.5.0", "@electron-forge/maker-zip": "^7.5.0", + "@electron-forge/plugin-fuses": "^7.5.0", "@electron-forge/plugin-webpack": "^7.5.0", + "@electron/fuses": "^1.8.0", "@nextcloud/eslint-config": "^8.4.1", "@nextcloud/eslint-plugin": "^2.2.1", "@nextcloud/webpack-vue-config": "^6.2.0", @@ -845,18 +847,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/core/node_modules/@electron-forge/plugin-base": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", - "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", - "dev": true, - "dependencies": { - "@electron-forge/shared-types": "7.5.0" - }, - "engines": { - "node": ">= 16.4.0" - } - }, "node_modules/@electron-forge/core/node_modules/@electron/get": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", @@ -1023,6 +1013,34 @@ "node": ">= 16.4.0" } }, + "node_modules/@electron-forge/plugin-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", + "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/plugin-fuses": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.5.0.tgz", + "integrity": "sha512-nF5C4TN/rzN95F5HwAkyYTgy44Mu3EAys8O5zShzg7rye8d5BTnx2peAGtROZcChSaHRql09EeoOswNtuJNMcw==", + "dev": true, + "dependencies": { + "@electron-forge/plugin-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + }, + "engines": { + "node": ">= 16.4.0" + }, + "peerDependencies": { + "@electron/fuses": ">=1.0.0" + } + }, "node_modules/@electron-forge/plugin-webpack": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@electron-forge/plugin-webpack/-/plugin-webpack-7.5.0.tgz", @@ -1068,18 +1086,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/plugin-webpack/node_modules/@electron-forge/plugin-base": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", - "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", - "dev": true, - "dependencies": { - "@electron-forge/shared-types": "7.5.0" - }, - "engines": { - "node": ">= 16.4.0" - } - }, "node_modules/@electron-forge/plugin-webpack/node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", @@ -1587,6 +1593,35 @@ "node": ">= 6" } }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@electron/get": { "version": "2.0.2", "dev": true, @@ -20534,15 +20569,6 @@ "yarn-or-npm": "^3.0.1" } }, - "@electron-forge/plugin-base": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", - "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", - "dev": true, - "requires": { - "@electron-forge/shared-types": "7.5.0" - } - }, "@electron/get": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", @@ -20670,6 +20696,25 @@ "got": "^11.8.5" } }, + "@electron-forge/plugin-base": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", + "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.5.0" + } + }, + "@electron-forge/plugin-fuses": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.5.0.tgz", + "integrity": "sha512-nF5C4TN/rzN95F5HwAkyYTgy44Mu3EAys8O5zShzg7rye8d5BTnx2peAGtROZcChSaHRql09EeoOswNtuJNMcw==", + "dev": true, + "requires": { + "@electron-forge/plugin-base": "7.5.0", + "@electron-forge/shared-types": "7.5.0" + } + }, "@electron-forge/plugin-webpack": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@electron-forge/plugin-webpack/-/plugin-webpack-7.5.0.tgz", @@ -20709,15 +20754,6 @@ "yarn-or-npm": "^3.0.1" } }, - "@electron-forge/plugin-base": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz", - "integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==", - "dev": true, - "requires": { - "@electron-forge/shared-types": "7.5.0" - } - }, "@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", @@ -21072,6 +21108,31 @@ } } }, + "@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "requires": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, "@electron/get": { "version": "2.0.2", "dev": true, diff --git a/package.json b/package.json index 01ad7ae7..66c226f1 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,9 @@ "@electron-forge/maker-flatpak": "^7.5.0", "@electron-forge/maker-squirrel": "^7.5.0", "@electron-forge/maker-zip": "^7.5.0", + "@electron-forge/plugin-fuses": "^7.5.0", "@electron-forge/plugin-webpack": "^7.5.0", + "@electron/fuses": "^1.8.0", "@nextcloud/eslint-config": "^8.4.1", "@nextcloud/eslint-plugin": "^2.2.1", "@nextcloud/webpack-vue-config": "^6.2.0", From d2fcce6ae0d4e2207900c3acda1efaa76f9f4d92 Mon Sep 17 00:00:00 2001 From: "Grigorii K. Shartsev" Date: Mon, 28 Oct 2024 17:13:40 +0100 Subject: [PATCH 2/2] fix: enable cookie encryption Signed-off-by: Grigorii K. Shartsev --- forge.config.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/forge.config.js b/forge.config.js index 64e45485..4b16d188 100644 --- a/forge.config.js +++ b/forge.config.js @@ -11,6 +11,8 @@ const { MakerDMG } = require('@electron-forge/maker-dmg') const { MakerFlatpak } = require('@electron-forge/maker-flatpak') const { MakerZIP } = require('@electron-forge/maker-zip') const packageJSON = require('./package.json') +const { FusesPlugin } = require('@electron-forge/plugin-fuses') +const { FuseVersion, FuseV1Options } = require('@electron/fuses') const { MIN_REQUIRED_BUILT_IN_TALK_VERSION } = require('./src/constants.js') require('dotenv').config() @@ -245,5 +247,10 @@ module.exports = { }, }, }, + + new FusesPlugin({ + version: FuseVersion.V1, + [FuseV1Options.EnableCookieEncryption]: true, + }), ], }