first commit

This commit is contained in:
sky
2025-06-23 16:07:32 -04:00
commit c86679fcab
4 changed files with 735 additions and 0 deletions

46
index.js Normal file
View File

@ -0,0 +1,46 @@
let serverSockets = {};
const server = Bun.serve({
port: 3000,
routes: {
"/admin": Response("admin panel wip"),
"/api/*": Response.json({"success": false, "reason": "API has not been implemented."})
},
websocket: {
message(ws, message) {
// console.log(serverSockets[ws.data.uuid]);
// console.log(message);
if(serverSockets[ws.data.uuid].readyState != 1) {
serverSockets[ws.data.uuid].addEventListener("open", ()=>{
serverSockets[ws.data.uuid].send(message);
})
} else {
serverSockets[ws.data.uuid].send(message);
}
},
open(ws) {
// console.log(ws);
let socket = new WebSocket(`wss://${ws.data.url}`);
socket.addEventListener("message", event => {
ws.send(event.data);
});
socket.addEventListener("close", event => {
ws.close();
delete serverSockets[ws.data.uuid];
});
serverSockets[ws.data.uuid] = socket;
},
close(ws, code, message) {
serverSockets[ws.data.uuid].close();
delete serverSockets[ws.data.uuid];
},
drain(ws) {},
},
fetch(req) {
if (server.upgrade(req, { data: { url: new URL(req.url).pathname.substring(1), uuid: crypto.randomUUID() } })) {
return;
}
return Response("server up");
}
})
console.log("server up");