67 Commits
Author SHA1 Message Date
aydencharles dee1c1d523 feat(log): share the file sink and cap rotation from config 2026-10-02 16:40:23 +08:00
aydencharles a632e05a95 chore(deps): bump kstuff-lite to v1.11 2026-09-21 15:03:18 +08:00
aydencharles 6950517ad8 fix(lifecycle): collect Big App on EXEC before running query 2026-09-11 22:47:42 +08:00
aydencharles 3fedbf4a03 feat(rest-mode): restore resume delay after trophy SPRX 2026-09-11 22:12:41 +08:00
aydencharles 1e6df1057b refactor(shellui): remove unused Plapps page 2026-09-07 19:17:40 +08:00
aydencharles df92819193 feat(sprx): harden loader policy and runtime lifecycle 2026-09-04 12:36:20 +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
Hexwell bb6ccd7803 feat(plugin): add dynamic UI event bridge 2026-09-02 20:42:01 +08:00
Hexwell e415d0b75e feat(plugin): add ELF discovery and lifecycle management 2026-09-01 18:15:35 +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 b344e2d992 feat(overlay): add left/center/right metric align 2026-08-31 07:38:32 +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 e049af1ce4 refactor(services): remove ShadowMountPlus and integrate ftpsrv source 2026-08-22 21:13:16 +08:00
Hexwell d056e00850 fix(fps): match DCE ioctl ABI and add diagnostics 2026-08-22 14:44:51 +08:00
Hexwell d30c9c2eac fix(crash): preserve logs and point reports to GitHub 2026-08-21 23:54:54 +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 fddc9d4e3e feat(overlay): FPS on the monitor bar (#13) 2026-08-21 17:14:55 +08:00
Hexwell 40e2fab9b1 feat(plugins): split run/autoload and embed ShadowMountPlus 1.6beta16 2026-08-21 16:22:58 +08:00
Hexwell da2073578b feat: add control facade for ftpsrv and ShadowMountPlus 2026-08-21 15:57:07 +08:00
Hexwell 1dc7451f65 feat(shellui): regroup ShadowMountPlus/FTP and add cheats icons 2026-08-21 10:42:54 +08:00
Kevin Huerta b7fa1bd238 feat: add FTP, Docker, Remote Play, and ShadowMountPlus support (#23)
* feat: move FTP server to third_party and keep Docker

* docs: add ftpsrv to project credits

* feat: add FTP, Docker, and Remote Play support

* docs: document FTP and Remote Play

* feat: improve dependency scripts and add ShadowMountPlus

* docs: update ShadowMountPlus credits

* docs: add ShadowMountPlus config example

* i18n: normalize locale terminology and validation

* fix: launch ShadowMountPlus from memory
2026-08-20 10:10:32 +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 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 976bd71d34 docs: clean up unused documentation 2026-08-18 11:23:32 +08:00
Hexwell 295590203c chore(shellui): replace Remote Play with account activation
Drop the pairing page and the OnActivated / OnDeactivating
lifecycle hooks. Keep the Toolbox entry for offline account
activation, with a localized save-loss warning before writing
an account ID.
2026-08-17 19:18:02 +08:00
Hexwell a604646495 fix(kstuff): default autoload on in config
Read the Toolbox toggle from config.ini (default true) instead of the
no_kstuff sentinel so a fresh install loads kstuff. USB no_kstuff still
skips launch.
2026-08-16 20:59:55 +08:00
Hexwell 07ed6d2339 feat(daemon): add event-driven app jailbreak listener 2026-08-06 19:30:48 +08:00
Hexwell dbe471e268 refactor(trial): replace certificate gate with 30-day beta trial
Drop per-device Ed25519 licenses and TCP install in favor of a build-time
seal plus sealed trial.state anti-rollback. Rename libonion_activation to
libonion_trial, show beta notices in daemon toast and toolbox UI, remove
unused V_FW, and set author to 麒麟/0xp0co.
2026-08-03 19:19:53 +08:00
Hexwell 027814f5b0 fix: prefix OnionHEN runtime process names 2026-07-22 22:10:16 +08:00
Hexwell 4c1dd66566 feat: make app jailbreak allowlist configurable
Move exact Title IDs and prefix matching into the shared config schema while retaining safe defaults for existing or invalid configurations.

Validate and deduplicate allowlist entries, support explicit none values, and update host tests and configuration documentation.
2026-07-22 16:12:02 +08:00
Hexwell ebc89bb5d4 fix: restore Itemzflow jailbreak and IPC ABI
Restore ITEM00001 to the app-jailbreak allowlist so the Itemzflow loader can complete its legacy handshake.

Reserve the removed dumper command at 0x9000004, lock the released critical IPC ordinals with host tests, and document the remaining legacy socket compatibility gap.
2026-07-22 15:52:29 +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 9fb270c06e fix: scope settings hooks to toolbox pages
SettingPage hooks are process-wide, so stock pages such as PkgInstaller were being consumed by toolbox handlers. Track the active XML page, dispatch handlers by toolbox domain, pass stock pages through unchanged, and add host regression coverage.
2026-07-20 16:17:47 +08:00
Hexwell b298ca0e7a refactor: reorganize toolbox menu categories and icons
Split the Toolbox into clearer groups (install, payloads, game tools,
monitoring, connection, system, preferences, debug, about), update
i18n/docs/tests, and wire new monitor/account icons through bootstrapper.
2026-07-19 02:32:18 +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 2e4ed389bb fix: harden app jailbreak for legacy clients and 11.x
Accept etahen_jailbreak and onionhen_jailbreak request files, apply
privileges via SDK kernel helpers instead of broken Hijacker allproc
tables on 11.x, add 11/12 allproc offsets, log [JB] stages, clear
stale requests, and never notify on failure.
2026-07-16 23:58:21 +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 73ef92d3ce fix: make toolbox injection race-safe 2026-07-16 22:02:03 +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 49b6e4ba02 refactor: remove playtime tracking 2026-07-16 17:30:28 +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