feat: install the Quest build from the website

A Quest page on the public site (/quest) installs a DorkNet .xapk from
Chrome or Edge over WebUSB, with no adb, SideQuest or scripts: pick the
.xapk, connect the headset, install. It installs the APK, copies the OBB
to its install path (skipped when an identical one is already there) and
launches the app, with progress bars and plain-language errors for an
unsupported browser, a headset held by adb/SideQuest, a disconnect and a
copy signed with a different key.

The .xapk is read from the player's own disk: the APK and OBB are stored
uncompressed, so they stream straight out of the file without loading
1.4 GB into memory, and the server never hosts game files.

Uses Tango (@yume-chan/adb 2.6.4 and friends, MIT), pinned and bundled;
the page is lazy-loaded so the rest of the site doesn't grow. Credited in
NOTICE; README, DorkNet.Quest/README.md, docs/quest.md and the packaged
README.txt point players at the page.
This commit is contained in:
Alexa
2026-10-15 22:34:25 +03:00
parent 6272844445
commit a7879d7ede
12 changed files with 586 additions and 8 deletions
+5 -2
View File
@@ -69,8 +69,11 @@ pitfall in their Quest client notes.
3. Image signing key configured (`ImageSignatureService`), as for PC.
4. Build with `ServerHost=<apex>`, the Photon ids and region baked in, passing
`-Obb` so you get a release folder (`DorkNet-<ver>.xapk` plus
`install.cmd`/`install.sh`). Players run the installer with the headset
plugged in; the app appears as **DorkNet** under Unknown Sources.
`install.cmd`/`install.sh`). Players install it from your site's
**Quest** page (`https://<apex>/quest`, Chrome or Edge over USB) or with the
installer scripts; the app appears as **DorkNet** under Unknown Sources.
Share the `.xapk` however you like: the page reads it from the player's own
disk, so your server never hosts game files.
No server component is Quest-specific beyond the placeholder-platform-id
handling above.