From cc38b7c7c6f2ff06f960f3a3c3d1b04089c9a992 Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Thu, 7 May 2026 20:37:10 +0700 Subject: [PATCH] feat: add isAllowedTarget function to validate URL protocols --- relay-utils.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/relay-utils.ts b/relay-utils.ts index 9beb2d8..c052c24 100644 --- a/relay-utils.ts +++ b/relay-utils.ts @@ -32,6 +32,15 @@ export function buildRelayRequest( }; } +export function isAllowedTarget(url: string): boolean { + try { + const parsed = new URL(url); + return ["http:", "https:"].includes(parsed.protocol); + } catch { + return false; + } +} + export function createRelayResponse(response: Response): Response { return new Response(response.body, { status: response.status,