Minor Changes
-
#21
a7c9a45Thanks @TooTallNate! - Add a tool to list installed titles.GET /titles(and the
list_installed_titlesMCP tool) enumerates the base applications installed on
the console across SD, internal storage, and an inserted gamecard, returning
each title's id, content-meta version, storage, and display name (resolved from
its control data / NACP). Read-only — uses thencm/nsaccess the installer
already declares, no new NPDM services. -
#16
c2a15c3Thanks @TooTallNate! - Add system-settings tools (REST + MCP):get_theme/set_theme— read/set the UI theme (light or dark).get_nickname/set_nickname— read/set the console's device nickname.get_brightness/set_brightness— read/set screen brightness (0.0–1.0).get_volume/set_volume— read/set master volume (0.0–1.0).airplane_mode— enable airplane mode (disable wireless). One-way: it cuts
the server's own connectivity and cannot be undone remotely, so there is no
remote re-enable.get_auto_time/set_auto_time— read/set internet clock synchronization.get_datetime/set_datetime— read the local date/time/timezone, or set
the date/time (written via the network system clock, which the displayed time
follows). The timezone can't be changed remotely. If internet time sync is
on, the OS may re-sync later; disable it first to make a manual time stick.statusnow also reportsbatteryPercentandcharging.
Exposed both as MCP tools and
/settings/*REST endpoints. Adds thelbl,
audctl, andpsmservices to the NPDM (theme/nickname/auto-time use the
existingset:sys, date/time usestime:s, airplane mode usesnifm).Note:
set_themeupdates the stored setting immediately but the HOME menu
only reflects it after it reloads (sleep/wake or reboot); brightness and volume
take effect live. -
#18
af94253Thanks @TooTallNate! - Add network title installation. Stream an NSP straight to the console with a
singlecurl -Tand it is installed into NCM content storage and registered
so it appears on the HOME menu — no SD-card staging, nothing to clean up.curl -g -T "Game [0100...000][v0].nsp" http://<ip>:4150/install
- New
POST/PUT /install[?storage=sd|nand]endpoint. The NSP is streamed
(sized fromContent-Length), so multi-GB titles install without buffering
to disk. - Parses the PFS0/NSP, writes each NCA via the NCM placeholder/register flow,
verifies each NCA's SHA-256 against its content id, parses the CNMT, sets the
content-meta database entry, imports the ticket (es), and pushes the
application record (ns). Rolls back written content on failure. - No external keys required: NCAs are copied byte-for-byte, and the CNMT is read
from the registered meta NCA via the firmware's own decryption. - Adds the
ncm,ns:am2, andesservices to the NPDM and vendors small
ns/es IPC wrappers that libnx does not expose.
NSP only for now; compressed NSZ is planned as a follow-up.
- New
-
#20
b6c7144Thanks @TooTallNate! - Install XCI (gamecard image) titles via the existing/installendpoint.
The container format is auto-detected from the stream —PFS0/NSP installs as
before, and an XCI is recognized by itsHEADcard-header magic (both trimmed
and full layouts). For XCI, the installer skips to the root HFS0, locates the
securepartition, and streams its NCAs into NCM using the same
placeholder/register → CNMT → application-record flow as NSP. Fully streaming
(sized fromContent-Length); no extra sysmodule memory is reserved.Verified on hardware: a retail XCI installs and launches.
Note: gamecard NCAs are not guaranteed to hash to their filename content id, so
the per-NCA SHA-256 check (kept for NSP) is skipped for XCI; the meta NCA is
still verified and the CNMT drives registration.