37 Commits
Author SHA1 Message Date
SirHumza d976ffe94f tests: split icfg into own binary linked with installer jsonlite 2026-10-16 09:54:27 +02:00
SirHumza 0f21b146ac daemon: crash supervisor with clean-state retry 2026-10-15 20:15:48 +02:00
SirHumza 664a06f967 timesync: step system clock from NTP offset (60s threshold, never fatal) 2026-10-15 20:05:44 +02:00
SirHumza 3dc813bd24 lock: table-wide pid fallback when no Payload comm found (fix double-daemon) 2026-10-15 17:35:02 +02:00
CyberMask367 3a2aba7831 Add community title fallback lookup
Adds a community TITLEID-to-name fallback sourced from config/custom.json for apps or homebrew that are not on pkg-zone, drops the payload bin validation path
2026-10-12 04:25:38 +01:00
CyberMask367 74ab227d86 Simplify updates and harden websocket drains
This removes the old signed manifest staging flow and makes upgrades check-only notifications, while deleting dead manifest/release-key code and switching default art URLs to the GitHub raw asset pack. It also fixes oversized Discord READY handling by streaming envelope extraction instead of buffering giant frames, avoids repeated reconnect notifications, and updates host tests/build scripts to reflect the new no-install updater path.
2026-10-10 03:25:25 +01:00
CyberMask367 ae28ad1d1c increased WS_RBUF_MAX to 32MB + drain
increased WS_RBUF_MAX to 32MB and new drain fix, also added notification for invalid tokens
2026-10-08 01:36:37 +01:00
SirHumza d1b731ac77 fix CI sqlite CANTOPEN + SDK pin; README beta payload install
- tests: link vendored sqlite amalgamation instead of system
  -lsqlite3; wrapper VFS with trivial xFullPathname; unlink stale
  app.db + pre-create before open (runner CANTOPEN)
- tests: free parsed values in test_json_oom_safe (LSan leak)
- ci: pin SDK via checkout+fetch-depth 0 (raw SHA is not a ref)
- README: credit SirHumza & CyberMask367, no-PKG beta payload
  install, beta access via Discord
2026-10-06 19:37:45 +02:00
SirHumza 3486fe4e41 fix CI on CyberMask367 base + README invite/support
- e2e: tolerate non-UTF8 make output (errors=replace), fixes
  UnicodeDecodeError that red-lined e2e contracts
- e2e: drop fast-switch/atime gates absent from this tree; skip
  payload-built when no build-sdk elf (sdk-payload job gates it)
- tests: fix stale discord_build_activity arg order + home asset
  cases so host unit tests and ASan pass
- ci: push-only Discord webhook notify via DISCORD_WEBHOOK_URL secret
- README: CyberMask367 credit, discord.gg/BWEyfcT7ZQ badge + support
  section, beta-access note, 9.00-13.52 firmware, test-build upgrade
  + nanoDNS exception steps
2026-10-06 18:57:45 +02:00
CyberMask367andSirHumza 0d29672b5d upto 13.52 firmware and other fixes and changes
changed game detection logic, resolving retro games and homebrew, new rpc style, custom options in config.json, installer is not fixed yet

Co-Authored-By: SirHumza <204067870+SirHumza@users.noreply.github.com>
2026-10-06 03:06:28 +01:00
SirHumza 86413cfbe9 god-tier: diag census, v1.1.0, arch docs, CI version gate
- daemon writes diag.json at boot (fw, kinfo-table hit, msgbuf /
  sandbox / shellcore reachability) for the firmware matrix
- focus_msgbuf_ok() reachability probe + host test
- version 1.1.0 (version.h + installer Makefile)
- ARCHITECTURE.md: binaries, detection cascade, gateway states,
  no-exit policy, on-disk state, installer, compat baseline
- CI consistency job: version.h vs Makefile parity gate
2026-09-27 15:31:08 +02:00
SirHumza 349561147a installer: custom SDL2 reskin + remaster landing
- ui.c: fullscreen Discord-blurple cards, embedded bitmap font,
  pad X-to-continue, progress bar; IME token entry kept as overlay
- scripts/genfont.py + installer/font.h: build-time rasterized font
- Makefile: -lSDL2 -lSDL2main -lScePigletv2VSH -lSceAudioOut -lSceVideoOut,
  font.h regen rule; drop stock -lSceMsgDialog
- daemon: gateway state machine, status.json heartbeat, gen supersede,
  no-exit token wait; updater removed per direction
- installer: config preserve on reinstall, honest stage logging,
  token-save verification, daemon liveness on done screen
2026-09-27 15:21:00 +02:00
SirHumza 89c6deb64c remaster: any-firmware hardening + installer remake
- detection: probe-first (ShellCoreUtil dlopen, msgbuf AppFocusChanged,
  sysctl kinfo via verified-only fw table, sandbox/save fallbacks)
- new orbisrpc/focus.c + fw.c/fw.h (bounded scans, fail-closed unknowns)
- daemon: no-exit everywhere (token wait-loop, 4004 retry), status.json
  heartbeat, daemon.gen supersede protocol
- installer: progress UI, token IME retry + FTP fallback, install.log,
  drop evict.elf (delete tools/evict.c, build_evict.sh)
