Commit Graph
32 Commits
Author SHA1 Message Date
Hexwell ece77ea433 fix: harden IPC transport and process-local settings store
Serialize IPC_Client with a per-target mutex and full-frame send/recv plus
NUL-terminated payloads. Escape reply JSON vars, null-check daemon FS paths,
handle BREW_UTIL_TEST_CONNECTION, and track BREW_LAST_RET from the last reply.

Introduce SettingsStore (mutex snapshot/update), dual-path config mtime gating,
and fan IPC persistence to twin config files. Stop cold-start toolbox delay on
util_booted; fix jailbreak hijack retry to stop only when dead or maxed.

Add host tests for IPC wire helpers, toolbox timing policy, and hijack retry.
2026-07-10 17:56:21 +08:00
Hexwell 5880505d16 refactor: unify pt/elfldr into liborion_elfldr and deepen proc/platform seams
Merge the three pt/elfldr clones (bootstrapper, libNineS, unpacker) into a
single liborion_elfldr with one authid policy (elevate once at inject entry,
never per ptrace). Wire consumers through shared headers; drop dead unpacker
loader sources. Route shellui if_exists through orion/platform and daemon
ShellUI/BigApp pid lookup through orion_proc. Document the layout and audit
status in docs/arch.md and docs/architecture-audit.md.
2026-07-10 17:35:49 +08:00
Hexwell f81c7a88d4 test: expand host unit coverage for pure OrionHEN modules
Extract host-testable helpers (GitHub commit SHA, account-id base64,
registry entity ids, playtime store, cheat flatten names, toolbox path
helpers, IPC reply body) and grow the util host suite to ~120 cases.
Also phase-split bootstrapper main for clearer launch diagnostics.
2026-07-10 17:09:54 +08:00
Hexwell b307266a65 refactor(shellui): drop UI state aliases; use g_ui exclusively
Finish ToolboxUiState migration by removing compatibility references and
updating all call sites to g_ui. Expand host tests for route matrix and
session flag/cheat-map helpers.
2026-07-10 16:52:01 +08:00
Hexwell 924cda712c refactor: split daemon commands and consolidate shellui UI state
Break daemon/commands.cpp into playtime, jailbreak, and utils TUs. Introduce
ToolboxUiState with compatibility aliases, extract pure toolbox resource
routing for host unit tests, and fix superuser empty-XML pass-through.
2026-07-10 16:48:59 +08:00
Hexwell 7d9e7e6bf3 refactor: extract shared plugin loader and clear shellui P0 smells
Add liborion_plugin for common .plugin/.elf PID and 9021 launch logic used
by util and bootstrapper. Also table-drive OnPreCreate and mono hooks, and
split OnRender overlay update for readability.
2026-07-10 16:39:27 +08:00
Hexwell 37276e1d8d feat(shellui): add fluent PS5 settings XML builder for dynamic pages
Introduce ps5ui::Page so cheats, plugins, remote play, and plapps UIs are
built via explicit widget calls instead of hand-written XML strings, and
cover the builder with host unit tests.
2026-07-10 16:26:05 +08:00
Hexwell db0e85f162 refactor: split god functions in shellui, bootstrapper, daemon, and util
Break long init and plugin paths into named helpers with early returns and
shared PID/launch helpers so startup and XML generation are easier to follow
without changing runtime behavior.
2026-07-10 16:18:19 +08:00
Hexwell ff40042d84 chore: keep only system PkgInstaller; remove DPI and custom PKG UI
Delete DirectPKGInstaller and the toolbox DPI toggle. Remove the custom
background package installer (custompkginstaller XML generation and
id_pkg_ handlers). Package install remains the stock PkgInstaller link
in OrionHEN_toolbox.xml. Leave BREW_UTIL_UNUSED_DPI ordinal for IPC
compatibility.
2026-07-10 16:03:27 +08:00
Hexwell 0d40692219 chore: remove Direct PKG Installer v2 (WebUI :12800)
Drop the microhttpd-based DPIv2 server and settings/UI/IPC knobs. Keep
TCP DPI on port 9090 only; custom package install no longer routes through
127.0.0.1:12800. Unlink libmicrohttpd from util.
2026-07-10 16:00:23 +08:00
Hexwell dc9430377c chore: remove dead ShellCore patch and PS5Debug stubs
Delete util_shellcore and the disabled Allow_data_in_sandbox feature
(settings field, toolbox toggle, onpress/onprecreate handlers). Drop the
no-op load_ps5debug_thr and id_sistro_ps5debug handler; keep credits label
only. Strip firmware pattern tables and hex_lut that only served the
historical ShellCore /data sandbox patch.
2026-07-10 15:57:33 +08:00
Hexwell eb353bb16d refactor(shellui): split prx and HookFunctions god TUs
Extract overlay widgets, navigator, manifest stream, launch/terminate,
background threads, and prx install/overlay helpers into focused files.
prx.cpp keeps inject bootstrap main; HookFunctions keeps shared hook
state and glue.
2026-07-10 15:49:47 +08:00
Hexwell 8b6f2c9619 refactor: typed ready flags, util EnableToolbox via IPC_Client
Replace fps_enabled / util_first_boot file flags with orion_ready names
(fps_overlay, util_booted). Route util toolbox enable through
IPC_Client::EnableToolbox and drop dead network* transport facades from
util msg.cpp. Document daemon/shellui seams in arch.md.
2026-07-10 15:38:43 +08:00
Hexwell 0e24f2da17 refactor: migrate platform leaves and split ShellUI OnPress
Wire daemon/util/shellui/bootstrapper to liborion_platform and
liborion_proc (orion_notify, OrionHEN_log configure, find_pid, if_exists).
Split MonoUtils into mono_runtime/toolbox_xml/settings_ui/shellui_* and
replace the OnPress id bus with table-driven domain handlers.
2026-07-10 15:29:32 +08:00
Hexwell ab58bcfbce feat: add orion_ready protocol for service readiness
Replace fixed post-spawn sleeps with named markers under
/system_tmp/orion_ready. util/daemon/kstuff/toolbox publish ready; bootstrapper
and toolbox inject wait with timeouts. Keep legacy toolbox_online as alias.
2026-07-10 14:48:16 +08:00
Hexwell ca73bd6fac refactor(shellui): split mega hooks and drop settings facade
Move OnPress, OnPreCreate, boot, and capture hooks into dedicated files.
Call sites use g_settings / g_overlay_layout / g_all_cpu_usage directly
instead of OrionHENSettingsCompat.
2026-07-10 14:41:55 +08:00
Hexwell 4fd679b6b8 refactor(injectee): share Detour/hde64 and proc/ucred via static libs
Replace per-module Detour, hde64, proc, and ucred copies in shellui/fps_elf
with shims over liborion_detour and liborion_proc so injectee low-level fixes
land once.
2026-07-10 14:41:55 +08:00
Hexwell c06bf078a1 refactor(settings): hold orion::Settings as the single process store
Wire daemon/util/shellui Load/Save through liborion_settings. Daemon and util
use g_settings directly; util keeps atomic legacy CMD flags for the hot path.
Slim daemon globalconf.hpp to StartOpts + g_settings and move UserService ABI
locals into commands.cpp.
2026-07-10 14:41:55 +08:00
Hexwell 793719abf4 refactor(cheats): C++ service/parsers and remove RELOAD index cache
Move util cheats orchestration to C++ (CheatService, Repository, Applier,
IMemoryBackend, ICheatParser factory for json/shn/mc4 with ShnExt C adapter).
Drop the obsolete RELOAD_CHEATS UI/IPC path; reloads use file-signature hot
reload only. Document util cheats architecture under docs/util_arch.
2026-07-10 14:06:42 +08:00
Hexwell 07211b416b feat(shellui): wire cheats UI to flat TITLE_VERSION layout
Pass game version on toggle IPC, update cheats path copy for json/shn/mc4/ShnExt,
and refresh architecture docs for the new util cheat engine.
2026-07-10 13:47:31 +08:00
Hexwell da96d9a58e refactor: remove TestKit support
Drop the Toolbox TestKit menu and kit Mono hooks, sceKernelIsTestKit
probes in util/daemon/bootstrapper, and client IsTestKit helpers.
BREW_TESTKIT_CHECK remains an unused IPC ordinal for compatibility.
2026-07-10 13:24:00 +08:00
Hexwell 5d646266ea refactor: remove FTP/Klog services and document architecture
Drop the util FTP (1337) and Klog (9081) servers, Toolbox UI toggles, and
config keys. Keep former IPC command ordinals as UNUSED_* for compatibility.
Add docs/arch.md covering modules, IPC, features, and dependencies.
2026-07-10 13:14:52 +08:00
Hexwell d28f4e3eb1 chore: rebrand runtime paths and identifiers to OrionHEN
Rename remaining etaHEN symbols, log prefixes, on-disk paths, plugin
magic, process names, and copyright headers across bootstrapper, daemons,
shellui, and util without keeping legacy aliases.
2026-07-10 13:06:58 +08:00
Hexwell 04462fbe7f ui: rename toolbox and brand assets to OrionHEN
Rename toolbox XML/SXML, settings icon, and marketing assets so embeds
and encrypt paths match the OrionHEN brand.
2026-07-10 13:06:48 +08:00
Hexwell bb51773a25 fix: redirect Debug Settings via ReactNavigatorManager
Replace UI3 NavigationScene.PushScene hooks with
ReactNavigatorManager.UpdateNavigationState for the toolbox open path.
2026-07-10 13:06:43 +08:00
Hexwell 2b2a58cc16 refactor: migrate daemon and IPC JSON parsing to orion_cjson
Replace tiny-json and nlohmann::json call sites in daemon/util/shellui
IPC paths with orion_cjson RAII helpers for safer parse/print ownership.
2026-07-10 13:06:41 +08:00
Hexwell ad3e25d689 ui: refresh toolbox menu and assets 2026-07-10 12:24:54 +08:00
Hexwell 8f581dd5b2 fix: DebugSettings legacy redirect 2026-07-10 02:42:31 +08:00
Hexwell a8cf6bd6d8 fix: sceShellUI hook 2026-07-10 02:14:35 +08:00
Hexwell 728c9ba79e update: drop kstuff pause/resume from OrionHEN toolbox path
Leave kstuff sysentvec pause/unpause to dedicated plugins. Remove pause UI,
shortcuts, auto-pause on launch/close, and daemon inject pause/resume.
Point Debug Settings deeplinks to function=debug_settings_old (Legacy ui3 /
GMRS) on FW 11.6 RN Settings. Add OBJECT_DEPENDS so shellui/daemon embeds
rebuild correctly.

Note: experimental Detour I-cache flush was never kept — not included.
2026-07-10 01:47:11 +08:00
Hexwell f6d1675ca4 update: fix toolbox inject race and drop sandbox /data patch
Serialize kstuff before daemon toolbox inject, wait for mprotect, avoid
ForceKill on ShellUI timeout, and disable Allow_data_in_sandbox ShellCore patch.
2026-07-10 01:04:16 +08:00
Hexwell 37b0ff3143 init: init 2026-07-09 23:48:02 +08:00