diff --git a/Logo.png b/Logo.png index b97d2ad..9e04c9a 100644 Binary files a/Logo.png and b/Logo.png differ diff --git a/build/icon.icns b/build/icon.icns index ced4404..52d35e4 100644 Binary files a/build/icon.icns and b/build/icon.icns differ diff --git a/electron-builder.json b/electron-builder.json index c6bbf38..3719d0e 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -19,7 +19,8 @@ "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}", "!**/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}", "!**/{appveyor.yml,.travis.yml,circle.yml}", - "!**/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}" + "!**/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}", + "!out" ], "mac": { "category": "public.app-category-utilities", diff --git a/index-korean.html b/index-korean.html index bf87257..ddd1236 100644 --- a/index-korean.html +++ b/index-korean.html @@ -12,7 +12,7 @@
OpenCore Logo

OpenCore Updater

-

지원되는 최신 버전: 0.7.6

+

지원되는 최신 버전: 0.7.7

@@ -26,6 +26,7 @@

OpenCore 버전 선택

  • 0.6.3 미만의 버전은 지원되지 않습니다.
  • - + + @@ -45,7 +46,7 @@

    Select OpenCore version

    Your EFI info

    -

    Latest version is 0.7.6.

    +

    Latest version is 0.7.7.

    Your OpenCore version is .

    You're using the following kexts:

    diff --git a/package.json b/package.json index 10fd298..84567ec 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "oc-updater", "productName": "OpenCore Updater", - "version": "1.1.4", + "version": "1.2.0", "description": "OpenCore Updater", "main": "dist/index.js", "scripts": { diff --git a/src/index.ts b/src/index.ts index 06152e4..9181eb3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,6 +7,7 @@ import cp from 'child_process'; import plist from 'plist'; const PID = Math.floor(Math.random() * 1000000); const checksums = { + '66c298f39508308dd97fa9fc03c1244f9818ff01170fdd798b697c8fcb20c2e2': '0.7.7', '032e1631b5729edfeab02998550d432ec5bbfc5c3715b8c81c7d386415f1ff7e': '0.7.6', 'fb65a4c2af86b4209f10cadf9345947ec1d897f3c00b94eda6aa8649539a0357': '0.7.5', '8488c9aa2b2e7e71a4673c9601b7e2f78096bdc44e9db72be726fb673385376a': '0.7.5', @@ -99,7 +100,7 @@ electron.ipcMain.on('kextinfo', (evt, kextdir) => { evt.returnValue = fs.readdirSync(kextdir).filter(x => x.endsWith('.kext')).filter(x => !x.startsWith('._')); }); electron.ipcMain.on('download-oc', evt => { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o OpenCore-0.7.6-RELEASE.zip https://github.com/acidanthera/OpenCorePkg/releases/download/0.7.6/OpenCore-0.7.6-RELEASE.zip; mkdir OpenCore-0.7.6-RELEASE; cd OpenCore-0.7.6-RELEASE; unzip ../OpenCore-0.7.6-RELEASE.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o OpenCore-0.7.7-RELEASE.zip https://github.com/acidanthera/OpenCorePkg/releases/download/0.7.7/OpenCore-0.7.7-RELEASE.zip; mkdir OpenCore-0.7.7-RELEASE; cd OpenCore-0.7.7-RELEASE; unzip ../OpenCore-0.7.7-RELEASE.zip`); evt.returnValue = 'success'; }); electron.ipcMain.on('download-kexts', (evt, kexts) => { @@ -107,13 +108,13 @@ electron.ipcMain.on('download-kexts', (evt, kexts) => { cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o VirtualSMC-1.2.8-RELEASE.zip https://github.com/acidanthera/VirtualSMC/releases/download/1.2.8/VirtualSMC-1.2.8-RELEASE.zip; mkdir VirtualSMC-1.2.8-RELEASE; cd VirtualSMC-1.2.8-RELEASE; unzip ../VirtualSMC-1.2.8-RELEASE.zip`); } if (kexts.includes('Lilu.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o Lilu-1.5.8-RELEASE.zip https://github.com/acidanthera/Lilu/releases/download/1.5.8/Lilu-1.5.8-RELEASE.zip; mkdir Lilu-1.5.8-RELEASE; cd Lilu-1.5.8-RELEASE; unzip ../Lilu-1.5.8-RELEASE.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o Lilu-1.5.9-RELEASE.zip https://github.com/acidanthera/Lilu/releases/download/1.5.9/Lilu-1.5.9-RELEASE.zip; mkdir Lilu-1.5.9-RELEASE; cd Lilu-1.5.9-RELEASE; unzip ../Lilu-1.5.9-RELEASE.zip`); } if (kexts.includes('WhateverGreen.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o WhateverGreen-1.5.5-RELEASE.zip https://github.com/acidanthera/WhateverGreen/releases/download/1.5.5/WhateverGreen-1.5.5-RELEASE.zip; mkdir WhateverGreen-1.5.5-RELEASE; cd WhateverGreen-1.5.5-RELEASE; unzip ../WhateverGreen-1.5.5-RELEASE.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o WhateverGreen-1.5.6-RELEASE.zip https://github.com/acidanthera/WhateverGreen/releases/download/1.5.6/WhateverGreen-1.5.6-RELEASE.zip; mkdir WhateverGreen-1.5.6-RELEASE; cd WhateverGreen-1.5.6-RELEASE; unzip ../WhateverGreen-1.5.6-RELEASE.zip`); } if (kexts.includes('AppleALC.kext') || kexts.includes('AppleALCU.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o AppleALC-1.6.7-RELEASE.zip https://github.com/acidanthera/AppleALC/releases/download/1.6.7/AppleALC-1.6.7-RELEASE.zip; mkdir AppleALC-1.6.7-RELEASE; cd AppleALC-1.6.7-RELEASE; unzip ../AppleALC-1.6.7-RELEASE.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o AppleALC-1.6.8-RELEASE.zip https://github.com/acidanthera/AppleALC/releases/download/1.6.8/AppleALC-1.6.8-RELEASE.zip; mkdir AppleALC-1.6.8-RELEASE; cd AppleALC-1.6.8-RELEASE; unzip ../AppleALC-1.6.8-RELEASE.zip`); } if (kexts.includes('VoodooPS2Controller.kext')) { cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o VoodooPS2Controller-2.2.7-RELEASE.zip https://github.com/acidanthera/VoodooPS2/releases/download/2.2.7/VoodooPS2Controller-2.2.7-RELEASE.zip; mkdir VoodooPS2Controller-2.2.7-RELEASE; cd VoodooPS2Controller-2.2.7-RELEASE; unzip ../VoodooPS2Controller-2.2.7-RELEASE.zip`); @@ -146,13 +147,13 @@ electron.ipcMain.on('download-kexts', (evt, kexts) => { cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o NVMeFix-1.0.9-RELEASE.zip https://github.com/acidanthera/NVMeFix/releases/download/1.0.9/NVMeFix-1.0.9-RELEASE.zip; mkdir NVMeFix-1.0.9-RELEASE; cd NVMeFix-1.0.9-RELEASE; unzip ../NVMeFix-1.0.9-RELEASE.zip`); } if (kexts.includes('itlwm.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o itlwm-2.0.0.zip https://github.com/OpenIntelWireless/itlwm/releases/download/v2.0.0/itlwm_v2.0.0_stable.kext.zip; mkdir itlwm-2.0.0; cd itlwm-2.0.0; unzip ../itlwm-2.0.0.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o itlwm-2.1.0.zip https://github.com/OpenIntelWireless/itlwm/releases/download/v2.1.0/itlwm_v2.1.0_stable.kext.zip; mkdir itlwm-2.1.0; cd itlwm-2.1.0; unzip ../itlwm-2.1.0.zip`); } if (kexts.includes('AirportItlwm.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o AirportItlwm-2.0.0.zip https://github.com/OpenIntelWireless/itlwm/releases/download/v2.0.0/AirportItlwm_v2.0.0_stable_${os.release().startsWith('21.') ? 'Monterey' : (os.release().startsWith('20.') ? 'BigSur' : (os.release().startsWith('19.') ? 'Catalina' : (os.release().startsWith('18.') ? 'Mojave' : 'HighSierra')))}.kext.zip; mkdir AirportItlwm-2.0.0; cd AirportItlwm-2.0.0; unzip ../AirportItlwm-2.0.0.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o AirportItlwm-2.1.0.zip https://github.com/OpenIntelWireless/itlwm/releases/download/v2.1.0/AirportItlwm_v2.1.0_stable_${os.release().startsWith('21.') ? 'Monterey' : (os.release().startsWith('20.') ? 'BigSur' : (os.release().startsWith('19.') ? 'Catalina' : (os.release().startsWith('18.') ? 'Mojave' : 'HighSierra')))}.kext.zip; mkdir AirportItlwm-2.1.0; cd AirportItlwm-2.1.0; unzip ../AirportItlwm-2.1.0.zip`); } if (kexts.includes('IntelBluetoothFirmware.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o IntelBluetoothFirmware-2.0.1.zip https://github.com/OpenIntelWireless/IntelBluetoothFirmware/releases/download/v2.0.1/IntelBluetoothFirmware-v2.0.1.zip; mkdir IntelBluetoothFirmware-2.0.1; cd IntelBluetoothFirmware-2.0.1; unzip ../IntelBluetoothFirmware-2.0.1.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o IntelBluetoothFirmware-2.1.0.zip https://github.com/OpenIntelWireless/IntelBluetoothFirmware/releases/download/v2.1.0/IntelBluetoothFirmware-v2.1.0.zip; mkdir IntelBluetoothFirmware-2.1.0; cd IntelBluetoothFirmware-2.1.0; unzip ../IntelBluetoothFirmware-2.1.0.zip`); } if (kexts.includes('CpuTscSync.kext')) { cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o CpuTscSync-1.0.5-RELEASE.zip https://github.com/acidanthera/CpuTscSync/releases/download/1.0.5/CpuTscSync-1.0.5-RELEASE.zip; mkdir CpuTscSync-1.0.5-RELEASE; cd CpuTscSync-1.0.5-RELEASE; unzip ../CpuTscSync-1.0.5-RELEASE.zip`); @@ -193,7 +194,7 @@ electron.ipcMain.on('download-kexts', (evt, kexts) => { cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o RealtekCardReader-0.9.6-RELEASE.zip https://github.com/0xFireWolf/RealtekCardReader/releases/download/v0.9.6/RealtekCardReader_0.9.6_b998818_RELEASE.zip; mkdir RealtekCardReader-0.9.6-RELEASE; cd RealtekCardReader-0.9.6-RELEASE; unzip ../RealtekCardReader-0.9.6-RELEASE.zip`); } if (kexts.includes('RealtekCardReaderFriend.kext')) { - cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o RealtekCardReaderFriend-1.0.1-RELEASE.zip https://github.com/0xFireWolf/RealtekCardReaderFriend/releases/download/v1.0.1/RealtekCardReaderFriend_1.0.1_76ed58e_RELEASE.zip; mkdir RealtekCardReaderFriend-1.0.1-RELEASE; cd RealtekCardReaderFriend-1.0.1-RELEASE; unzip ../RealtekCardReaderFriend-1.0.1-RELEASE.zip`); + cp.execSync(`cd ~; mkdir -p .oc-update/${PID}; cd .oc-update/${PID}; curl -L -s -o RealtekCardReaderFriend-1.0.2-RELEASE.zip https://github.com/0xFireWolf/RealtekCardReaderFriend/releases/download/v1.0.2/RealtekCardReaderFriend_1.0.2_7f6639a_RELEASE.zip; mkdir RealtekCardReaderFriend-1.0.2-RELEASE; cd RealtekCardReaderFriend-1.0.2-RELEASE; unzip ../RealtekCardReaderFriend-1.0.2-RELEASE.zip`); } evt.returnValue = 'success'; }); @@ -206,14 +207,14 @@ electron.ipcMain.on('create-backup', (evt, dir) => { evt.returnValue = 'success'; }); electron.ipcMain.on('swap-files', (evt, dir, kexts) => { - fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/BOOT/BOOTx64.efi`, `${dir}/BOOT/BOOTx64.efi`); - fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/OC/OpenCore.efi`, `${dir}/OC/OpenCore.efi`); + fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/BOOT/BOOTx64.efi`, `${dir}/BOOT/BOOTx64.efi`); + fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/OC/OpenCore.efi`, `${dir}/OC/OpenCore.efi`); if (fs.existsSync(`${dir}/OC/Tools/VerifyMsrE2.efi`)) fs.renameSync(`${dir}/OC/Tools/VerifyMsrE2.efi`, `${dir}/OC/Tools/ControlMsrE2.efi`); // if VBoxHfs.efi exists at ${dir}/OC/Drivers, rename it to OpenHfsPlus.efi if (fs.existsSync(`${dir}/OC/Drivers/VBoxHfs.efi`)) fs.renameSync(`${dir}/OC/Drivers/VBoxHfs.efi`, `${dir}/OC/Drivers/OpenHfsPlus.efi`); - for (let driver of fs.readdirSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/OC/Drivers`)) { + for (let driver of fs.readdirSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/OC/Drivers`)) { if (fs.existsSync(`${dir}/OC/Drivers/${driver}`)) { - fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/OC/Drivers/${driver}`, `${dir}/OC/Drivers/${driver}`); + fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/OC/Drivers/${driver}`, `${dir}/OC/Drivers/${driver}`); } } for (let driver of fs.readdirSync(`${os.homedir()}/.oc-update/${PID}/OcBinaryData-master/OcBinaryData-master/Drivers`)) { @@ -221,9 +222,9 @@ electron.ipcMain.on('swap-files', (evt, dir, kexts) => { fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OcBinaryData-master/OcBinaryData-master/Drivers/${driver}`, `${dir}/OC/Drivers/${driver}`); } } - for (let tool of fs.readdirSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/OC/Tools`)) { + for (let tool of fs.readdirSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/OC/Tools`)) { if (fs.existsSync(`${dir}/OC/Tools/${tool}`)) { - fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.6-RELEASE/X64/EFI/OC/Tools/${tool}`, `${dir}/OC/Tools/${tool}`); + fs.copyFileSync(`${os.homedir()}/.oc-update/${PID}/OpenCore-0.7.7-RELEASE/X64/EFI/OC/Tools/${tool}`, `${dir}/OC/Tools/${tool}`); } } cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/OcBinaryData-master/OcBinaryData-master/Resources" "${dir}/OC"`); @@ -246,16 +247,16 @@ electron.ipcMain.on('swap-files', (evt, dir, kexts) => { cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/VirtualSMC-1.2.8-RELEASE/Kexts/SMCDellSensors.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('Lilu.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/Lilu-1.5.8-RELEASE/Lilu.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/Lilu-1.5.9-RELEASE/Lilu.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('WhateverGreen.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/WhateverGreen-1.5.5-RELEASE/WhateverGreen.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/WhateverGreen-1.5.6-RELEASE/WhateverGreen.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('AppleALC.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AppleALC-1.6.7-RELEASE/AppleALC.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AppleALC-1.6.8-RELEASE/AppleALC.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('AppleALCU.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AppleALC-1.6.7-RELEASE/AppleALCU.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AppleALC-1.6.8-RELEASE/AppleALCU.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('VoodooPS2Controller.kext')) { cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/VoodooPS2Controller-2.2.7-RELEASE/VoodooPS2Controller.kext" "${dir}/OC/Kexts"`); @@ -303,16 +304,16 @@ electron.ipcMain.on('swap-files', (evt, dir, kexts) => { cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/NVMeFix-1.0.9-RELEASE/NVMeFix.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('itlwm.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/itlwm-2.0.0/itlwm.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/itlwm-2.1.0/itlwm.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('AirportItlwm.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AirportItlwm-2.0.0/AirportItlwm.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/AirportItlwm-2.1.0/${os.release().startsWith('21.') ? 'Monterey' : (os.release().startsWith('20.') ? 'Big Sur' : (os.release().startsWith('19.') ? 'Catalina' : (os.release().startsWith('18.') ? 'Mojave' : 'High Sierra')))}/AirportItlwm.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('IntelBluetoothFirmware.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/IntelBluetoothFirmware-2.0.1/IntelBluetoothFirmware-v2.0.1/IntelBluetoothFirmware.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/IntelBluetoothFirmware-2.1.0/IntelBluetoothFirmware.kext" "${dir}/OC/Kexts"`); } if (kexts.includes('IntelBluetoothInjector.kext')) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/IntelBluetoothFirmware-2.0.1/IntelBluetoothFirmware-v2.0.1/IntelBluetoothInjector.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/IntelBluetoothFirmware-2.1.0/IntelBluetoothInjector.kext" "${dir}/OC/Kexts"`); } // CpuTscSync.kext -> replace with CpuTscSync-1.0.5-RELEASE/CpuTscSync.kext if (kexts.includes('CpuTscSync.kext')) { @@ -385,13 +386,13 @@ electron.ipcMain.on('swap-files', (evt, dir, kexts) => { cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/RealtekCardReader-0.9.6-RELEASE/RealtekCardReader.kext" "${dir}/OC/Kexts"`); } if (kexts.includes("RealtekCardReaderFriend.kext")) { - cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/RealtekCardReaderFriend-1.0.1-RELEASE/RealtekCardReaderFriend.kext" "${dir}/OC/Kexts"`); + cp.execSync(`cp -r "${os.homedir()}/.oc-update/${PID}/RealtekCardReaderFriend-1.0.2-RELEASE/RealtekCardReaderFriend.kext" "${dir}/OC/Kexts"`); } evt.returnValue = 'success' }); electron.ipcMain.on('update-config-plist', (evt, efidir, ocver) => { while (true) { - if (ocver == 76) break; + if (ocver == 77) break; console.log(updates[ocver.toString()]); if (updates[ocver.toString()].configPlistChange) { if (fs.readdirSync(`${efidir}/OC`).includes('config.plist')) { diff --git a/src/renderer.ts b/src/renderer.ts index ec6647f..319f6c5 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -11,7 +11,7 @@ function afterOcverSelection(ocver: string, efidir: string) { const ocverNum = Number(ocver.split('.').join('')); document.querySelector('#oc-version')!.innerHTML = ocver; document.querySelector('#using-kexts')!.innerHTML = kexts.join('
    '); - if (ocverNum < 76) { + if (ocverNum < 77) { document.querySelector('#is-outdated')!.innerHTML = isKorean ? '구버전 OpenCore를 사용하고 있어요.' : 'Your OpenCore is outdated.'; document.querySelector('#update')!.style.display = 'block'; document.querySelector('#update')?.addEventListener('click', async () => { diff --git a/src/update/076-to-077.ts b/src/update/076-to-077.ts new file mode 100644 index 0000000..f080f8a --- /dev/null +++ b/src/update/076-to-077.ts @@ -0,0 +1,41 @@ +// import plist and fs +import fs from 'fs'; +import plist from 'plist'; +export default { + from: 76, + configPlistChange: true, + exec: (file: string) => { + // read ${file} as utf8, parse it as plist, and save it to variable `plistParsed` + const plistParsed: any = plist.parse(fs.readFileSync(file, 'utf8')); + /* + set NVRAM - Add - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - SystemAudioVolumeDB to + + set UEFI - AppleInput - PointerPollMin to 10 + set UEFI - AppleInput - PointerPollMax to 80 + set UEFI - AppleInput - PointerPollMask to -1 + + set UEFI - Audio - AudioOutMask to -1 + set UEFI - Audio - DisconnectHda to false + set UEFI - Audio - MaximumGain to -15 + set UEFI - Audio - MinimumAssistGain to -30 + set UEFI - Audio - MinimumAudibleGain to -55 + remove UEFI - Audio - AudioOut + remove UEFI - Audio - MinimumVolume + remove UEFI - Audio - VolumeAmplifier + */ + plistParsed.NVRAM.Add['7C436110-AB2A-4BBB-A880-FE41995C9F82'].SystemAudioVolumeDB = Buffer.from([0xE2]); + plistParsed.UEFI.AppleInput.PointerPollMin = 10; + plistParsed.UEFI.AppleInput.PointerPollMax = 80; + plistParsed.UEFI.AppleInput.PointerPollMask = -1; + plistParsed.UEFI.Audio.AudioOutMask = -1; + plistParsed.UEFI.Audio.DisconnectHda = false; + plistParsed.UEFI.Audio.MaximumGain = -15; + plistParsed.UEFI.Audio.MinimumAssistGain = -30; + plistParsed.UEFI.Audio.MinimumAudibleGain = -55; + delete plistParsed.UEFI.Audio.AudioOut; + delete plistParsed.UEFI.Audio.MinimumVolume; + delete plistParsed.UEFI.Audio.VolumeAmplifier; + // write plistParsed to ${file} + fs.writeFileSync(file, plist.build(plistParsed)); + } +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index f726ccd..2f4f422 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -97,5 +97,5 @@ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ }, - "exclude": ["node_modules", "out", "dist"] + "include": ["src/**/*"] } diff --git a/yarn.lock b/yarn.lock index e7ea0f8..0318ad3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,15 +103,20 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@^16.11.6": - version "16.11.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" - integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== +"@types/node@*": + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.8.tgz#50d680c8a8a78fe30abe6906453b21ad8ab0ad7b" + integrity sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg== "@types/node@^14.6.2": - version "14.18.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.0.tgz#98df2397f6936bfbff4f089e40e06fa5dd88d32a" - integrity sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ== + version "14.18.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.5.tgz#0dd636fe7b2c6055cbed0d4ca3b7fb540f130a96" + integrity sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A== + +"@types/node@^16.11.6": + version "16.11.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.19.tgz#1afa165146997b8286b6eabcb1c2d50729055169" + integrity sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng== "@types/plist@^3.0.1": version "3.0.2" @@ -132,9 +137,9 @@ integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^17.0.1": - version "17.0.7" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.7.tgz#44a484c634761da4391477515a98772b82b5060f" - integrity sha512-OvLKmpKdea1aWtqHv9bxVVcMoT6syAeK+198dfETIFkAevYRGwqh4H+KFxfjUETZuUuE5sQCAFwdOdoHUdo8eg== + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" + integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== dependencies: "@types/yargs-parser" "*" @@ -395,9 +400,9 @@ cacheable-request@^6.0.0: responselike "^1.0.2" camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== chalk@^2.4.2: version "2.4.2" @@ -738,9 +743,9 @@ electron-publish@22.14.5: mime "^2.5.2" electron@^15.3.0: - version "15.3.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-15.3.3.tgz#e66c6c6fbcd74641dbfafe5e101228d2b7734c7b" - integrity sha512-tr4UaMosN6+s8vSbx6OxqRXDTTCBjjJkmDMv0b0sg8f+cRFQeY0u7xYbULpXS4B1+hHJmdh7Nz40Qpv0bJXa6w== + version "15.3.5" + resolved "https://registry.yarnpkg.com/electron/-/electron-15.3.5.tgz#62fc7d2289d3f47e9e05c0aa9bb6d929a6faf398" + integrity sha512-z0/7+p3uZYBmjf7UEVBfcMTVgW6ThGgfI4jdbQ1TH4XOLYkj560/abv91/s8kK0MZ7JQg4KRP1JwQZ4q6+BPFw== dependencies: "@electron/get" "^1.13.0" "@types/node" "^14.6.2" @@ -959,9 +964,9 @@ got@^9.6.0: url-parse-lax "^3.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -984,9 +989,9 @@ has-yarn@^2.1.0: integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== hosted-git-info@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" @@ -1693,9 +1698,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@^4.4.4: - version "4.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" - integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== + version "4.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" + integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== unique-string@^2.0.0: version "2.0.0" @@ -1836,9 +1841,9 @@ yargs-parser@^21.0.0: integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== yargs@^17.0.1: - version "17.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.0.tgz#295c4ffd0eef148ef3e48f7a2e0f58d0e4f26b1c" - integrity sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew== + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== dependencies: cliui "^7.0.2" escalade "^3.1.1"