- packaging: Apollo parity CATEGORY=gde ATTRIBUTE=32 --authinfo
- security: chmod 0600 on token-bearing files
- docs: firmware-independent injecting guide, SUPPORT.md, release.sh
2026-09-27 14:47:09 +02:00
SirHumza d9cdf3278a debug(ci): print sqlite3_open_v2 error detail 2026-09-25 19:09:50 +02:00
SirHumza 3878658a84 fix(ci): call sqlite3_initialize() before open_v2 on the ubuntu runner 2026-09-25 19:00:57 +02:00
SirHumza 7d59b733d5 fix(ci): drop SQLITE_OPEN_NOMUTEX (unsupported by bundled sqlite on ubuntu runner) 2026-09-25 18:50:50 +02:00
SirHumza 1b89124d37 fix(ci): widen pj buffer for gcc -Werror=format-truncation on ubuntu runners 2026-09-25 18:32:50 +02:00
SirHumza 5b507b9177 v1.0.0 hardening: signed-only updates, heap fix, plugin name fallback, dead code purge, release keys, secret guard, docs accuracy 2026-09-25 18:28:58 +02:00
SirHumza c553c09a9d orbisRPC logo: transparent, icon/backdrop/home tile, payload icons 2026-09-24 18:30:37 +02:00
SirHumza 14c9101174 installer: wizard, loopback inject, token/net/tweaks, icfg tests 2026-09-24 16:43:39 +02:00
SirHumza 9d9c5b7bb1 System badge small_image ported from PSN-API tool pattern 2026-09-24 12:37:39 +02:00
SirHumza 67e256ab86 Ship PlayStation logo default for idle tile 2026-09-24 12:32:51 +02:00
SirHumza 48500d2482 app.db SQLite names, self-learning map, presence builder tests, audit fixes 2026-09-24 12:26:19 +02:00
SirHumza b363a74740 User-local title overrides + idle PS logo art, cfg_save return fix 2026-09-24 10:56:05 +02:00
SirHumza efa635d989 JSON input cap + oversize test 2026-09-24 10:28:01 +02:00
SirHumza 9be94b9f5c Delete baked tables: live Sony TMDB + local metadata only 2026-09-24 09:49:50 +02:00
SirHumza 6a1f25524e Audit batch: reconnect backoff, heartbeat check, urandom masks, entropy fail-secure, TLS verify, manifest public API + sign test, cfg schema+fallible save 2026-09-23 21:43:26 +02:00
SirHumza 5a68bb63bf Green tests (portable tmpdir, snprintf), compat in test link, home/rest presence, mp art pipeline 2026-09-23 21:36:06 +02:00
SirHumza 1e49612e75 Daemon audit: SNTP rotation, reconnect backoff, heartbeat send check, urandom masks, fail-secure entropy, TLS verify, updater signed+redirects, health wiring, mp cache 2026-09-23 21:29:41 +02:00
SirHumza 7dbb021290 WIP: mp: art resolution via external-assets + icon pack 2026-09-23 20:56:43 +02:00
SirHumza 3c7bf6180f Self-updater: versioned staged updates from GitHub releases 2026-09-19 11:28:35 +02:00
SirHumza cf76f1ebf8 Sony TMDB runtime names+icons; remove fuzzy appdb scan
- tmdb_crypto: self-contained SHA1/HMAC, URL builder, response parse,
  all verified against hashlib and Sony's live service in unit tests
- tmdb: plain-HTTP fetch with deadline plus 8-entry cache
- detect: TMDB in both resolve paths; artwork URL plumbed through
  detect_last_art into presence assets (official Sony CDN, no uploads)
- remove appdb byte-scan: boundary ambiguity returned wrong names,
  worse than raw IDs; also removes the multi-MB game-process read
- discord/daemon: full-URL artwork wins, pack URL next, asset key last
2026-09-19 11:16:09 +02:00
SirHumza 0dedb15ef8 jsonlite: depth cap + bounded number scan + hostile tests 2026-09-19 10:27:04 +02:00
SirHumza 28f6275a05 Gateway precision, SFO OOB fix, build lists, artwork runbook
- discord: HELLO requires text frame; READY/HELLO timeout diagnostics;
  invalid-session fast retry path (-3); clamp warning; malformed close
- daemon: invalid session resets backoff instead of doubling it
- sfo: bounded key scan (no OOB on malformed files) + regression test
- build.sh + plugin Makefile compile sfo.c (link verified)
- deploy/ARTWORK.md: shared-app asset pipeline, no-URL rule
2026-09-19 10:18:39 +02:00
SirHumza cdb431cfa6 Names tiers, SFO parser, close-frame/diagnostics hardening
- detect: cost-tiered resolution; plugin path skips multi-MB app.db
  scan (game-process safety); payload tries pronunc, sfo, appxml,
  baked table, then app.db; sfo TITLE via app0/sce_sys paths
- sfo.c: bounds-checked PARAM.SFO parser + unit tests incl malformed
- nametable: generated fallback from title DB + generator script
- discord: malformed close frames reconnect loudly; one-time warning
  when artwork requested but no application_id configured
- ws comments de-BearSSLed; gitignore covers artifacts; drop .DS_Store,
  untrack test binary; README art claim corrected
2026-09-19 01:37:55 +02:00
SirHumza bf5579d6da Stable gateway backend: mbedTLS, 8MB READY, JSON-safe parsing
- BearSSL replaced with mbedTLS (TLSv1.3 passes Cloudflare)
- 8MB frame cap + truncation-proof gateway op/seq scanner
- Thread-safe compat, locked logging, atomic config with template
- Daemon keeps last-good config, persistent presence timer
- 256B token buffers, weak-libc shims, portable build preflights
- Tests: gateway spoof + OOM cases pass

Still open: display names fall back to titleId in sandbox,
cover art needs shared Discord app assets. Backend fully functional.
2026-09-19 01:03:17 +02:00
SirHumza 6dbfa1512c Harden networking, lifecycle, and build validation
Add BearSSL integration, strict utility handling, WebSocket validation,
plugin lifecycle cleanup, host regression tests, and reproducible GoldHEN
build support.
2026-08-27 20:38:39 +02:00