30 Commits
Author SHA1 Message Date
aydencharles 1cdbfc5752 perf(unpacker): cache bootstrapper ELF to skip LZMA on reboot 2026-09-04 17:26:28 +08:00
Hexwell e1cd1e6d3a refactor(dpi): move installer to external plugin 2026-09-03 14:41:00 +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 e049af1ce4 refactor(services): remove ShadowMountPlus and integrate ftpsrv source 2026-08-22 21:13:16 +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
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 fbf4c3c64b chore: remove unused ELF self-integrity
Ed25519 signing no longer adds useful friction. Drop
libonion_integrity, tools/elf_sign, and the XOR integrity toasts
so builds no longer sign daemon.elf.
2026-08-17 10:45:02 +08:00
Hexwell 4c4043581d chore: remove unused beta trial gate
The 14-day seal is no longer used. Drop libonion_trial, the Toolbox
banner, and notify.trial catalog entries so Debug no longer expires.
2026-08-17 10:44:16 +08:00
Hexwell c1bea90955 build: disable beta trial gate in Release
Release packages should not expire. Debug still defaults to the 14-day
trial; Release skips libonion_trial so bootstrapper, daemon, and the
toolbox banner never carry the gate.
2026-08-16 20:13:18 +08:00
Hexwell b91cb0a227 feat(trial): encrypt trial.state and shorten campaign to 14 days
Seal on-disk trial state with AES-256-CBC plus outer HMAC (encrypt-then-MAC)
so last_seen and related fields are not plaintext. Default beta campaign
window is now 14 days from configure time.
2026-08-03 19:58:17 +08:00
Hexwell 0aef6b7717 feat(integrity): gate boot on ELF signature and trial before payloads
Add libonion_integrity (Ed25519 self-check + signed-image verify) and
host sign/verify tools. Bootstrapper now verifies the embedded daemon
and runs the beta trial gate before launching private elfldr, util, or
daemon. Stop writing OnionHEN.bin under /data/OnionHEN; link kernel_sys
from bootstrapper for device serial used by trial.
2026-08-03 19:36:20 +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 5fa2c9bf67 feat(activation): add pluggable beta Ed25519 certificate gate
Introduce a self-contained libonion_activation module for internal-test
license checks, with compile-time public-key injection, debug-style
toasts, and shared notification i18n. Disable with
ONION_ENABLE_BETA_ACTIVATION=OFF when the beta gate is no longer needed.
2026-08-03 11:35:56 +08:00
Hexwell d83577e568 feat: embed private elfldr on 9020 2026-07-18 20:35:16 +08:00
Hexwell a463b85912 feat: add interactive build type selection 2026-07-18 18:56:10 +08:00
Hexwell 4412785bf7 remove: drop FPS overlay inject and fps_elf embed
Remove FPS calculation from the shellui monitor bar while keeping CPU,
GPU, RAM, and IP metrics, and delete the full game-process inject path
(fps_elf, fps.prx, SHM) so titles are no longer soft-injected.

Clear any legacy fps_overlay ready marker on daemon/shellui start, and
bound CPU sampling retries so a stuck probe cannot block other metrics.
2026-07-16 22:22:29 +08:00
Hexwell 72f607f5e6 refactor: reorganize project directories 2026-07-16 18:09:55 +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
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 556291a0b4 build: reuse cached kstuff.elf instead of re-downloading
Skip the kstuff-lite release fetch when a non-stub blob is already present.
Add --force / --force-vendor-sync to refresh on demand.
2026-07-15 17:53:28 +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 46c9716d76 fix: updateImposeStatusFlag 2026-07-10 20:16:46 +08:00
Hexwell 8c1e0f1658 build: rename final payload and CMake targets to OrionHEN
Point the top-level project, unpacker output, and build.sh phases at
OrionHEN.elf instead of the legacy etaHEN target name.
2026-07-10 13:06:51 +08:00
Hexwell d67cab0656 build: remove local libelfldr target 2026-07-10 12:24:29 +08:00
Hexwell 6eb0c0b121 feat: add OrionHEN build and vendor sync scripts
Add scripts/build.sh, pack_bootstrapper.sh, and sync_vendor.sh for a
chainable PS5 SDK build, plus gitignore rules for regenerated vendor embeds.
2026-07-10 01:04:02 +08:00