37 Commits
Author SHA1 Message Date
aydencharles 3fedbf4a03 feat(rest-mode): restore resume delay after trophy SPRX 2026-09-11 22:12:41 +08:00
aydencharles ac143c20c4 refactor(cheats): separate browse and runtime state 2026-09-09 12:42:13 +08:00
Hexwell e1cd1e6d3a refactor(dpi): move installer to external plugin 2026-09-03 14:41:00 +08:00
Hexwell c9a24f148b refactor: migrate ShadowMount+ to external plugin 2026-09-03 14:02:37 +08:00
Hexwell 33da7e3709 refactor(ftp): remove built-in FTP server 2026-09-02 22:38:47 +08:00
kvnhrt a534adcd60 feat: add ShadowMount+, DPI pkg-server + WebUI, fix PS4 FPS
- fix(fps): measure PS4 BC frame rate with a remote GNM detour
  and hide the pkg install result code in the finish notification
- feat(utils): integrate ShadowMount+ alongside the FTPSRV service
  for game scanning, mounting and installation
- feat(DPI): add the packet package server (pkgserver) with its
  Web UI and full REST/SSE API surface
- feat(tests): add new host test suites (multipart, builtin
  services, pkg XML, FPS formula, toolbox i18n/route, language)
- build: add Docker support for building and running the tests
- docs: update credits, README, architecture, util-arch, api and
  third-party documentation; add contributor credit and i18n keys
- i18n: remove the pkg finish result code from every locale
2026-08-31 05:26:42 -06:00
Hexwell 6803b4a7d5 refactor(cheats): copy HENCC files without renaming 2026-08-31 05:55:18 +08:00
Hexwell a92e8a6a39 refactor(cheats): drop deprecated hash aliases 2026-08-31 05:32:08 +08:00
Hexwell 7092dd6b85 feat(cheats): load all compatible sources together 2026-08-24 14:06:14 +08:00
Hexwell 8ab584db24 fix(rest-mode): recover built-in FTP listener after standby 2026-08-22 22:33:27 +08:00
Hexwell b8c15cff0b fix(payload): preserve user-owned processes 2026-08-22 21:49:06 +08:00
Hexwell 317d5c2f6b docs: describe current behavior and architecture 2026-08-22 21:26:19 +08:00
Hexwell e22013992d fix(rest-mode): recover toolbox from SysCore EXEC not SIGCONT 2026-08-21 22:26:32 +08:00
Hexwell 988cf124f9 fix(rest-mode): recover toolbox and IPC listeners on SIGCONT 2026-08-21 18:15:50 +08:00
Hexwell 6a5582d768 chore(cJSON): unify JSON parsing and serialization with cJSON 2026-08-19 15:01:49 +08:00
Hexwell 2f95e4df9a chore(cJSON): unify JSON parsing and serialization with cJSON 2026-08-19 14:56:25 +08:00
Hexwell 7ea2ba30c5 feat(cheats): sync cheat catalogs over HTTPS zip download
Replace the git clone/fetch pipeline with a curl + miniz HTTPS
ZIP download. The engine streams one archive, extracts only the
catalog roots, and reuses flatten to install flat files, so the
libgit2 submodule and its build integration are gone.

Drop the pre-download reachability probe and the commit-SHA
parser; reachability is implied by the download itself and the
SHA only fed the old git flow. Mirror selection stays in
CheatMirrorFactory (auto: cnb.cool for zh-Hans, GitHub otherwise;
explicit github/cnb skips fallback).

curl verifies peer+host against the embedded CA bundle and now
distinguishes certificate time-skew from other verification
failures, surfacing a dedicated clock notification. Revert the
util CMake target back to "util" now that libgit2 no longer
claims that name.
2026-08-18 15:41:08 +08:00
Hexwell c5e30c4fd0 feat(cheats): add toolbox download UI and HTTP probe
Expose catalog download on the Game Tools page and put the
mirror picker in Preferences. Probe gstatic/miui generate_204
before clone so auto can pick GitHub or cnb.cool by reachability.

