Compare commits

..

10 Commits

Author SHA1 Message Date
ArabPixel
ab49252161 Fix wrong GoldHEN file
Some checks failed
Build kpatch / build (push) Has been cancelled
Deploy to mirrored Host / deploy (push) Has been cancelled
2026-01-28 21:38:47 +01:00
ArabPixel
378254a544 Add GoldHEN v2.4b18.8 2026-01-28 20:11:44 +01:00
ArabPixel
9ffc657a30 Merge pull request #9 from Teligin/main
Updated language file to reflect new changes on psfree enhanced
2026-01-26 15:19:17 +01:00
Teligin
61fb95392c Updated language file to reflect new changes on psfree enhanced 2026-01-26 19:04:58 +05:00
ArabPixel
3377982982 Updated Cache 2025-12-31 22:24:00 +01:00
ArabPixel
06a98d290e Fixes for 12.5x Linux payloads + 13.02 Linux Payloads 2025-12-31 21:36:02 +01:00
ArabPixel
4e5f6cbe3d Typo 2025-12-24 18:21:07 +01:00
ArabPixel
9af1164e6c Improving cache time
removed all linux payloads that have .bin extension, linux payloads should only be loaded with GoldHEN's BinLoader. by that the cache speed is improved.

Added Arabic translations for payload.js file
2025-12-24 18:03:40 +01:00
ArabPixel
e344569b0a Add Linux support + improvements
Linux payloads from ps4boot has been added for all firmware and southbridges 7.00 - 12.52.

Improved payloads tabs by design and now it keeps that chosen tab opened by using localStorage.

Added new options in settings to choose the Southbridge and the PS4 model to display the correct payloads.

loading .elf for linux payload when using the GoldHEN's BinLoader and .bin for the webkit exploit.

Updated Arabic translations for the new texts.
2025-12-24 16:27:22 +01:00
ArabPixel
5606bcdfe9 Update GoldHEN 2025-11-26 18:01:07 +01:00
235 changed files with 574 additions and 132 deletions

View File

