Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab49252161 | ||
|
|
378254a544 | ||
|
|
9ffc657a30 | ||
|
|
61fb95392c | ||
|
|
3377982982 | ||
|
|
06a98d290e | ||
|
|
4e5f6cbe3d | ||
|
|
9af1164e6c | ||
|
|
e344569b0a | ||
|
|
5606bcdfe9 |
No files matched your search
+1
-1
@@ -8,7 +8,7 @@ EXCLUDED_EXTENSIONS = {
|
|||||||
'.bat', '.txt', '.exe', '.mp4', '.py', '.bak', '.zip',
|
'.bat', '.txt', '.exe', '.mp4', '.py', '.bak', '.zip',
|
||||||
'.mp3', '.sh', '.h', '.c', '.o', '.ld', '.md', '.d'
|
'.mp3', '.sh', '.h', '.c', '.o', '.ld', '.md', '.d'
|
||||||
}
|
}
|
||||||
EXCLUDED_FILES = {'.gitignore', 'COPYING', 'LICENSE', 'MAKEFILE', 'dockerfile', '.gitinclude', '.prettierrc'}
|
EXCLUDED_FILES = {'.gitignore', 'COPYING', 'LICENSE', 'MAKEFILE', 'dockerfile', '.gitinclude', '.prettierrc', '.keepgithub'}
|
||||||
OUTPUT_FILE = 'PSFree.manifest'
|
OUTPUT_FILE = 'PSFree.manifest'
|
||||||
|
|
||||||
def create_manifest():
|
def create_manifest():
|
||||||
|
|||||||
+215
-11
@@ -1,6 +1,6 @@
|
|||||||
CACHE MANIFEST
|
CACHE MANIFEST
|
||||||
# v1
|
# v1
|
||||||
# Generated on 2025-11-24 13:48:18.211470
|
# Generated on 2026-01-28 21:38:30.034606
|
||||||
|
|
||||||
CACHE:
|
CACHE:
|
||||||
index.html
|
index.html
|
||||||
@@ -24,11 +24,6 @@ includes/payloads/Bins/GTA/BeefQueefMod-1.38.bin
|
|||||||
includes/payloads/Bins/GTA/WildeModz-1.32.bin
|
includes/payloads/Bins/GTA/WildeModz-1.32.bin
|
||||||
includes/payloads/Bins/GTA/WildeModz-1.33.bin
|
includes/payloads/Bins/GTA/WildeModz-1.33.bin
|
||||||
includes/payloads/Bins/GTA/WildeModz-1.38.bin
|
includes/payloads/Bins/GTA/WildeModz-1.38.bin
|
||||||
includes/payloads/Bins/Linux/LinuxLoader-900-2gb.bin
|
|
||||||
includes/payloads/Bins/Linux/LinuxLoader-900-3gb.bin
|
|
||||||
includes/payloads/Bins/Linux/LinuxLoader-900-4gb.bin
|
|
||||||
includes/payloads/Bins/Linux/LinuxLoader-900-5gb.bin
|
|
||||||
includes/payloads/Bins/Linux/LinuxLoader-900.bin
|
|
||||||
includes/payloads/Bins/RDR2/OystersMenu-1.00-FREE.bin
|
includes/payloads/Bins/RDR2/OystersMenu-1.00-FREE.bin
|
||||||
includes/payloads/Bins/RDR2/OystersMenu-1.13-FREE.bin
|
includes/payloads/Bins/RDR2/OystersMenu-1.13-FREE.bin
|
||||||
includes/payloads/Bins/RDR2/OystersMenu-1.19-FREE.bin
|
includes/payloads/Bins/RDR2/OystersMenu-1.19-FREE.bin
|
||||||
@@ -38,6 +33,7 @@ includes/payloads/Bins/Tools/Orbis-Toolbox-900.bin
|
|||||||
includes/payloads/Bins/Tools/ToCex.bin
|
includes/payloads/Bins/Tools/ToCex.bin
|
||||||
includes/payloads/Bins/Tools/ToDev.bin
|
includes/payloads/Bins/Tools/ToDev.bin
|
||||||
includes/payloads/Bins/Tools/ToKratos.bin
|
includes/payloads/Bins/Tools/ToKratos.bin
|
||||||
|
includes/payloads/Bins/Tools/WebRTE.bin
|
||||||
includes/payloads/Bins/Tools/appcache-install.bin
|
includes/payloads/Bins/Tools/appcache-install.bin
|
||||||
includes/payloads/Bins/Tools/ps4-app2usb.bin
|
includes/payloads/Bins/Tools/ps4-app2usb.bin
|
||||||
includes/payloads/Bins/Tools/ps4-backup.bin
|
includes/payloads/Bins/Tools/ps4-backup.bin
|
||||||
@@ -54,10 +50,9 @@ includes/payloads/Bins/Tools/ps4-rif-renamer.bin
|
|||||||
includes/payloads/Bins/Tools/ps4-todex.bin
|
includes/payloads/Bins/Tools/ps4-todex.bin
|
||||||
includes/payloads/Bins/Tools/ps4debug.bin
|
includes/payloads/Bins/Tools/ps4debug.bin
|
||||||
includes/payloads/Bins/Tools/pup-decrypt.bin
|
includes/payloads/Bins/Tools/pup-decrypt.bin
|
||||||
includes/payloads/Bins/Tools/WebRTE.bin
|
|
||||||
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold80.bin
|
|
||||||
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold70.bin
|
|
||||||
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold60.bin
|
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold60.bin
|
||||||
|
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold70.bin
|
||||||
|
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold80.bin
|
||||||
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold85.bin
|
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold85.bin
|
||||||
includes/payloads/GoldHEN/goldhen_v2.3_702L.bin
|
includes/payloads/GoldHEN/goldhen_v2.3_702L.bin
|
||||||
includes/payloads/GoldHEN/goldhen_v2.3_755L.bin
|
includes/payloads/GoldHEN/goldhen_v2.3_755L.bin
|
||||||
@@ -65,14 +60,223 @@ includes/payloads/GoldHEN/goldhen_v2.4b18.2.bin
|
|||||||
includes/payloads/GoldHEN/goldhen_v2.4b18.4.bin
|
includes/payloads/GoldHEN/goldhen_v2.4b18.4.bin
|
||||||
includes/payloads/GoldHEN/goldhen_v2.4b18.5.bin
|
includes/payloads/GoldHEN/goldhen_v2.4b18.5.bin
|
||||||
includes/payloads/GoldHEN/goldhen_v2.4b18.6.bin
|
includes/payloads/GoldHEN/goldhen_v2.4b18.6.bin
|
||||||
includes/payloads/GoldHEN/goldhen_v2.4b18.bin
|
|
||||||
includes/payloads/GoldHEN/goldhen_v2.4b18.7.bin
|
includes/payloads/GoldHEN/goldhen_v2.4b18.7.bin
|
||||||
|
includes/payloads/GoldHEN/goldhen_v2.4b18.bin
|
||||||
|
includes/payloads/GoldHEN/goldhen_v2.4b18.8.bin
|
||||||
includes/payloads/HEN/HEN.bin
|
includes/payloads/HEN/HEN.bin
|
||||||
|
includes/payloads/Linux/fw700/payload-700-1gb.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-2gb.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-3gb.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-4gb.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw700/payload-700-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-2gb.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-3gb.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-4gb.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw900/payload-900-1gb.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-1gb.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-2gb.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-3gb.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-4gb.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw903/payload-903-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-1gb.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-2gb.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-3gb.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-4gb.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw960/payload-960-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1000/payload-1000-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1050/payload-1050-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1100/payload-1100-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1102/payload-1102-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1150/payload-1150-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1200/payload-1200-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1250/payload-1250-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1300/payload-1300-4gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-1gb.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-1gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-1gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-1gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-2gb.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-2gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-2gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-2gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-3gb.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-3gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-3gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-3gb-pro-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-4gb.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-4gb-pro.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-4gb-baikal.elf
|
||||||
|
includes/payloads/Linux/fw1302/payload-1302-4gb-pro-baikal.elf
|
||||||
|
src/alert.mjs
|
||||||
src/config.mjs
|
src/config.mjs
|
||||||
src/lapse.mjs
|
src/lapse.mjs
|
||||||
src/psfree.mjs
|
src/psfree.mjs
|
||||||
src/send.mjs
|
src/send.mjs
|
||||||
src/alert.mjs
|
|
||||||
src/fonts/FONTS.LICENSE
|
src/fonts/FONTS.LICENSE
|
||||||
src/fonts/LiberationMono-Regular.ttf
|
src/fonts/LiberationMono-Regular.ttf
|
||||||
src/kpatch/700.bin
|
src/kpatch/700.bin
|
||||||
|
|||||||
@@ -439,6 +439,7 @@ section { /* Apply to initial-screen and exploit-main-screen */
|
|||||||
.tabs button[aria-selected="true"] {
|
.tabs button[aria-selected="true"] {
|
||||||
border-color: var(--color-blue-500);
|
border-color: var(--color-blue-500);
|
||||||
color: var(--color-blue-500);
|
color: var(--color-blue-500);
|
||||||
|
border-bottom: 1px solid var(--color-blue-500);
|
||||||
}
|
}
|
||||||
.tabs button:not([aria-selected="true"]):hover {
|
.tabs button:not([aria-selected="true"]):hover {
|
||||||
color: var(--color-gray-600);
|
color: var(--color-gray-600);
|
||||||
@@ -505,3 +506,11 @@ button{
|
|||||||
width: 78%;
|
width: 78%;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#southbridgeHeader details summary{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#southbridgeHelp{
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
+154
-78
@@ -1,9 +1,15 @@
|
|||||||
// @ts-nocheck
|
// @ts-nocheck
|
||||||
let currentLanguage = localStorage.getItem('language') || 'en';
|
var user = {
|
||||||
let currentJbFlavor = localStorage.getItem('jailbreakFlavor') || 'GoldHEN';
|
currentLanguage: localStorage.getItem('language') || 'en',
|
||||||
let platform = "Unknown";
|
currentJbFlavor: localStorage.getItem('jailbreakFlavor') || 'GoldHEN',
|
||||||
|
southbridge: localStorage.getItem('southbridge'),
|
||||||
|
ps4Model: localStorage.getItem('ps4Model'), // Fat/Slim/Pro
|
||||||
|
platform: "Unknown", // PS4/PC/Mobile etc..
|
||||||
|
lastTab: localStorage.getItem('lastTab') || 'tools'
|
||||||
|
}
|
||||||
let lastScrollY = 0;
|
let lastScrollY = 0;
|
||||||
let lastSection = "initial";
|
let lastSection = "initial";
|
||||||
|
var linuxPayloadsRendered = false;
|
||||||
const ui = {
|
const ui = {
|
||||||
mainContainer: document.querySelector('.mainContainer'),
|
mainContainer: document.querySelector('.mainContainer'),
|
||||||
|
|
||||||
@@ -385,54 +391,47 @@ const payloads = [
|
|||||||
specificFW: "",
|
specificFW: "",
|
||||||
category: "games",
|
category: "games",
|
||||||
funcName: "load_Oysters129"
|
funcName: "load_Oysters129"
|
||||||
},
|
}
|
||||||
{
|
|
||||||
id: "Linux1GB",
|
|
||||||
name: "Linux-1GB",
|
|
||||||
author: "Nazky",
|
|
||||||
description: "Linux payload for PS4",
|
|
||||||
specificFW: "9.00",
|
|
||||||
category: "linux",
|
|
||||||
funcName: "load_Linux"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "Linux2GB",
|
|
||||||
name: "Linux-2GB",
|
|
||||||
author: "Nazky",
|
|
||||||
description: "Linux payload for PS4",
|
|
||||||
specificFW: "9.00",
|
|
||||||
category: "linux",
|
|
||||||
funcName: "load_Linux2gb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "Linux3GB",
|
|
||||||
name: "Linux-3GB",
|
|
||||||
author: "Nazky",
|
|
||||||
description: "Loads a 3GB Linux payload for dual-booting.",
|
|
||||||
specificFW: "9.00",
|
|
||||||
category: "linux",
|
|
||||||
funcName: "load_Linux3gb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "Linux4GB",
|
|
||||||
name: "Linux-4GB",
|
|
||||||
author: "Nazky",
|
|
||||||
description: "Loads a 4GB Linux payload for dual-booting.",
|
|
||||||
specificFW: "9.00",
|
|
||||||
category: "linux",
|
|
||||||
funcName: "load_Linux4gb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "Linux5GB",
|
|
||||||
name: "Linux-5GB",
|
|
||||||
author: "Nazky",
|
|
||||||
description: "Loads a 5GB Linux payload for dual-booting.",
|
|
||||||
specificFW: "9.00",
|
|
||||||
category: "linux",
|
|
||||||
funcName: "load_Linux5gb"
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var linuxPayloads = [
|
||||||
|
{
|
||||||
|
id: "Linux1gb",
|
||||||
|
name: "Linux Loader 1GB",
|
||||||
|
author: "ps4boot",
|
||||||
|
description: "Linux Loader for {southbridge} PS4 {model} Southbridge with 1GB VRAM. Select for first install",
|
||||||
|
specificFW: "7.00 - 13.02",
|
||||||
|
category: "linux",
|
||||||
|
funcName: "load_Linux1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "Linux2gb",
|
||||||
|
name: "Linux Loader 2GB",
|
||||||
|
author: "ps4boot",
|
||||||
|
description: "Linux Loader for {southbridge} PS4 {model} Southbridge with 2GB VRAM.",
|
||||||
|
specificFW: "7.00 - 13.02",
|
||||||
|
category: "linux",
|
||||||
|
funcName: "load_Linux2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "Linux3gb",
|
||||||
|
name: "Linux Loader 3GB",
|
||||||
|
author: "ps4boot",
|
||||||
|
description: "Linux Loader for {southbridge} PS4 {model} Southbridge with 3GB VRAM.",
|
||||||
|
specificFW: "7.00 - 13.02",
|
||||||
|
category: "linux",
|
||||||
|
funcName: "load_Linux3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "Linux4gb",
|
||||||
|
name: "Linux Loader 4GB",
|
||||||
|
author: "ps4boot",
|
||||||
|
description: "Linux Loader for {southbridge} Southbridge with 4GB VRAM.",
|
||||||
|
specificFW: "7.00 - 13.02",
|
||||||
|
category: "linux",
|
||||||
|
funcName: "load_Linux4"
|
||||||
|
}
|
||||||
|
]
|
||||||
// Events
|
// Events
|
||||||
// Scroll snap for the PS4
|
// Scroll snap for the PS4
|
||||||
ui.mainContainer.addEventListener('scroll', () => {
|
ui.mainContainer.addEventListener('scroll', () => {
|
||||||
@@ -468,8 +467,14 @@ ui.toolsTab.addEventListener('click', () =>{
|
|||||||
ui.toolsSection.classList.remove('hidden');
|
ui.toolsSection.classList.remove('hidden');
|
||||||
ui.linuxSection.classList.add('hidden');
|
ui.linuxSection.classList.add('hidden');
|
||||||
ui.gamesSection.classList.add('hidden');
|
ui.gamesSection.classList.add('hidden');
|
||||||
|
|
||||||
|
ui.toolsTab.setAttribute("aria-selected", "true");
|
||||||
|
ui.linuxTab.setAttribute("aria-selected", "false");
|
||||||
|
ui.gamesTab.setAttribute("aria-selected", "false");
|
||||||
}
|
}
|
||||||
ui.payloadsList.scrollTop = 0;
|
ui.payloadsList.scrollTop = 0;
|
||||||
|
// Update lastTap
|
||||||
|
saveLastTab('tools');
|
||||||
})
|
})
|
||||||
|
|
||||||
ui.linuxTab.addEventListener('click', () =>{
|
ui.linuxTab.addEventListener('click', () =>{
|
||||||
@@ -477,8 +482,14 @@ ui.linuxTab.addEventListener('click', () =>{
|
|||||||
ui.toolsSection.classList.add('hidden');
|
ui.toolsSection.classList.add('hidden');
|
||||||
ui.linuxSection.classList.remove('hidden');
|
ui.linuxSection.classList.remove('hidden');
|
||||||
ui.gamesSection.classList.add('hidden');
|
ui.gamesSection.classList.add('hidden');
|
||||||
|
|
||||||
|
ui.toolsTab.setAttribute("aria-selected", "false");
|
||||||
|
ui.linuxTab.setAttribute("aria-selected", "true");
|
||||||
|
ui.gamesTab.setAttribute("aria-selected", "false");
|
||||||
}
|
}
|
||||||
ui.payloadsList.scrollTop = 0;
|
ui.payloadsList.scrollTop = 0;
|
||||||
|
// Update lastTap
|
||||||
|
saveLastTab('linux');
|
||||||
})
|
})
|
||||||
|
|
||||||
ui.gamesTab.addEventListener('click', () =>{
|
ui.gamesTab.addEventListener('click', () =>{
|
||||||
@@ -486,9 +497,26 @@ ui.gamesTab.addEventListener('click', () =>{
|
|||||||
ui.toolsSection.classList.add('hidden');
|
ui.toolsSection.classList.add('hidden');
|
||||||
ui.linuxSection.classList.add('hidden');
|
ui.linuxSection.classList.add('hidden');
|
||||||
ui.gamesSection.classList.remove('hidden');
|
ui.gamesSection.classList.remove('hidden');
|
||||||
|
|
||||||
|
ui.toolsTab.setAttribute("aria-selected", "false");
|
||||||
|
ui.linuxTab.setAttribute("aria-selected", "false");
|
||||||
|
ui.gamesTab.setAttribute("aria-selected", "true");
|
||||||
}
|
}
|
||||||
ui.payloadsList.scrollTop = 0;
|
ui.payloadsList.scrollTop = 0;
|
||||||
|
// Update lastTap
|
||||||
|
saveLastTab('games');
|
||||||
|
|
||||||
})
|
})
|
||||||
|
// payloads tabs
|
||||||
|
function loadLastTab(){
|
||||||
|
document.getElementById(user.lastTab).classList.remove('hidden');
|
||||||
|
document.getElementById(user.lastTab + '-tab').setAttribute("aria-selected", "true");
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveLastTab(tab){
|
||||||
|
user.lastTab = tab;
|
||||||
|
localStorage.setItem('lastTab', tab);
|
||||||
|
}
|
||||||
|
|
||||||
// popups
|
// popups
|
||||||
function aboutPopup() {
|
function aboutPopup() {
|
||||||
@@ -514,7 +542,7 @@ async function jailbreak() {
|
|||||||
]);
|
]);
|
||||||
const JailbreakModule = modules[0];
|
const JailbreakModule = modules[0];
|
||||||
|
|
||||||
if (currentJbFlavor == 'GoldHEN') {
|
if (user.currentJbFlavor == 'GoldHEN') {
|
||||||
if (JailbreakModule && typeof JailbreakModule.GoldHEN === 'function') {
|
if (JailbreakModule && typeof JailbreakModule.GoldHEN === 'function') {
|
||||||
JailbreakModule.GoldHEN();
|
JailbreakModule.GoldHEN();
|
||||||
} else {
|
} else {
|
||||||
@@ -574,30 +602,30 @@ function setGoldHENVer(value){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function loadGoldHENVer(){
|
function loadGoldHENVer(){
|
||||||
const goldHenVer = localStorage.getItem("GHVer") || "GHv2.4b18.7";
|
const goldHenVer = localStorage.getItem("GHVer") || "GHv2.4b18.8";
|
||||||
document.querySelector(`input[name="goldhen"][value="${goldHenVer}"]`).checked = true;
|
document.querySelector(`input[name="goldhen"][value="${goldHenVer}"]`).checked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function loadLanguage() {
|
function loadLanguage() {
|
||||||
document.querySelector(`input[name="language"][value="${currentLanguage}"]`).checked = true;
|
document.querySelector(`input[name="language"][value="${user.currentLanguage}"]`).checked = true;
|
||||||
const langScript = document.getElementById("langScript");
|
const langScript = document.getElementById("langScript");
|
||||||
if(langScript) langScript.remove();
|
if(langScript) langScript.remove();
|
||||||
// load language file
|
// load language file
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const script = document.createElement('script');
|
const script = document.createElement('script');
|
||||||
script.src = `./includes/js/languages/${currentLanguage}.js`;
|
script.src = `./includes/js/languages/${user.currentLanguage}.js`;
|
||||||
script.onload = () => resolve(window.lang);
|
script.onload = () => resolve(window.lang);
|
||||||
script.id = "langScript";
|
script.id = "langScript";
|
||||||
script.onerror = () => reject(new Error(`Failed to load ${currentLanguage}`));
|
script.onerror = () => reject(new Error(`Failed to load ${user.currentLanguage}`));
|
||||||
document.head.appendChild(script);
|
document.head.appendChild(script);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// Apply lanuage after loading the language file
|
// Apply lanuage after loading the language file
|
||||||
async function initLanguage() {
|
async function initLanguage() {
|
||||||
try {
|
try {
|
||||||
await loadLanguage(currentLanguage);
|
await loadLanguage();
|
||||||
applyLanguage(currentLanguage);
|
applyLanguage(user.currentLanguage);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
@@ -605,7 +633,7 @@ async function initLanguage() {
|
|||||||
|
|
||||||
// Update UI langauge
|
// Update UI langauge
|
||||||
function applyLanguage(lang) {
|
function applyLanguage(lang) {
|
||||||
currentLanguage = lang;
|
user.currentLanguage = lang;
|
||||||
const strings = window.lang
|
const strings = window.lang
|
||||||
|
|
||||||
if (!strings) {
|
if (!strings) {
|
||||||
@@ -640,8 +668,8 @@ function applyLanguage(lang) {
|
|||||||
|
|
||||||
// Document Properties
|
// Document Properties
|
||||||
document.title = strings.title || "PSFree Enhanced";
|
document.title = strings.title || "PSFree Enhanced";
|
||||||
document.dir = (currentLanguage === 'ar') ? 'rtl' : 'ltr';
|
document.dir = (user.currentLanguage === 'ar') ? 'rtl' : 'ltr';
|
||||||
document.lang = currentLanguage;
|
document.lang = user.currentLanguage;
|
||||||
|
|
||||||
|
|
||||||
// PS4 Firmware Status Check
|
// PS4 Firmware Status Check
|
||||||
@@ -650,7 +678,7 @@ function applyLanguage(lang) {
|
|||||||
|
|
||||||
if (ps4Fw === undefined) {
|
if (ps4Fw === undefined) {
|
||||||
if (strings.notPs4 && strings.notPs4.length > 0) {
|
if (strings.notPs4 && strings.notPs4.length > 0) {
|
||||||
ps4StatusElement.textContent = strings.notPs4 + platform;
|
ps4StatusElement.textContent = strings.notPs4 + user.platform;
|
||||||
}
|
}
|
||||||
ps4StatusElement.style.color = 'red';
|
ps4StatusElement.style.color = 'red';
|
||||||
} else if (ps4Fw <= 9.60) {
|
} else if (ps4Fw <= 9.60) {
|
||||||
@@ -679,6 +707,7 @@ function applyLanguage(lang) {
|
|||||||
|
|
||||||
updateText(ui.aboutPopup.querySelector('#PS4FWOK h3'), 'ps4FirmwareSupportedHeader');
|
updateText(ui.aboutPopup.querySelector('#PS4FWOK h3'), 'ps4FirmwareSupportedHeader');
|
||||||
updateText(ui.aboutPopup.querySelector('#close-about'), 'closeButton');
|
updateText(ui.aboutPopup.querySelector('#close-about'), 'closeButton');
|
||||||
|
updateText(ui.aboutPopup.querySelector('#goldhenFirmwareSemiSupported i'), 'goldhenFirmwareSemiSupported')
|
||||||
|
|
||||||
// Fan Threshold
|
// Fan Threshold
|
||||||
updateText(ui.chooseFanThreshold.querySelector('#close-fanChoose'), 'closeButton');
|
updateText(ui.chooseFanThreshold.querySelector('#close-fanChoose'), 'closeButton');
|
||||||
@@ -694,6 +723,10 @@ function applyLanguage(lang) {
|
|||||||
updateText(ui.settingsPopup.querySelector('#ghVer'), 'ghVer');
|
updateText(ui.settingsPopup.querySelector('#ghVer'), 'ghVer');
|
||||||
updateText(ui.settingsPopup.querySelector('#chooseGoldHEN summary'), 'otherVer');
|
updateText(ui.settingsPopup.querySelector('#chooseGoldHEN summary'), 'otherVer');
|
||||||
updateText(ui.settingsPopup.querySelector('#latestVer'), 'latestVer');
|
updateText(ui.settingsPopup.querySelector('#latestVer'), 'latestVer');
|
||||||
|
updateText(ui.settingsPopup.querySelector('#southbridgeHeader h3'), 'southbridgeHeader');
|
||||||
|
updateText(document.getElementById('southbridgeHelp'), 'southbridgeHelp');
|
||||||
|
updateText(document.getElementById('southbridgeHelp1'), 'southbridgeHelp1');
|
||||||
|
updateText(document.getElementById('southbridgeHelp2'), 'southbridgeHelp2');
|
||||||
|
|
||||||
// Warning element (Exploit section)
|
// Warning element (Exploit section)
|
||||||
const warningHeader = document.querySelector('#warningBox p');
|
const warningHeader = document.querySelector('#warningBox p');
|
||||||
@@ -727,7 +760,15 @@ function applyLanguage(lang) {
|
|||||||
updateText(ui.toolsTab, 'payloadsToolsHeader');
|
updateText(ui.toolsTab, 'payloadsToolsHeader');
|
||||||
updateText(ui.linuxTab, 'payloadsLinuxHeader');
|
updateText(ui.linuxTab, 'payloadsLinuxHeader');
|
||||||
updateText(ui.gamesTab, 'payloadsGameHeader');
|
updateText(ui.gamesTab, 'payloadsGameHeader');
|
||||||
|
if (!linuxPayloadsRendered){
|
||||||
|
updateText(document.querySelector("#" + ui.linuxSection.id + " button") , 'selectSouthbridge');
|
||||||
|
}
|
||||||
updateText(ui.consoleElement.querySelector('center'), 'waitingUserInput');
|
updateText(ui.consoleElement.querySelector('center'), 'waitingUserInput');
|
||||||
|
|
||||||
|
// Change direction of 'Default' option text for the fan threshold panel
|
||||||
|
if (user.currentLanguage == "ar"){
|
||||||
|
document.getElementById("defaultTempDiv").style.float = "left";
|
||||||
|
}else document.getElementById("defaultTempDiv").style.float = "right";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -735,11 +776,11 @@ function saveJbFlavor(name, value) {
|
|||||||
localStorage.setItem("jailbreakFlavor", value);
|
localStorage.setItem("jailbreakFlavor", value);
|
||||||
// Apply hen selector to both inputs
|
// Apply hen selector to both inputs
|
||||||
document.querySelector(`input[name="${name == "hen" ? "hen2" : "hen"}"][value="${value}"]`).checked = true;
|
document.querySelector(`input[name="${name == "hen" ? "hen2" : "hen"}"][value="${value}"]`).checked = true;
|
||||||
currentJbFlavor = value;
|
user.currentJbFlavor = value;
|
||||||
};
|
};
|
||||||
|
|
||||||
function loadJbFlavor() {
|
function loadJbFlavor() {
|
||||||
const flavor = currentJbFlavor || 'GoldHEN';
|
const flavor = user.currentJbFlavor || 'GoldHEN';
|
||||||
const henRadio = document.querySelector(`input[name="hen"][value="${flavor}"]`);
|
const henRadio = document.querySelector(`input[name="hen"][value="${flavor}"]`);
|
||||||
const hen2Radio = document.querySelector(`input[name="hen2"][value="${flavor}"]`);
|
const hen2Radio = document.querySelector(`input[name="hen2"][value="${flavor}"]`);
|
||||||
|
|
||||||
@@ -752,17 +793,26 @@ function loadJbFlavor() {
|
|||||||
function saveLanguage() {
|
function saveLanguage() {
|
||||||
const language = document.querySelector('input[name="language"]:checked').value;
|
const language = document.querySelector('input[name="language"]:checked').value;
|
||||||
localStorage.setItem('language', language);
|
localStorage.setItem('language', language);
|
||||||
currentLanguage = language;
|
user.currentLanguage = language;
|
||||||
initLanguage();
|
initLanguage();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function loadSouthbridge(){
|
||||||
|
if (user.southbridge){
|
||||||
|
document.querySelector(`input[name="southbridge"][value="${user.southbridge}"]`).checked = true;
|
||||||
|
}
|
||||||
|
if (user.ps4Model){
|
||||||
|
document.querySelector(`input[name="ps4Model"][value="${user.ps4Model}"]`).checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function CheckFW() {
|
function CheckFW() {
|
||||||
const userAgent = navigator.userAgent;
|
const userAgent = navigator.userAgent;
|
||||||
const ps4Regex = /PlayStation 4/;
|
const ps4Regex = /PlayStation 4/;
|
||||||
let fwVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('5.0 (') + 19, navigator.userAgent.indexOf(') Apple')).replace("layStation 4/","");
|
let fwVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('5.0 (') + 19, navigator.userAgent.indexOf(') Apple')).replace("layStation 4/","");
|
||||||
let elementsToHide = [
|
let elementsToHide = [
|
||||||
'ps-logo-container', 'choosejb-initial', 'exploit-main-screen', 'scrollDown',
|
'ps-logo-container', 'choosejb-initial', 'exploit-main-screen', 'scrollDown',
|
||||||
'click-to-start-text', 'chooseGoldHEN'
|
'click-to-start-text', 'chooseGoldHEN', 'southbridgeHeader'
|
||||||
];
|
];
|
||||||
|
|
||||||
if (ps4Regex.test(userAgent)) {
|
if (ps4Regex.test(userAgent)) {
|
||||||
@@ -778,13 +828,14 @@ function CheckFW() {
|
|||||||
ui.secondHostBtn[0].style.display = "block";
|
ui.secondHostBtn[0].style.display = "block";
|
||||||
}else{
|
}else{
|
||||||
// modify elements inside elementsToHide for unsupported ps4 firmware to load using GoldHEN's BinLoader
|
// modify elements inside elementsToHide for unsupported ps4 firmware to load using GoldHEN's BinLoader
|
||||||
const toRemove = ['exploit-main-screen', 'scrollDown'];
|
const toRemove = ['exploit-main-screen', 'scrollDown', 'southbridgeHeader'];
|
||||||
elementsToHide = elementsToHide.filter(e => !toRemove.includes(e));
|
elementsToHide = elementsToHide.filter(e => !toRemove.includes(e));
|
||||||
elementsToHide.push('initial-screen', 'exploit-status-panel', 'henSelection');
|
elementsToHide.push('initial-screen', 'exploit-status-panel', 'henSelection');
|
||||||
document.getElementById('exploitContainer').style.display = "block";
|
document.getElementById('exploitContainer').style.display = "block";
|
||||||
// Sizing the payload's section
|
// Sizing the payload's section
|
||||||
ui.payloadsSection.style.width = "75%";
|
ui.payloadsSection.style.width = "75%";
|
||||||
ui.payloadsSection.style.margin = "auto";
|
ui.payloadsSection.style.margin = "auto";
|
||||||
|
document.getElementById('header2').classList.remove('hidden');
|
||||||
}
|
}
|
||||||
|
|
||||||
elementsToHide.forEach(id => {
|
elementsToHide.forEach(id => {
|
||||||
@@ -817,13 +868,13 @@ function CheckFW() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
platform = 'Unknown platform';
|
user.platform = 'Unknown platform';
|
||||||
|
|
||||||
if (/Android/.test(userAgent)) platform = 'Android';
|
if (/Android/.test(userAgent)) user.platform = 'Android';
|
||||||
else if (/iPhone|iPad|iPod/.test(userAgent)) platform = 'iOS';
|
else if (/iPhone|iPad|iPod/.test(userAgent)) user.platform = 'iOS';
|
||||||
else if (/Macintosh/.test(userAgent)) platform = 'MacOS';
|
else if (/Macintosh/.test(userAgent)) user.platform = 'MacOS';
|
||||||
else if (/Windows/.test(userAgent)) platform = 'Windows';
|
else if (/Windows/.test(userAgent)) user.platform = 'Windows';
|
||||||
else if (/Linux/.test(userAgent)) platform = 'Linux';
|
else if (/Linux/.test(userAgent)) user.platform = 'Linux';
|
||||||
|
|
||||||
document.getElementById('PS4FW').style.color = 'red';
|
document.getElementById('PS4FW').style.color = 'red';
|
||||||
elementsToHide.forEach(id => {
|
elementsToHide.forEach(id => {
|
||||||
@@ -838,8 +889,16 @@ function loadSettings() {
|
|||||||
try {
|
try {
|
||||||
CheckFW();
|
CheckFW();
|
||||||
loadJbFlavor();
|
loadJbFlavor();
|
||||||
initLanguage(currentLanguage);
|
loadSouthbridge();
|
||||||
renderPayloads();
|
initLanguage(user.currentLanguage);
|
||||||
|
renderPayloads(payloads);
|
||||||
|
loadLastTab();
|
||||||
|
// Render linux payloads
|
||||||
|
if (user.southbridge && user.ps4Model){
|
||||||
|
renderPayloads(linuxPayloads);
|
||||||
|
linuxPayloadsRendered = true;
|
||||||
|
document.querySelector("#" + ui.linuxSection.id + " button").remove();
|
||||||
|
}
|
||||||
loadGoldHENVer();
|
loadGoldHENVer();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
alert("Error in loadSettings: " + e.message);
|
alert("Error in loadSettings: " + e.message);
|
||||||
@@ -855,10 +914,8 @@ function getPayloadCategoryClass(category) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderPayloads() {
|
function renderPayloads(payloads) {
|
||||||
const payloadsToRender = payloads;
|
payloads.forEach(payload => {
|
||||||
|
|
||||||
payloadsToRender.forEach(payload => {
|
|
||||||
const payloadCard = document.createElement('div');
|
const payloadCard = document.createElement('div');
|
||||||
payloadCard.id = payload.id;
|
payloadCard.id = payload.id;
|
||||||
payloadCard.onclick = () => Loadpayloads(payload.funcName);
|
payloadCard.onclick = () => Loadpayloads(payload.funcName);
|
||||||
@@ -880,7 +937,7 @@ function renderPayloads() {
|
|||||||
${payload.category}
|
${payload.category}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-start text-white/70 text-sm leading-relaxed">${payload.description}</p>
|
<p class="text-start text-white/70 text-sm leading-relaxed">${payload.description.replace('{southbridge}', user.southbridge).replace('{model}', (user.ps4Model == "fs" ? "Fat/Slim" : "Pro"))}</p>
|
||||||
<div class="flex items-center justify-between text-xs text-white/60">
|
<div class="flex items-center justify-between text-xs text-white/60">
|
||||||
<p style="color: orange;">${payload.specificFW != '' ? payload.specificFW : ""} </p>
|
<p style="color: orange;">${payload.specificFW != '' ? payload.specificFW : ""} </p>
|
||||||
</div>
|
</div>
|
||||||
@@ -918,3 +975,22 @@ function DisplayCacheProgress() {
|
|||||||
location.reload();
|
location.reload();
|
||||||
}, 3000);
|
}, 3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save southbridge and ps4 model data
|
||||||
|
function ps4Info(southbridge, model){
|
||||||
|
if (southbridge) {
|
||||||
|
localStorage.setItem("southbridge", southbridge);
|
||||||
|
user.southbridge = southbridge;
|
||||||
|
window.southbridge = southbridge;
|
||||||
|
}
|
||||||
|
if (model){
|
||||||
|
localStorage.setItem("ps4Model", model);
|
||||||
|
user.ps4Model = model;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update payloads list
|
||||||
|
if (user.southbridge && user.ps4Model){
|
||||||
|
ui.linuxSection.innerHTML = "";
|
||||||
|
renderPayloads(linuxPayloads)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -35,5 +35,16 @@ window.lang = {
|
|||||||
"fanTitle": "سرعة المراوح",
|
"fanTitle": "سرعة المراوح",
|
||||||
"fanDescription": "يضبط درجة الحرارة حيث سيتم تشغيل المروحة في وضع التوربو",
|
"fanDescription": "يضبط درجة الحرارة حيث سيتم تشغيل المروحة في وضع التوربو",
|
||||||
"selectTemp": "قم بإختيار درجة حرارة",
|
"selectTemp": "قم بإختيار درجة حرارة",
|
||||||
"default": "الإفتراضي"
|
"default": "الإفتراضي",
|
||||||
|
"goldhenFirmwareSemiSupported": "* تفعيل الإضافات من خلال BinLoader الخاص بـ GoldHEN مدعوم على جميع الإصدارات",
|
||||||
|
"southbridgeHeader": "Southbridge والنوع",
|
||||||
|
"southbridgeHelp": "أتحتاج للمساعدة؟",
|
||||||
|
"southbridgeHelp1": "قم بتفعيل GoldHEN و إذهب إلى الإعدادات -> النظام -> معلومات النظام وستجد الـ Southbridge الخاص بجهازك",
|
||||||
|
"southbridgeHelp2": "قد يؤدي اختيار خيارات خاطئة إلى حدوث إنطفاء مباشر للجهاز!",
|
||||||
|
"selectSouthbridge": "حدد Southbridge و نوع الـPS4 الخاص بك",
|
||||||
|
"linuxOnlyWithGoldHEN": "تفعيل إضافة لينكس مسموح فقط عن طريق خادم إضافات (BinLoader)GoldHEN!",
|
||||||
|
"busyBinLoader": "لا يمكن تفعيل الإضافات لأن الخادم الخاص بـ GoldHEN مشغول!",
|
||||||
|
"binLoaderNotDetected": "لم يتم العثور على خادم إضافات GoldHEN, هي قمت بتفعيله؟",
|
||||||
|
"disabledBinloader": "سيرفر الإضافات الخاص بـ GoldHEN غير مفعل, تفعيل الإضافه عن طريق الثغرة؟",
|
||||||
|
"unsupportedFirmware": "نظام غير مدعوم "
|
||||||
}
|
}
|
||||||
@@ -35,5 +35,17 @@ window.lang = {
|
|||||||
"fanTitle": "Fan Threshold",
|
"fanTitle": "Fan Threshold",
|
||||||
"fanDescription": "Sets the temperature threshold where the fan will kick into turbo",
|
"fanDescription": "Sets the temperature threshold where the fan will kick into turbo",
|
||||||
"selectTemp": "Select a temperature",
|
"selectTemp": "Select a temperature",
|
||||||
"default": "Default" // Fan default string
|
"default": "Default", // Fan default string
|
||||||
|
"goldhenFirmwareSemiSupported": "* Loading payloads through GoldHEN's BinLoader is supported on all firmware.",
|
||||||
|
"southbridgeHeader": "Southbridge and Model",
|
||||||
|
"southbridgeHelp": "Need help?",
|
||||||
|
"southbridgeHelp1": "Load GoldHEN and go to Settings -> System -> System information and check Southbridge.",
|
||||||
|
"southbridgeHelp2": "Selecting wrong options may cause a kernel panic!",
|
||||||
|
"selectSouthbridge": "Select your Southbridge and PS4 Model",
|
||||||
|
// payloads.js
|
||||||
|
"linuxOnlyWithGoldHEN": "Linux payloads should only be loaded through GoldHEN's BinLoader!",
|
||||||
|
"busyBinLoader": "Cannot Load Payload Because The BinLoader Server Is Busy",
|
||||||
|
"binLoaderNotDetected": "GoldHEN's BinLoader is not detected, is it enabled?!", // For no-webkit firmware
|
||||||
|
"disabledBinloader": "GoldHEN's Binloader is not running, load payload using the exploit instead?",
|
||||||
|
"unsupportedFirmware": "Unsupported firmware ",
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
window.lang = {
|
window.lang = {
|
||||||
"title": "PSFree Enhanced",
|
"title": "PSFree Enhanced",
|
||||||
"ps4FwCompatible": `Версия ПО: {ps4fw} | Совместима`,
|
"ps4FwCompatible": `Версия ПО: {ps4fw} | Совместима`,
|
||||||
"ps4FwIncompatible": `ерсия ПО: {ps4fw} | Несовместима`,
|
"ps4FwIncompatible": `Версия ПО: {ps4fw} | Несовместима`,
|
||||||
"notPs4": "Вы не на PS4, Платформа: ",
|
"notPs4": "Вы не на PS4, Платформа: ",
|
||||||
"clickToStart": "Нажмите для старта",
|
"clickToStart": "Нажмите для старта",
|
||||||
"chooseHEN": "Выберите Hen",
|
"chooseHEN": "Выберите Hen",
|
||||||
@@ -31,5 +31,21 @@ window.lang = {
|
|||||||
"httpsHost": "Загрузка payload через GoldHEN BinLoader в данный момент недоступна, нажмите на синюю кнопку внизу для перехода на поддерживаемый хост",
|
"httpsHost": "Загрузка payload через GoldHEN BinLoader в данный момент недоступна, нажмите на синюю кнопку внизу для перехода на поддерживаемый хост",
|
||||||
"ghVer" : "Версии GoldHEN",
|
"ghVer" : "Версии GoldHEN",
|
||||||
"otherVer": "Другие версии",
|
"otherVer": "Другие версии",
|
||||||
"latestVer": "Последняя"
|
"latestVer": "Последняя",
|
||||||
|
"fanTitle": "Порог температуры",
|
||||||
|
"fanDescription": "Устанавливает температуру которую система PS4 будет старться удерживать",
|
||||||
|
"selectTemp": "Выберите температуру",
|
||||||
|
"default": "Стандартная", // Fan default string
|
||||||
|
"goldhenFirmwareSemiSupported": "* Загрузка payload через GoldHEN Binloader поддерживается на всех версиях ПО.",
|
||||||
|
"southbridgeHeader": "Модель PS4 и Южного моста",
|
||||||
|
"southbridgeHelp": "Нужна помощь?",
|
||||||
|
"southbridgeHelp1": "Запустите GoldHEN И перейдите в Настройки -> Система -> Информация о системе и посмотрите Southbridge.",
|
||||||
|
"southbridgeHelp2": "Выбор неправильных опций может привести к крашу системы!",
|
||||||
|
"selectSouthbridge": "Выберите ваш Южный мост и модель PS4",
|
||||||
|
// payloads.js
|
||||||
|
"linuxOnlyWithGoldHEN": "Linux стоит загружать только через GoldHEN Binloader",
|
||||||
|
"busyBinLoader": "Невозможно запустить Payload так как Binloader занят",
|
||||||
|
"binLoaderNotDetected": "GoldHEN BinLoader не найден, он точно включен?!", // For no-webkit firmware
|
||||||
|
"disabledBinloader": "GoldHEN Binloader не найден, запустить payload через эксплоит?",
|
||||||
|
"unsupportedFirmware": "Неподдерживаемая версия ПО ",
|
||||||
}
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,9 @@
|
|||||||
export function GoldHEN() {
|
export function GoldHEN() {
|
||||||
let goldHenVersion = localStorage.getItem('GHVer');
|
let goldHenVersion = localStorage.getItem('GHVer');
|
||||||
switch (goldHenVersion){
|
switch (goldHenVersion){
|
||||||
|
case "GHv2.4b18.8":
|
||||||
|
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.8.bin";
|
||||||
|
break;
|
||||||
case "GHv2.4b18.7":
|
case "GHv2.4b18.7":
|
||||||
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.7.bin";
|
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.7.bin";
|
||||||
break;
|
break;
|
||||||
@@ -26,7 +29,7 @@ export function GoldHEN() {
|
|||||||
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.3_702L.bin";
|
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.3_702L.bin";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.6.bin";
|
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.8.bin";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Loaded 100 of 235 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user