better error messages
This commit is contained in:
116
index.html
116
index.html
@@ -1,48 +1,33 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Notaquest</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tweetnacl@1.0.3/nacl-fast.min.js"></script>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css" />
|
||||
|
||||
<meta
|
||||
name="description"
|
||||
content="Enable ADB on your Meta Quest without creating a developer organization or verifying with a credit card. One-click tool using Web Bluetooth."
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="meta quest, quest 3, adb, developer mode, sideload, sidequest, no organization, web bluetooth"
|
||||
/>
|
||||
<meta name="description"
|
||||
content="Enable ADB on your Meta Quest without creating a developer organization or verifying with a credit card. One-click tool using Web Bluetooth." />
|
||||
<meta name="keywords"
|
||||
content="meta quest, quest 3, adb, developer mode, sideload, sidequest, no organization, web bluetooth" />
|
||||
|
||||
<!-- Open Graph (social sharing) -->
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Notaquest - Enable ADB on Meta Quest without a developer org"
|
||||
/>
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Skip the organization, skip the credit card. Enable ADB on your Quest from a web page."
|
||||
/>
|
||||
<meta property="og:title" content="Notaquest - Enable ADB on Meta Quest without a developer org" />
|
||||
<meta property="og:description"
|
||||
content="Skip the organization, skip the credit card. Enable ADB on your Quest from a web page." />
|
||||
<meta property="og:url" content="https://notaquest.owendeed.com" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- Twitter/X -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Notaquest - Enable ADB on Meta Quest without a developer org"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:description"
|
||||
content="Skip the organization, skip the credit card. Enable ADB on your Quest from a web page."
|
||||
/>
|
||||
</head>
|
||||
<body>
|
||||
<meta name="twitter:title" content="Notaquest - Enable ADB on Meta Quest without a developer org" />
|
||||
<meta name="twitter:description"
|
||||
content="Skip the organization, skip the credit card. Enable ADB on your Quest from a web page." />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main class="container">
|
||||
<h1>Notaquest</h1>
|
||||
<p>
|
||||
@@ -79,7 +64,7 @@
|
||||
</p>
|
||||
<p>
|
||||
currently only tested on meta quest 3 but should work on other devices.
|
||||
make a gitea issue (link at the bottom) if it doesn't work for any
|
||||
make a github issue (link at the bottom) if it doesn't work for any
|
||||
reason.
|
||||
</p>
|
||||
<details>
|
||||
@@ -88,9 +73,7 @@
|
||||
meta's api blocks requests from websites (CORS). the proxy forwards
|
||||
your request to graph.oculus.com and nothing else. nothing is stored
|
||||
or logged. you can
|
||||
<a href="https://api.notaquest.owendeed.com" target="_blank"
|
||||
>view the live worker source code</a
|
||||
>
|
||||
<a href="https://api.notaquest.owendeed.com" target="_blank">view the live worker source code</a>
|
||||
or check the network tab yourself. the code is a literal quine
|
||||
program, if i change it, it will change.
|
||||
</p>
|
||||
@@ -152,14 +135,10 @@
|
||||
</details>
|
||||
<br />
|
||||
<a href="https://www.tampermonkey.net/">tampermonkey website</a><br />
|
||||
<a
|
||||
href="https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo"
|
||||
>chrome (+chromium based browsers) extension</a
|
||||
>
|
||||
<a href="https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo">chrome (+chromium
|
||||
based browsers) extension</a>
|
||||
<br />
|
||||
<a href="https://addons.mozilla.org/firefox/addon/tampermonkey/"
|
||||
>firefox (+firefox based browsers) extension</a
|
||||
>
|
||||
<a href="https://addons.mozilla.org/firefox/addon/tampermonkey/">firefox (+firefox based browsers) extension</a>
|
||||
</details>
|
||||
<details>
|
||||
<summary>automated method (tampermonkey required)</summary>
|
||||
@@ -183,11 +162,9 @@
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<button
|
||||
onclick="
|
||||
<button onclick="
|
||||
window.location.href = 'https://secure.oculus.com/#notaquest'
|
||||
"
|
||||
>
|
||||
">
|
||||
get token automatically (tampermonkey script must be installed)
|
||||
</button>
|
||||
</li>
|
||||
@@ -201,11 +178,7 @@
|
||||
<ol>
|
||||
<li>
|
||||
Log into
|
||||
<a
|
||||
href="https://developers.meta.com/horizon/manage/"
|
||||
target="_blank"
|
||||
>developers.meta.com/horizon/manage/</a
|
||||
>
|
||||
<a href="https://developers.meta.com/horizon/manage/" target="_blank">developers.meta.com/horizon/manage/</a>
|
||||
</li>
|
||||
<li>Press F12 to open developer tools</li>
|
||||
<li>Application -> Cookies -> click the site</li>
|
||||
@@ -213,11 +186,7 @@
|
||||
<li>Paste it below</li>
|
||||
</ol>
|
||||
</details>
|
||||
<input
|
||||
id="token"
|
||||
placeholder="paste your Meta token here"
|
||||
style="width: 100%; max-width: 500px"
|
||||
/>
|
||||
<input id="token" placeholder="paste your Meta token here" style="width: 100%; max-width: 500px" />
|
||||
<br /><br />
|
||||
<button onclick="showQR()">
|
||||
generate prefilled token qr code for mobile
|
||||
@@ -229,12 +198,8 @@
|
||||
<button id="go" onclick="enableADB()">enable adb</button>
|
||||
<p id="nobt" style="display: none"></p>
|
||||
<p id="status"></p>
|
||||
<a href="https://github.com/owenthepuppy/notaquest/issues"
|
||||
>report an issue here</a
|
||||
><br />
|
||||
<a href="https://gitea.owendeed.com/Toasterkitten/notaquest"
|
||||
>view the source here</a
|
||||
><br />
|
||||
<a href="https://github.com/owenthepuppy/notaquest/issues">report an issue here</a><br />
|
||||
<a href="https://gitea.owendeed.com/Toasterkitten/notaquest">view the source here</a><br />
|
||||
<a href="https://owenfeldman.com">a project by owenfeldman.com</a>
|
||||
</main>
|
||||
<script src="https://cdn.jsdelivr.net/npm/qrcode-generator@1.4.4/qrcode.min.js"></script>
|
||||
@@ -509,15 +474,29 @@
|
||||
encrypt(devReq, sharedKey),
|
||||
);
|
||||
if (devRespRaw.length) {
|
||||
var devResp = parseProto(decrypt(devRespRaw, sharedKey));
|
||||
var decrypted = decrypt(devRespRaw, sharedKey);
|
||||
if (decrypted) {
|
||||
var devResp = parseProto(decrypted);
|
||||
if (devResp[2] === 0) {
|
||||
status(
|
||||
"done! adb should be enabled. restarting your headset may be required for it to work.",
|
||||
);
|
||||
status("done! adb should be enabled. restarting your headset may be required for it to work.");
|
||||
return;
|
||||
}
|
||||
if (devResp[3]) {
|
||||
var errMsg = new TextDecoder().decode(devResp[3]);
|
||||
if (errMsg.toLowerCase().includes("internet")) {
|
||||
status("your quest isn't connected to wifi. connect it to wifi and try again.");
|
||||
return;
|
||||
}
|
||||
status("quest rejected the command in a way i don't understand. do basic debugging, reboot, new token, all the normal stuff. if not working still, send a github issue with this data (it shouldn't have private info): " + errMsg);
|
||||
return;
|
||||
}
|
||||
status("quest responded but said something i don't understand. this is not an issue i have encountered yet. do basic debugging, reboot, new token, all the normal stuff. if not working still, send a github issue with this data (it shouldn't have private info): response fields: " + JSON.stringify(Object.fromEntries(Object.entries(devResp).map(([k, v]) => [k, v instanceof Uint8Array ? Array.from(v).map(b => b.toString(16)).join('') : v]))));
|
||||
} else {
|
||||
status("quest responded but decryption failed. something went very wrong, try a new token, if that doesn't work, make a github issue. raw length: " + devRespRaw.length);
|
||||
}
|
||||
} else {
|
||||
status("no response from quest for dev mode command. BLE connection may have dropped, or the Quest refused something silently.");
|
||||
}
|
||||
status("sent! check if adb is enabled.");
|
||||
} catch (e) {
|
||||
status(
|
||||
"error: " +
|
||||
@@ -527,5 +506,6 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user