Bug Fix: Allowing clients to have different ServePorts per client and storages per client

This commit is contained in:
Raven Scott 2024-06-08 16:45:15 -04:00
parent dd8099649f
commit 5f8817a2f2
32 changed files with 17 additions and 3 deletions

15
app.js
View File

@ -8,7 +8,8 @@ import Hyperdrive from 'hyperdrive';
import Corestore from 'corestore'; import Corestore from 'corestore';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
const store = new Corestore('./storage'); const storagePath = `./storage_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
const store = new Corestore(storagePath);
const drive = new Hyperdrive(store); const drive = new Hyperdrive(store);
await drive.ready(); await drive.ready();
@ -21,10 +22,18 @@ let peerCount = 0;
let currentRoom = null; let currentRoom = null;
const eventEmitter = new EventEmitter(); const eventEmitter = new EventEmitter();
// Define servePort at the top level
let servePort;
// Function to get a random port between 1337 and 2223
function getRandomPort() {
return Math.floor(Math.random() * (2223 - 1337 + 1)) + 1337;
}
async function initialize() { async function initialize() {
swarm = new Hyperswarm(); swarm = new Hyperswarm();
const servePort = 1337; servePort = getRandomPort();
const serve = new ServeDrive({ port: servePort, get: ({ key, filename, version }) => drive }); const serve = new ServeDrive({ port: servePort, get: ({ key, filename, version }) => drive });
await serve.ready(); await serve.ready();
console.log('Listening on http://localhost:' + serve.address().port); console.log('Listening on http://localhost:' + serve.address().port);
@ -129,7 +138,7 @@ function registerUser(e) {
reader.onload = async (event) => { reader.onload = async (event) => {
const buffer = new Uint8Array(event.target.result); const buffer = new Uint8Array(event.target.result);
await drive.put(`/icons/${regUsername}.png`, buffer); await drive.put(`/icons/${regUsername}.png`, buffer);
userAvatar = `http://localhost:1337/icons/${regUsername}.png`; // Set the correct URL userAvatar = `http://localhost:${servePort}/icons/${regUsername}.png`; // Set the correct URL
registeredUsers[regUsername] = userAvatar; registeredUsers[regUsername] = userAvatar;
localStorage.setItem('registeredUsers', JSON.stringify(registeredUsers)); localStorage.setItem('registeredUsers', JSON.stringify(registeredUsers));
continueRegistration(regUsername); continueRegistration(regUsername);

View File

@ -0,0 +1 @@
Ÿ(â°f¿éh»8ÓFOv//oOa«[Ô™–|U9{Á

View File

@ -0,0 +1 @@
<EFBFBD>4<EFBFBD>ھ<EFBFBD><EFBFBD>P,8<><38>UW<55>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>ܲkC<><EFBFBD>

View File

@ -0,0 +1 @@
賴B-HGnゥxfムモ=&遂3ぇZム セ貢Cシァ"カ

View File

@ -0,0 +1 @@
њcїSµd$и„тЩхЧvОґДќЈГ…ЉJЌЊ1Р

View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD>`N<><1F><>3<EFBFBD>t<EFBFBD><74>s<EFBFBD>H|MS"<22>k<EFBFBD><6B><10><>]