From f11c377294fd75985e834e1444c83421748655c6 Mon Sep 17 00:00:00 2001 From: rift <117926989+Riftriot@users.noreply.github.com> Date: Fri, 22 Dec 2023 16:55:43 -0600 Subject: [PATCH] proxyframe dev (WIP) --- src/pages/ProxyFrame.tsx | 57 +++++++++++++++++++++++++++++++--------- src/pages/discord.tsx | 2 +- 2 files changed, 45 insertions(+), 14 deletions(-) diff --git a/src/pages/ProxyFrame.tsx b/src/pages/ProxyFrame.tsx index 45ee2b3..a338e15 100644 --- a/src/pages/ProxyFrame.tsx +++ b/src/pages/ProxyFrame.tsx @@ -11,14 +11,18 @@ declare global { export function ProxyFrame(props: { url: string }) { // pass the URL encoded with encodeURIcomponent var localProxy = localStorage.getItem("proxy") || "automatic"; + var proxyMode = localStorage.getItem("proxyMode") || "direct"; + var [ProxiedUrl, setProxiedUrl] = useState(undefined); var decodedUrl = decodeURIComponent(props.url); + var proxyRef; + if (!decodedUrl.includes(".")) { decodedUrl = "https://www.google.com/search?q=" + decodedUrl; // If the users input has no . then we change it to a google query. TODO: Feature to change search engines } - if (decodedUrl.startsWith("http://") || !decodedUrl.startsWith("https://")) { + if (!decodedUrl.startsWith("http://") || !decodedUrl.startsWith("https://")) { decodedUrl = "https://" + decodedUrl; } @@ -27,28 +31,55 @@ export function ProxyFrame(props: { url: string }) { if (localProxy === "rammerhead") { RammerheadEncode(decodedUrl).then((result: string) => { setProxiedUrl(result); - window.location.href = result; }); } else if (localProxy === "ultraviolet") { - window.location.href = - window.__uv$config.prefix + window.__uv$config.encodeUrl(decodedUrl); + setProxiedUrl( + window.__uv$config.prefix + window.__uv$config.encodeUrl(decodedUrl) + ); } else if (localProxy === "dynamic") { - window.location.href = - window.__dynamic$config.prefix + encodeURIComponent(decodedUrl); + setProxiedUrl( + window.__dynamic$config.prefix + encodeURIComponent(decodedUrl) + ); } else { // use UV for automatic - window.location.href = - window.__uv$config.prefix + window.__uv$config.encodeUrl(decodedUrl); + setProxiedUrl( + window.__uv$config.prefix + window.__uv$config.encodeUrl(decodedUrl) + ); } }, [localProxy]); - console.log(ProxiedUrl); + if (proxyMode == "direct") { + window.location.href = ProxiedUrl; + } else if (proxyMode == "aboutblank") { + const newWindow = window.open("about:blank", "_blank"); + const newDocument = newWindow.document.open(); + newDocument.write(` + + + + + + + + + + `); + newDocument.close() + window.location.replace("/"); + } else { + // iframe + } return ( -
-

{props.url}

-

{localProxy}

-

{ProxiedUrl}

+
+ {proxyMode === "direct" &&

Loading {localProxy}...

}
); // @TODO: Routing (iframe, ab, direct, etc.) } diff --git a/src/pages/discord.tsx b/src/pages/discord.tsx index 6f843fa..b0b8d24 100644 --- a/src/pages/discord.tsx +++ b/src/pages/discord.tsx @@ -17,7 +17,7 @@ export function DiscordPage() { {t("discord.button1")} - +