20 Commits
Author SHA1 Message Date
SirHumza c9f0db94e4 custom.json: add SCUS00000, SMSR00001, LAPY10015 from issue #37 2026-10-16 10:09:48 +02:00
CyberMask367 c50cf30e63 Rebuild installer as a full setup app
Replace the standalone wizard with a graphical installer featuring settings, update checks, install and uninstall flows, and optional GoldHEN and nanoDNS configuration. Add the packaging and artwork pipeline, preserve user settings across config updates, and include additional custom title mappings.
2026-10-15 23:06:19 +01:00
CyberMask367 de87452ac3 Update docs and add custom title tool
Refresh the README branding and credits, fix the logo path, and remove the outdated hotspot warning. Add scripts/add_custom_title.py to manage entries in config/custom.json, including interactive add, list, and remove flows. The tool writes compact JSON in the format expected by the payload scanner so community title overrides work reliably without breaking lookups.
2026-10-12 15:51:27 +01:00
SirHumza 18604253c0 Merge branch 'pr-36-cybermask' 2026-10-12 11:52:53 +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
SirHumza fe62f3404f fix: README logo pointed at missing path, use config/icons/pslogo.png 2026-10-10 13:21:46 +02: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 6868a25841 Revert "Added PSP cover arts"
This reverts commit 814e88c872.
2026-10-08 13:59:15 +01:00
CyberMask367 0646535351 Revert "Added PS1 cover arts"
This reverts commit a3b8377e0b.
2026-10-08 13:27:10 +01:00
CyberMask367 a3b8377e0b Added PS1 cover arts
Added PS1 cover arts for retro games resolving
2026-10-08 02:16:03 +01:00
CyberMask367 814e88c872 Added PSP cover arts
Added PSP cover arts for retro games resolving
2026-10-08 01:52:20 +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
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 51c87ebcc7 track brand logo for README hero 2026-09-25 10:36:09 +02:00
SirHumza d950661f78 WIP: default art pack URL (art works from first boot) 2026-09-23 20:57:24 +02:00
SirHumza de523d3c2e WIP: asset-key art only (URLs drop activities), own app id default, extended nametable 2026-09-23 19:04:13 +02:00
SirHumza 260b9dc8c0 Default art backend to public RPC app assets 2026-09-19 11:24:28 +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 949240f590 daemon: auth via user session token; fix ws/gateway protocol bugs
The public Discord gateway rejects OAuth2 access tokens (close 4004),
so v1 could never set presence: switch config to a raw user token and
delete the oauth/http module.

- handle close frames; exit fatal on 4004 instead of looping forever
- fix reversed IPv4 packing in sceNetConnect (wrong host)
- fix SSL_read treating WANT_READ/no-data as disconnect
- keep frame bytes glued to the 101 handshake response (HELLO)
- grow recv buffer for large READY payloads; drain-and-skip >2MB
- mask all client frames incl. control; overflow-safe length checks
- drop RESUME (was dead: connect wiped session_id); fresh IDENTIFY
- clear presence stays online, add elapsed timestamps
- tick gateway every second so heartbeats never land late
- connect backoff 5s..300s; live config reload each cycle
2026-08-23 11:07:38 +02:00
SirHumza 20c13f1ead feat: PS4RP daemon source + working PS4 build
Full daemon source (C, PS4 native):
- log/cfg/jsonlite/b64: logging, /data/PS4RP/config.json, JSON, base64
- http.c: OAuth2 token exchange via SceHttp (authorization_code + refresh)
- ws.c: WebSocket over SceNet + LibreSSL (SSLv23_client_method),
  DNS via sceNetResolverStartNtoa, OrbisNetSockaddr packing
- discord.c: gateway connect/identify/heartbeat/presence set+clear
- detect.c: foreground game via sceUserServiceGetForegroundUser
  + app.xml/app.db title-name resolution
- main.c: poll loop (config poll_interval_s)

Build verified on macOS (LLVM 21 + OpenOrbis toolchain v0.5.4):
- 9 objects compile, lld 21 links build/ps4rp.elf (169KB)
- create-fself produces valid SCE ASLR payload build/ps4rp.fself
- libSceLibreSSL exports the OpenSSL-style TLS API used by ws.c
2026-08-14 08:43:09 +02:00