[+] Add acidanthera kexts

This commit is contained in:
Azalea (on HyDEV-Daisy)
2022-11-04 00:30:10 -04:00
parent 14f30be6ca
commit 03b70c1fe7
3 changed files with 74 additions and 16 deletions
+19 -5
View File
@@ -1,4 +1,7 @@
Repos:
AirPortBrcm4360_Injector: https://github.com/acidanthera/AirportBrcmFixup
AirportBrcmFixup: https://github.com/acidanthera/AirportBrcmFixup
AirPortBrcmNIC_Injector: https://github.com/acidanthera/AirportBrcmFixup
AirportItlwm-BigSur:
Artifact: .*BigSur.*
Repo: &itlwm https://github.com/OpenIntelWireless/itlwm
@@ -26,7 +29,11 @@ Repos:
BrcmPatchRAM3: *brcm
BrcmPatchRAM: *brcm
BrightnessKeys: https://github.com/acidanthera/BrightnessKeys
CPUFriend: https://github.com/acidanthera/CPUFriend
CpuTscSync: https://github.com/acidanthera/CpuTscSync
CryptexFixup.kext: https://github.com/acidanthera/CryptexFixup
DebugEnhancer: https://github.com/acidanthera/DebugEnhancer
FeatureUnlock.kext: https://github.com/acidanthera/FeatureUnlock
HibernationFixup: https://github.com/acidanthera/HibernationFixup
IntelBluetoothFirmware: &itlbf https://github.com/OpenIntelWireless/IntelBluetoothFirmware
IntelBluetoothInjector: *itlbf
@@ -34,26 +41,33 @@ Repos:
IntelMausi: &imausi https://github.com/acidanthera/IntelMausi
IntelSnowMausi: *imausi
Lilu: https://github.com/acidanthera/Lilu
MacHyperVSupport: https://github.com/acidanthera/MacHyperVSupport
MacHyperVSupportMonterey: https://github.com/acidanthera/MacHyperVSupport
NVMeFix: https://github.com/acidanthera/NVMeFix
RealtekCardReader: https://github.com/0xFireWolf/RealtekCardReader
RealtekCardReaderFriend: https://github.com/0xFireWolf/RealtekCardReaderFriend
RealtekRTL8111: https://github.com/Mieze/RTL8111_driver_for_OS_X
VirtualSMC: &smc https://github.com/acidanthera/VirtualSMC
SMCBatteryManager: *smc
RestrictEvents: https://github.com/acidanthera/RestrictEvents
RTCMemoryFixup: https://github.com/acidanthera/RTCMemoryFixup
SMCBatteryManager: &smc https://github.com/acidanthera/VirtualSMC
SMCDellSensors: *smc
SMCLightSensor: *smc
SMCProcessor: *smc
SMCSuperIO: *smc
UEFIGraphicsFB: https://github.com/acidanthera/UEFIGraphicsFB
USBInjectAll: https://github.com/Sniki/OS-X-USB-Inject-All
USBToolBox: &utb https://github.com/USBToolBox/kext
UTBDefault: *utb
VirtualSMC: *smc
VoodooI2C: &i2c https://github.com/VoodooI2C/VoodooI2C
VoodooI2CAtmelMXT: *i2c
VoodooI2CELANL: *i2c
VoodooI2CFTE: *i2c
VoodooI2CHID: *i2c
VoodooI2CSynaptics: *i2c
VoodooInput: https://github.com/acidanthera/VoodooInput
VoodooPS2Controller: https://github.com/acidanthera/VoodooPS2
VoodooInput: &ps2 https://github.com/acidanthera/VoodooPS2
VoodooPS2Controller: *ps2
VoodooPS2Keyboard: *ps2
VoodooPS2Mouse: *ps2
VoodooPS2Trackpad: *ps2
WhateverGreen: https://github.com/acidanthera/WhateverGreen
+31 -11
View File
@@ -29,7 +29,36 @@ except Exception:
bar_len = 20
def get_latest_release(name: str, repos: dict, pre: bool):
def get_latest_release_repo(repo: str, pre: bool) -> Release:
"""
Fetch the latest release info from a repository
:param repo: GitHub repo in the format of owner/repo
:param pre: Whether to allow pre-releases
:return: Latest release
"""
# Check latest version
headers = {}
if 'GH_TOKEN' in os.environ:
headers['Authorization'] = f'token {os.environ["GH_TOKEN"]}'
releases = requests.get(f'https://api.github.com/repos/{repo}/releases', headers=headers).json()
if not pre:
releases = [r for r in releases if not r['prerelease']]
latest = releases[0]
return Release.from_github(latest)
def get_latest_release(name: str, repos: dict, pre: bool) -> Release:
"""
Fetch the latest release info from a name in the repository list yml
:param name: Unique name
:param repos: Repository list yml (Check out data/OCKextRepos.yml)
:param pre: Whether to allow pre-releases
:return: Latest release
"""
# Lowercase keys
repos = {k.lower(): v for k, v in repos['Repos'].items()}
name = name.lower()
@@ -47,16 +76,7 @@ def get_latest_release(name: str, repos: dict, pre: bool):
assert 'github.com/' in repo, f'For {name}: {repo} is not a github repo, skipping...'
repo = repo.split('github.com/')[1]
# Check latest version
headers = {}
if 'GH_TOKEN' in os.environ:
headers['Authorization'] = f'token {os.environ["GH_TOKEN"]}'
releases = requests.get(f'https://api.github.com/repos/{repo}/releases', headers=headers).json()
if not pre:
releases = [r for r in releases if not r['prerelease']]
latest = releases[0]
return Release.from_github(latest)
return get_latest_release_repo(repo, pre)
def download_file(url: str, file: str | Path):
+24
View File
@@ -0,0 +1,24 @@
from pathlib import Path
from tempfile import TemporaryDirectory
from zipfile import ZipFile
from ocpm.main import download_file, get_latest_release_repo
if __name__ == '__main__':
while True:
repo = input("Please type in github repo name (e.g. owner/repo): ")
release = get_latest_release_repo(repo, False)
with TemporaryDirectory() as tmp:
tmp = Path(tmp)
download_file(release.artifact.url, tmp / "artifact.zip")
with ZipFile(tmp / 'artifact.zip', 'r') as f:
names = [a.strip('/') for a in f.namelist() if a.lower().endswith('.kext/')]
print('\n'.join(names))
repos_path = Path('ocpm/data/OCKextRepos.yml')
yml = ''.join(f'\n {Path(a).stem}: https://github.com/{repo}' for a in names)
repos_path.write_text(repos_path.read_text() + yml)