1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-25 11:43:07 +01:00

Remove auth requirement & fix image path

This commit is contained in:
TomatoCake 2024-08-25 06:50:34 +02:00
parent e3707e6a56
commit 1bf2424033
2 changed files with 4 additions and 2 deletions

View File

@ -54,6 +54,8 @@ export const NO_AUTHORIZATION_ROUTES = [
/GET \/guilds\/\d+\/widget\.(json|png)/, /GET \/guilds\/\d+\/widget\.(json|png)/,
// Connections // Connections
/POST \/connections\/\w+\/callback/, /POST \/connections\/\w+\/callback/,
// Image proxy
/GET \/imageproxy\/[A-Za-z0-9+/]\/\d+x\d+\/.+/
]; ];
export const API_PREFIX = /^\/api(\/v\d+)?/; export const API_PREFIX = /^\/api(\/v\d+)?/;

View File

@ -67,7 +67,7 @@ export async function ImageProxy(req: Request, res: Response) {
if (!crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(path[0]))) if (!crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(path[0])))
throw new Error("Invalid signature"); throw new Error("Invalid signature");
} catch { } catch {
console.log("Invalid signature, expected " + hash + " got " + path[0]); console.log("[ImageProxy] Invalid signature, expected " + hash + " but got " + path[0]);
res.status(403).send("Invalid signature"); res.status(403).send("Invalid signature");
return; return;
} }
@ -75,7 +75,7 @@ export async function ImageProxy(req: Request, res: Response) {
const abort = new AbortController(); const abort = new AbortController();
setTimeout(() => abort.abort(), 5000); setTimeout(() => abort.abort(), 5000);
const request = await fetch(path.slice(2).join("/"), { const request = await fetch("https://" + path.slice(2).join("/"), {
headers: { headers: {
"User-Agent": "SpacebarImageProxy/1.0.0 (https://spacebar.chat)", "User-Agent": "SpacebarImageProxy/1.0.0 (https://spacebar.chat)",
}, },