potentially fix the issue with no bare clients, libcurl and baremod are still broken

This commit is contained in:
wearrrrr 2024-03-11 13:57:34 -05:00
parent ffb4721afd
commit fdb93bbd96
7 changed files with 58 additions and 61 deletions

View file

@ -180,7 +180,7 @@ server.on("upgrade", (req, socket, head) => {
bare.routeUpgrade(req, socket, head); bare.routeUpgrade(req, socket, head);
} else if (shouldRouteRh(req)) { } else if (shouldRouteRh(req)) {
routeRhUpgrade(req, socket, head); routeRhUpgrade(req, socket, head);
} else if (req.url.endsWith("/wisp/")) { } else if (req.url.endsWith("/")) {
wisp.routeRequest(req, socket, head); wisp.routeRequest(req, socket, head);
} else { } else {
socket.end(); socket.end();

64
package-lock.json generated
View file

@ -9,10 +9,9 @@
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@astrojs/node": "^8.2.0", "@astrojs/node": "^8.2.0",
"@mercuryworkshop/bare-mux": "^1.0.4", "@mercuryworkshop/bare-mux": "^1.0.5",
"@mercuryworkshop/epoxy-transport": "^1.0.2", "@mercuryworkshop/epoxy-transport": "^1.1.0",
"@mercuryworkshop/libcurl-transport": "^1.1.0", "@mercuryworkshop/libcurl-transport": "^1.2.1",
"@nebula-services/ultraviolet": "^1.0.1-1.patch.7",
"@titaniumnetwork-dev/ultraviolet": "^3.0.0", "@titaniumnetwork-dev/ultraviolet": "^3.0.0",
"@tomphttp/bare-client": "^2.2.0-alpha", "@tomphttp/bare-client": "^2.2.0-alpha",
"@tomphttp/bare-server-node": "^2.0.3", "@tomphttp/bare-server-node": "^2.0.3",
@ -927,9 +926,9 @@
"integrity": "sha512-ojkXjR3K0Zz3jnCR80tqPL+0yvbZk/lEodb6RIVjLz7W8RVA2wrw8ym/CzCpXO9SYVUIKHFUpc7jvf8UKfIM3w==" "integrity": "sha512-ojkXjR3K0Zz3jnCR80tqPL+0yvbZk/lEodb6RIVjLz7W8RVA2wrw8ym/CzCpXO9SYVUIKHFUpc7jvf8UKfIM3w=="
}, },
"node_modules/@mercuryworkshop/bare-mux": { "node_modules/@mercuryworkshop/bare-mux": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/@mercuryworkshop/bare-mux/-/bare-mux-1.0.4.tgz", "resolved": "https://registry.npmjs.org/@mercuryworkshop/bare-mux/-/bare-mux-1.0.5.tgz",
"integrity": "sha512-u9vtjc9Gp4G6UO7NYB1SphEiNIZtHuwI7/wxebbeKJ+GegmogxFodXF0ZYsQl7AY0fo3RqQs4odex9pYPHDkgQ==", "integrity": "sha512-5czcsWISUCrN49diTuF/8WXZUCyoWHn90Ea+gLhVWKGUTyJzPAG5gTVZ77rMcQYewSuSDA1WVPaF0n79ciL5Gg==",
"dependencies": { "dependencies": {
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"uuid": "^9.0.1" "uuid": "^9.0.1"
@ -948,16 +947,16 @@
} }
}, },
"node_modules/@mercuryworkshop/epoxy-tls": { "node_modules/@mercuryworkshop/epoxy-tls": {
"version": "1.2.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-tls/-/epoxy-tls-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-tls/-/epoxy-tls-1.4.1.tgz",
"integrity": "sha512-E8FEIPbzqyNPZTlootTCkeHONuGg8NKQjdBfp3SfkTq11j4lXEECh7v1HALpX60EY2sMl36WGth04y0oFsRhYw==" "integrity": "sha512-g4vuP25F+RUz2l46y0WJ6mm9p7GDJEwEsgtQn5SzsXgnS1iKstE8bHAtqIfEf6njs4kRZs9Lxkj2UwHw2y+S7g=="
}, },
"node_modules/@mercuryworkshop/epoxy-transport": { "node_modules/@mercuryworkshop/epoxy-transport": {
"version": "1.0.2", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-transport/-/epoxy-transport-1.0.2.tgz", "resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-transport/-/epoxy-transport-1.1.0.tgz",
"integrity": "sha512-phd8dlaSZqOt1/suNShdBFf1dlXyYGVXYEjAX7vg0pW4cWN1kgJvpq58a/LZwNlIqb2vkFp6pXUXq7w/RW70vQ==", "integrity": "sha512-JVdKr+u53qu3GQyehZDWRfWV1UWct2fAtU2/50plFl9TLzy2rPLUHqyHTmyAuErNS6SP2uZ9BlgMz6FN4PlpVg==",
"dependencies": { "dependencies": {
"@mercuryworkshop/epoxy-tls": "^1.1.1", "@mercuryworkshop/epoxy-tls": "^1.4.1",
"esbuild-plugin-umd-wrapper": "^2.0.0", "esbuild-plugin-umd-wrapper": "^2.0.0",
"rollup": "^4.12.0", "rollup": "^4.12.0",
"rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-node-resolve": "^5.2.0",
@ -966,41 +965,18 @@
} }
}, },
"node_modules/@mercuryworkshop/libcurl-transport": { "node_modules/@mercuryworkshop/libcurl-transport": {
"version": "1.1.0", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/@mercuryworkshop/libcurl-transport/-/libcurl-transport-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@mercuryworkshop/libcurl-transport/-/libcurl-transport-1.2.1.tgz",
"integrity": "sha512-332LEbSI19dJJa7TQ+A9ODUUFITh0t/ozD2QDG/OL7x0ESKYHkKUjoY7ZFQTdrFH7alHnjNqj0yyuKzYoWH8Mw==", "integrity": "sha512-HwlC36KSMoUHQmZ8y2EkF57oV6UfLrg6rUbdniMQqWw2HEDBT5Ua+gcyQybjW6pNMqvneqnOWLJFF9LwZzGHoA==",
"dependencies": { "dependencies": {
"esbuild-plugin-umd-wrapper": "^2.0.0", "esbuild-plugin-umd-wrapper": "^2.0.0",
"libcurl.js": "^0.4.1", "libcurl.js": "^0.5.0",
"rollup": "^4.12.0", "rollup": "^4.12.0",
"rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-typescript2": "^0.36.0", "rollup-plugin-typescript2": "^0.36.0",
"ws": "8.16.0" "ws": "8.16.0"
} }
}, },
"node_modules/@nebula-services/bare-client": {
"version": "1.1.2-beta.3-patch.1",
"resolved": "https://registry.npmjs.org/@nebula-services/bare-client/-/bare-client-1.1.2-beta.3-patch.1.tgz",
"integrity": "sha512-SgXCJruqgFg9ulgKd/S+6IAL3G5lP08Ey+pLLv768pwvgV5WgXdoWxytV1jJ8kd0vpQcnrq3ropTn2buT+8r5Q=="
},
"node_modules/@nebula-services/ultraviolet": {
"version": "1.0.1-1.patch.7",
"resolved": "https://registry.npmjs.org/@nebula-services/ultraviolet/-/ultraviolet-1.0.1-1.patch.7.tgz",
"integrity": "sha512-9xe7BR1DbxtK+TeAlsllbuDE6j+eA9rMFQp4M05vkHjO5CuQYUFfC48m/y4vWhbna6Uf2xdlZLJr6gYGDJStBA==",
"dependencies": {
"@nebula-services/bare-client": "^1.1.2-beta.3-patch.1",
"crypto-js": "^4.2.0",
"css-tree": "^2.0.4",
"esbuild": "^0.19.11",
"esotope-hammerhead": "^0.6.1",
"events": "^3.3.0",
"idb": "^7.1.1",
"meriyah": "^4.3.3",
"mime-db": "^1.51.0",
"parse5": "^7.1.2",
"set-cookie-parser": "^2.4.8"
}
},
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -4282,9 +4258,9 @@
} }
}, },
"node_modules/libcurl.js": { "node_modules/libcurl.js": {
"version": "0.4.2", "version": "0.5.2",
"resolved": "https://registry.npmjs.org/libcurl.js/-/libcurl.js-0.4.2.tgz", "resolved": "https://registry.npmjs.org/libcurl.js/-/libcurl.js-0.5.2.tgz",
"integrity": "sha512-WuL2EgeYVuSsHFeJhpq83pOMX8+ei1E4Vpym7SKz6vPvuOEK9TBDCZRXDN/zr9o4T9UIy0FXxwpIEyHvSBNGmA==" "integrity": "sha512-kj4Em8YYzx8Xl1wtXo04sGulQTqnxFkXsmtMDPqPZ8OIZCoyzilSQKMhmF2XVnoB0g+HK68A2v32b3lMPGCtfQ=="
}, },
"node_modules/load-yaml-file": { "node_modules/load-yaml-file": {
"version": "0.2.0", "version": "0.2.0",

View file

@ -10,10 +10,9 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^8.2.0", "@astrojs/node": "^8.2.0",
"@mercuryworkshop/bare-mux": "^1.0.4", "@mercuryworkshop/bare-mux": "^1.0.5",
"@mercuryworkshop/epoxy-transport": "^1.0.2", "@mercuryworkshop/epoxy-transport": "^1.1.0",
"@mercuryworkshop/libcurl-transport": "^1.1.0", "@mercuryworkshop/libcurl-transport": "^1.2.1",
"@nebula-services/ultraviolet": "^1.0.1-1.patch.7",
"@titaniumnetwork-dev/ultraviolet": "^3.0.0", "@titaniumnetwork-dev/ultraviolet": "^3.0.0",
"@tomphttp/bare-client": "^2.2.0-alpha", "@tomphttp/bare-client": "^2.2.0-alpha",
"@tomphttp/bare-server-node": "^2.0.3", "@tomphttp/bare-server-node": "^2.0.3",

View file

@ -4,9 +4,6 @@
//@ts-nocheck //@ts-nocheck
let form = document.querySelector("form"); let form = document.querySelector("form");
let input = document.querySelector("input"); let input = document.querySelector("input");
window.navigator.serviceWorker.register("/sw.js", {
scope: window.__uv$config.prefix,
});
document.addEventListener("astro:after-swap", initForm); document.addEventListener("astro:after-swap", initForm);
function initForm() { function initForm() {
let formEle = document.querySelector("form"); let formEle = document.querySelector("form");

View file

@ -1,7 +1,23 @@
<script> <script>
// @ts-ignore
// I HATE YOU VSCODE AAAAAAAAAAAAAA
import { SetTransport, registerRemoteListener } from "@mercuryworkshop/bare-mux"; import { SetTransport, registerRemoteListener } from "@mercuryworkshop/bare-mux";
// @ts-check
declare global {
interface Window {
__uv$config: {
prefix: string;
};
}
};
type transportConfig = {
wisp: string;
wasm?: string;
}
const wispURLDefault = const wispURLDefault =
(location.protocol === "https:" ? "wss://" : "ws://") + location.host + "/wisp/"; (location.protocol === "https:" ? "wss://" : "ws://") + location.host + "/";
class TransportManager { class TransportManager {
private transport = "EpxMod.EpoxyClient"; private transport = "EpxMod.EpoxyClient";
@ -16,6 +32,7 @@
// Set the default transport for the next reload. // Set the default transport for the next reload.
localStorage.setItem("alu__selectedTransport", JSON.stringify({ value: this.transport })); localStorage.setItem("alu__selectedTransport", JSON.stringify({ value: this.transport }));
} }
console.log(this.transport)
} }
getTransport() { getTransport() {
return this.transport; return this.transport;
@ -23,10 +40,21 @@
setTransport(transport: string, wispURL = wispURLDefault) { setTransport(transport: string, wispURL = wispURLDefault) {
this.transport = transport; this.transport = transport;
SetTransport(transport, { wisp: wispURL }); let transportConfig: transportConfig = { wisp: wispURL };
if (this.transport == "CurlMod.LibcurlClient") {
transportConfig.wasm = "https://cdn.jsdelivr.net/npm/libcurl.js@latest/libcurl.wasm";
}
SetTransport(this.transport, transportConfig);
} }
} }
const TransportMgr = new TransportManager(); const TransportMgr = new TransportManager();
registerRemoteListener(navigator.serviceWorker.controller!); registerRemoteListener(navigator.serviceWorker.controller!);
TransportMgr.setTransport(TransportMgr.getTransport()); let swRegister = navigator.serviceWorker.register("/sw.js", {
scope: window.__uv$config.prefix,
});
swRegister.then((registration) => {
registration.update().then(() => {
TransportMgr.setTransport(TransportMgr.getTransport());
});
});
</script> </script>

View file

@ -13,9 +13,9 @@ export function getStaticPaths() {
--- ---
<Layout title={t("pages.home")}> <Layout title={t("pages.home")}>
<script src="/baremux/bare.cjs" is:inline></script>
<script src="/epoxy/index.js" is:inline></script> <script src="/epoxy/index.js" is:inline></script>
<script src="/libcurl/index.cjs" is:inline></script> <script src="/libcurl/index.mjs" is:inline type="module"></script>
<script src="/baremux/bare.cjs" is:inline></script>
<script> <script>
import { createBareClient } from '@tomphttp/bare-client'; import { createBareClient } from '@tomphttp/bare-client';
createBareClient('/bare/'); createBareClient('/bare/');

View file

@ -1,7 +1,4 @@
{ {
"extends": "astro/tsconfigs/strict", "extends": "astro/tsconfigs/strict",
"exclude": ["dist/**"], "exclude": ["dist/**", "node_modules/**"],
"compilerOptions": {
"verbatimModuleSyntax": false
}
} }