fuses
v1.8.0
전자 퓨즈 플립 및 포장 된 전자 빌드를 사용자 정의하십시오.
import { flipFuses , FuseVersion , FuseV1Options } from '@electron/fuses' ;
// During your build / package process
await flipFuses (
require ( 'electron' ) , // Returns the path to the electron binary
{
version : FuseVersion . V1 ,
[ FuseV1Options . RunAsNode ] : false , // Disables ELECTRON_RUN_AS_NODE
[ FuseV1Options . EnableCookieEncryption ] : true , // Enables cookie encryption
[ FuseV1Options . EnableNodeOptionsEnvironmentVariable ] : false , // Disables the NODE_OPTIONS environment variable
[ FuseV1Options . EnableNodeCliInspectArguments ] : false , // Disables the --inspect and --inspect-brk family of CLI options
[ FuseV1Options . EnableEmbeddedAsarIntegrityValidation ] : true , // Enables validation of the app.asar archive on macOS
[ FuseV1Options . OnlyLoadAppFromAsar ] : true , // Enforces that Electron will only load your app from "app.asar" instead of its normal search paths
[ FuseV1Options . LoadBrowserProcessSpecificV8Snapshot ] : true , // Loads V8 Snapshot from `browser_v8_context_snapshot.bin` for the browser process
[ FuseV1Options . GrantFileProtocolExtraPrivileges ] : true , // Grants the file protocol extra privileges
} ,
) ;
$ npx @electron/fuses read --app /Applications/Foo.app
$ npx @electron/fuses write --app /Applications/Foo.app < ...key=on/off >
arm64
의 경우 MACOS 앱을 빌드 한 경우 퓨즈를 뒤집은 후 즉시 앱을 코드 디자인하지 않으면 resetAdHocDarwinSignature: true
flipFuses
메소드에 충실해야합니다. 그렇지 않으면 앱은 코드 서명 유효성 검사 오류로 시작을 거부합니다. 이것은 Apple Silicon 장치의 새로운 보안 조치입니다.
import { flipFuses , FuseVersion , FuseV1Options } from '@electron/fuses' ;
await flipFuses (
require ( 'electron' ) ,
{
version : FuseVersion . V1 ,
resetAdHocDarwinSignature : targetPlatform === 'darwin' && targetArch === 'arm64' ,
[ FuseV1Options . RunAsNode ] : false ,
} ,
) ;
전자 업그레이드 중에 새로 추가 된 퓨즈, 심지어 새로 추가 된 퓨즈에 대한 구성을 제공하려면 strictlyRequireAllFuses
옵션을 true
로 설정할 수 있습니다. 타겟팅하는 전자 바이너리의 모든 퓨즈에 대한 구성 옵션이없는 @electron/fuses
버전에있는 경우 빌드가 실패합니다. 당신이 목표로하는 전자 바이너리.
import { flipFuses , FuseVersion , FuseV1Options } from '@electron/fuses' ;
await flipFuses (
require ( 'electron' ) ,
{
version : FuseVersion . V1 ,
strictlyRequireAllFuses : true ,
[ FuseV1Options . RunAsNode ] : false ,
} ,
) ;