Also fix the CNB slug, rename the util CMake target so it no
longer clashes with libgit2, and keep last-error text off the
download button.
2026-08-18 12:38:27 +08:00
Hexwell 456c834f00 feat(cheats): add git catalog sync with host mirrors
Bring back DOWNLOAD_CHEATS as a background git clone/fetch of
cheat catalogs, then reuse flatten to install flat files.
Catalog identity and GitHub/cnb.cool mirrors stay in separate
modules so a new source does not rewrite the download pipeline.

auto mirror uses cnb.cool for zh-Hans and GitHub otherwise;
explicit github/cnb skips fallback. libgit2 is an optional
submodule (v1.8.4); without it the client stays a stub.
2026-08-18 12:00:16 +08:00
Hexwell 94c8d3ee92 fix(cheats): load TITLE_VERSION_PROCESS_HASH files
Collection dumps name files TITLE_VERSION[_PROCESS][_HASH].ext.
The old lookup either missed process-scoped names or rejected
multiple hashes, so most dumped trainers never loaded.

Parse process and hash as optional fields, prefer a process match,
and keep hashed variants when the running hash is unknown.
2026-08-18 11:46:29 +08:00
Hexwell 976bd71d34 docs: clean up unused documentation 2026-08-18 11:23:32 +08:00
Hexwell 237553b7d7 feat: enforce private elfldr payload loading
Require user payloads to launch through :9020 with an exact PID response, removing the :9021 fallback and process-snapshot PID inference.

Supervise the private loader from daemon, recover it through :9021 before restarting util through :9020, and protect synchronous launches with a bounded busy marker.

Add strict loader tests, update runtime documentation, and remove obsolete elfldr and process-snapshot compatibility APIs.
2026-07-22 15:02:23 +08:00
Hexwell a74f6bb0b4 refactor: unify system tmp namespace 2026-07-19 02:00:22 +08:00
Hexwell d83577e568 feat: embed private elfldr on 9020 2026-07-18 20:35:16 +08:00
Hexwell 56a4530a02 remove: drop legacy TCP 9028 jailbreak command server
Delete the util hijacker Command protocol, config toggle, and Toolbox
UI. Homebrew jailbreak remains on the daemon sandbox FIFO path only.
2026-07-16 23:16:55 +08:00
Hexwell 72f607f5e6 refactor: reorganize project directories 2026-07-16 18:09:55 +08:00
Hexwell b2eef5a116 style: normalize source filenames to snake case 2026-07-16 17:34:31 +08:00
Hexwell 0b356e15dd chore(deps): prune unused third-party sources 2026-07-16 17:26:44 +08:00
Hexwell aad2cdaabc refactor: rebrand OrionHEN to OnionHEN
Rename product, namespaces, libraries, paths, and assets from Orion/orion
to Onion/onion across the tree. TCP stack-shutdown magic is now ONIO
(0x4F4E494F) to match the corrected branding.
2026-07-15 18:23:16 +08:00
Hexwell f789140c9e build: place artifacts under repo-root build/
Default CMake binary dir is <repo>/build with ELFs in build/bin and libs
in build/lib. Keep source/bin as a symlink for .incbin compatibility.
2026-07-15 18:10:58 +08:00
Hexwell ba297744af refactor: remove post-boot toolbox/settings auto-open
Drop StartOption and toolbox_auto_start (UI, settings, rest-mode disable,
USB override, and startup URI launch). Always inject the toolbox into
ShellUI without navigating to debug settings or any auto-open page.
2026-07-15 17:59:14 +08:00
Hexwell 352d682cd2 refactor: drop plugins; OrionHEN only supports payload .elf
Remove the .plugin package format and rename the stack to payload-only:
liborion_plugin → liborion_payload, IPC LAUNCH_PAYLOAD, UI payloads.xml,
and bootstrapper/util/shellui load paths under .../payloads/*.elf.

Delete dead package header validation, make_plugin_app staging, and
plugin-named lists/handlers; keep Sony Settings.Plugins resource namespace
and system_settings plugin= attributes (platform, not our format).
2026-07-10 22:28: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 ddd19cb08c test(util): add host unit tests for cheat file parsers
Add kylin-core-style host tests for CheatParserFactory (json/shn/mc4/ShnExt)
and cheat utils, with sample fixtures and a Makefile under source/util/tests.
2026-07-10 14:13:56 +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