@@ -8,7 +8,7 @@ EXCLUDED_EXTENSIONS = {
'.bat', '.txt', '.exe', '.mp4', '.py', '.bak', '.zip',
'.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'
def create_manifest():

View File

@@ -1,6 +1,6 @@
CACHE MANIFEST
# v1
# Generated on 2025-11-24 13:48:18.211470
# Generated on 2026-01-28 21:38:30.034606
CACHE:
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.33.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.13-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/ToDev.bin
includes/payloads/Bins/Tools/ToKratos.bin
includes/payloads/Bins/Tools/WebRTE.bin
includes/payloads/Bins/Tools/appcache-install.bin
includes/payloads/Bins/Tools/ps4-app2usb.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/ps4debug.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-threshold70.bin
includes/payloads/Bins/Tools/fan-thresholds/ps4-fan-threshold80.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_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.5.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.bin
includes/payloads/GoldHEN/goldhen_v2.4b18.8.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/lapse.mjs
src/psfree.mjs
src/send.mjs
src/alert.mjs
src/fonts/FONTS.LICENSE
src/fonts/LiberationMono-Regular.ttf
src/kpatch/700.bin

View File

@@ -439,6 +439,7 @@ section { /* Apply to initial-screen and exploit-main-screen */
.tabs button[aria-selected="true"] {
border-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 {
color: var(--color-gray-600);
@@ -505,3 +506,11 @@ button{
width: 78%;
float: right;
}
#southbridgeHeader details summary{
cursor: pointer;
}
#southbridgeHelp{
text-decoration: underline;
}

View File

@@ -1,9 +1,15 @@
// @ts-nocheck
let currentLanguage = localStorage.getItem('language') || 'en';
let currentJbFlavor = localStorage.getItem('jailbreakFlavor') || 'GoldHEN';
let platform = "Unknown";
var user = {
currentLanguage: localStorage.getItem('language') || 'en',
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 lastSection = "initial";
var linuxPayloadsRendered = false;
const ui = {
mainContainer: document.querySelector('.mainContainer'),
@@ -385,54 +391,47 @@ const payloads = [
specificFW: "",
category: "games",
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
// Scroll snap for the PS4
ui.mainContainer.addEventListener('scroll', () => {
@@ -468,8 +467,14 @@ ui.toolsTab.addEventListener('click', () =>{
ui.toolsSection.classList.remove('hidden');
ui.linuxSection.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;
// Update lastTap
saveLastTab('tools');
})
ui.linuxTab.addEventListener('click', () =>{
@@ -477,8 +482,14 @@ ui.linuxTab.addEventListener('click', () =>{
ui.toolsSection.classList.add('hidden');
ui.linuxSection.classList.remove('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;
// Update lastTap
saveLastTab('linux');
})
ui.gamesTab.addEventListener('click', () =>{
@@ -486,9 +497,26 @@ ui.gamesTab.addEventListener('click', () =>{
ui.toolsSection.classList.add('hidden');
ui.linuxSection.classList.add('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;
// 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
function aboutPopup() {
@@ -514,7 +542,7 @@ async function jailbreak() {
]);
const JailbreakModule = modules[0];
if (currentJbFlavor == 'GoldHEN') {
if (user.currentJbFlavor == 'GoldHEN') {
if (JailbreakModule && typeof JailbreakModule.GoldHEN === 'function') {
JailbreakModule.GoldHEN();
} else {
@@ -574,30 +602,30 @@ function setGoldHENVer(value){
}
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;
}
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");
if(langScript) langScript.remove();
// load language file
return new Promise((resolve, reject) => {
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.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);
});
}
// Apply lanuage after loading the language file
async function initLanguage() {
try {
await loadLanguage(currentLanguage);
applyLanguage(currentLanguage);
await loadLanguage();
applyLanguage(user.currentLanguage);
} catch (e) {
console.error(e);
}
@@ -605,7 +633,7 @@ async function initLanguage() {
// Update UI langauge
function applyLanguage(lang) {
currentLanguage = lang;
user.currentLanguage = lang;
const strings = window.lang
if (!strings) {
@@ -640,8 +668,8 @@ function applyLanguage(lang) {
// Document Properties
document.title = strings.title || "PSFree Enhanced";
document.dir = (currentLanguage === 'ar') ? 'rtl' : 'ltr';
document.lang = currentLanguage;
document.dir = (user.currentLanguage === 'ar') ? 'rtl' : 'ltr';
document.lang = user.currentLanguage;
// PS4 Firmware Status Check
@@ -650,7 +678,7 @@ function applyLanguage(lang) {
if (ps4Fw === undefined) {
if (strings.notPs4 && strings.notPs4.length > 0) {
ps4StatusElement.textContent = strings.notPs4 + platform;
ps4StatusElement.textContent = strings.notPs4 + user.platform;
}
ps4StatusElement.style.color = 'red';
} else if (ps4Fw <= 9.60) {
@@ -679,6 +707,7 @@ function applyLanguage(lang) {
updateText(ui.aboutPopup.querySelector('#PS4FWOK h3'), 'ps4FirmwareSupportedHeader');
updateText(ui.aboutPopup.querySelector('#close-about'), 'closeButton');
updateText(ui.aboutPopup.querySelector('#goldhenFirmwareSemiSupported i'), 'goldhenFirmwareSemiSupported')
// Fan Threshold
updateText(ui.chooseFanThreshold.querySelector('#close-fanChoose'), 'closeButton');
@@ -694,6 +723,10 @@ function applyLanguage(lang) {
updateText(ui.settingsPopup.querySelector('#ghVer'), 'ghVer');
updateText(ui.settingsPopup.querySelector('#chooseGoldHEN summary'), 'otherVer');
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)
const warningHeader = document.querySelector('#warningBox p');
@@ -727,7 +760,15 @@ function applyLanguage(lang) {
updateText(ui.toolsTab, 'payloadsToolsHeader');
updateText(ui.linuxTab, 'payloadsLinuxHeader');
updateText(ui.gamesTab, 'payloadsGameHeader');
if (!linuxPayloadsRendered){
updateText(document.querySelector("#" + ui.linuxSection.id + " button") , 'selectSouthbridge');
}
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);
// Apply hen selector to both inputs
document.querySelector(`input[name="${name == "hen" ? "hen2" : "hen"}"][value="${value}"]`).checked = true;
currentJbFlavor = value;
user.currentJbFlavor = value;
};
function loadJbFlavor() {
const flavor = currentJbFlavor || 'GoldHEN';
const flavor = user.currentJbFlavor || 'GoldHEN';
const henRadio = document.querySelector(`input[name="hen"][value="${flavor}"]`);
const hen2Radio = document.querySelector(`input[name="hen2"][value="${flavor}"]`);
@@ -752,17 +793,26 @@ function loadJbFlavor() {
function saveLanguage() {
const language = document.querySelector('input[name="language"]:checked').value;
localStorage.setItem('language', language);
currentLanguage = language;
user.currentLanguage = language;
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() {
const userAgent = navigator.userAgent;
const ps4Regex = /PlayStation 4/;
let fwVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('5.0 (') + 19, navigator.userAgent.indexOf(') Apple')).replace("layStation 4/","");
let elementsToHide = [
'ps-logo-container', 'choosejb-initial', 'exploit-main-screen', 'scrollDown',
'click-to-start-text', 'chooseGoldHEN'
'click-to-start-text', 'chooseGoldHEN', 'southbridgeHeader'
];
if (ps4Regex.test(userAgent)) {
@@ -778,13 +828,14 @@ function CheckFW() {
ui.secondHostBtn[0].style.display = "block";
}else{
// 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.push('initial-screen', 'exploit-status-panel', 'henSelection');
document.getElementById('exploitContainer').style.display = "block";
// Sizing the payload's section
ui.payloadsSection.style.width = "75%";
ui.payloadsSection.style.margin = "auto";
document.getElementById('header2').classList.remove('hidden');
}
elementsToHide.forEach(id => {
@@ -817,13 +868,13 @@ function CheckFW() {
});
} else {
platform = 'Unknown platform';
user.platform = 'Unknown platform';
if (/Android/.test(userAgent)) platform = 'Android';
else if (/iPhone|iPad|iPod/.test(userAgent)) platform = 'iOS';
else if (/Macintosh/.test(userAgent)) platform = 'MacOS';
else if (/Windows/.test(userAgent)) platform = 'Windows';
else if (/Linux/.test(userAgent)) platform = 'Linux';
if (/Android/.test(userAgent)) user.platform = 'Android';
else if (/iPhone|iPad|iPod/.test(userAgent)) user.platform = 'iOS';
else if (/Macintosh/.test(userAgent)) user.platform = 'MacOS';
else if (/Windows/.test(userAgent)) user.platform = 'Windows';
else if (/Linux/.test(userAgent)) user.platform = 'Linux';
document.getElementById('PS4FW').style.color = 'red';
elementsToHide.forEach(id => {
@@ -838,8 +889,16 @@ function loadSettings() {
try {
CheckFW();
loadJbFlavor();
initLanguage(currentLanguage);
renderPayloads();
loadSouthbridge();
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();
} catch (e) {
alert("Error in loadSettings: " + e.message);
@@ -855,10 +914,8 @@ function getPayloadCategoryClass(category) {
}
}
function renderPayloads() {
const payloadsToRender = payloads;
payloadsToRender.forEach(payload => {
function renderPayloads(payloads) {
payloads.forEach(payload => {
const payloadCard = document.createElement('div');
payloadCard.id = payload.id;
payloadCard.onclick = () => Loadpayloads(payload.funcName);
@@ -880,7 +937,7 @@ function renderPayloads() {
${payload.category}
</span>
</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">
<p style="color: orange;">${payload.specificFW != '' ? payload.specificFW : ""} </p>
</div>
@@ -918,3 +975,22 @@ function DisplayCacheProgress() {
location.reload();
}, 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)
}
}

View File

@@ -35,5 +35,16 @@ window.lang = {
"fanTitle": "سرعة المراوح",
"fanDescription": "يضبط درجة الحرارة حيث سيتم تشغيل المروحة في وضع التوربو",
"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": "نظام غير مدعوم "
}

View File

@@ -35,5 +35,17 @@ window.lang = {
"fanTitle": "Fan Threshold",
"fanDescription": "Sets the temperature threshold where the fan will kick into turbo",
"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 ",
}

View File

@@ -1,7 +1,7 @@
window.lang = {
"title": "PSFree Enhanced",
"ps4FwCompatible": `Версия ПО: {ps4fw} | Совместима`,
"ps4FwIncompatible": `ерсия ПО: {ps4fw} | Несовместима`,
"ps4FwIncompatible": `Версия ПО: {ps4fw} | Несовместима`,
"notPs4": "Вы не на PS4, Платформа: ",
"clickToStart": "Нажмите для старта",
"chooseHEN": "Выберите Hen",
@@ -31,5 +31,21 @@ window.lang = {
"httpsHost": "Загрузка payload через GoldHEN BinLoader в данный момент недоступна, нажмите на синюю кнопку внизу для перехода на поддерживаемый хост",
"ghVer" : "Версии GoldHEN",
"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.

View File

@@ -1,6 +1,9 @@
export function GoldHEN() {
let goldHenVersion = localStorage.getItem('GHVer');
switch (goldHenVersion){
case "GHv2.4b18.8":
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.8.bin";
break;
case "GHv2.4b18.7":
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.7.bin";
break;
@@ -26,7 +29,7 @@ export function GoldHEN() {
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.3_702L.bin";
break;
default:
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.6.bin";
window.payload_path = "./includes/payloads/GoldHEN/goldhen_v2.4b18.8.bin";
break;
}
}

View File

@@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@

Some files were not shown because too many files have changed in this diff Show More