fix up some rammerhead removal things
This commit is contained in:
parent
fc414951d1
commit
19a3856768
1 changed files with 222 additions and 156 deletions
|
|
@ -12,7 +12,10 @@ import { getLangFromUrl, useTranslations } from "../../../i18n/utils";
|
|||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
export function getStaticPaths() {
|
||||
const STATIC_PATHS = [{ params: { lang: "en_US" } }, { params: { lang: "jp" } }];
|
||||
const STATIC_PATHS = [
|
||||
{ params: { lang: "en_US" } },
|
||||
{ params: { lang: "jp" } },
|
||||
];
|
||||
return STATIC_PATHS;
|
||||
}
|
||||
export const prerender = true;
|
||||
|
|
@ -21,89 +24,101 @@ import { MARKETPLACE_ENABLED } from "astro:env/client";
|
|||
|
||||
<Layout title="Settings">
|
||||
<SettingsLayout title={t("settings.proxy")}>
|
||||
<SettingsSection title="Proxy" subtitle="A wide variety of settings for the proxy/rewriter itself.">
|
||||
<div class="w-full h-full flex flex-col items-center justify-center flex-wrap md:flex-row md:items-start md:justify-start gap-4">
|
||||
<SettingsSection
|
||||
title="Proxy"
|
||||
subtitle="A wide variety of settings for the proxy/rewriter itself."
|
||||
>
|
||||
<div
|
||||
class="w-full h-full flex flex-col items-center justify-center flex-wrap md:flex-row md:items-start md:justify-start gap-4"
|
||||
>
|
||||
<SettingsCard
|
||||
title="Proxy"
|
||||
description="Choose the proxy/rewriter that fits your needs"
|
||||
input={{input:false}}
|
||||
button={{name: 'Change', id: 'setproxy'}}
|
||||
input={{ input: false }}
|
||||
button={{ name: "Change", id: "setproxy" }}
|
||||
select={{
|
||||
select: true,
|
||||
name: 'proxy',
|
||||
name: "proxy",
|
||||
options: [
|
||||
{name: 'Automatic', value: 'automatic', disabled: false},
|
||||
{name: 'Ultraviolet', value: 'uv', disabled: false},
|
||||
{name: 'Rammerhead', value: 'rh', disabled: false}
|
||||
]
|
||||
{ name: "Automatic", value: "automatic", disabled: false },
|
||||
{ name: "Ultraviolet", value: "uv", disabled: false },
|
||||
{ name: "Scramjet (COMING SOON)", value: "sj", disabled: true },
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<SettingsCard
|
||||
title="Open in"
|
||||
description="Choose how to open your sites"
|
||||
input={{input:false}}
|
||||
button={{name: 'Set', id: 'setopenin'}}
|
||||
input={{ input: false }}
|
||||
button={{ name: "Set", id: "setopenin" }}
|
||||
select={{
|
||||
select: true,
|
||||
name: 'openin',
|
||||
name: "openin",
|
||||
options: [
|
||||
{name: 'Embed', value: 'embed', disabled: false},
|
||||
{name: 'Direct', value: 'direct', disabled: false},
|
||||
{name: 'About:Blank', value: 'a:b', disabled: false},
|
||||
{name: 'Blob', value: 'blob', disabled: false}
|
||||
]
|
||||
{ name: "Embed", value: "embed", disabled: false },
|
||||
{ name: "Direct", value: "direct", disabled: false },
|
||||
{ name: "About:Blank", value: "a:b", disabled: false },
|
||||
{ name: "Blob", value: "blob", disabled: false },
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<SettingsCard
|
||||
title="Search Engine"
|
||||
description="Choose your search engine"
|
||||
input={{input: false}}
|
||||
button={{name: 'Set Search Engine', id: 'setsearchengine'}}
|
||||
input={{ input: false }}
|
||||
button={{ name: "Set Search Engine", id: "setsearchengine" }}
|
||||
select={{
|
||||
select: true,
|
||||
name: 'searchengine',
|
||||
name: "searchengine",
|
||||
options: [
|
||||
{name: 'DuckDuckGo', value: 'ddg', disabled: false},
|
||||
{name: 'Google', value: 'google', disabled: false},
|
||||
{name: 'Bing', value: 'bing', disabled: false}
|
||||
]
|
||||
{ name: "DuckDuckGo", value: "ddg", disabled: false },
|
||||
{ name: "Google", value: "google", disabled: false },
|
||||
{ name: "Bing", value: "bing", disabled: false },
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<SettingsCard
|
||||
title="Wisp Server"
|
||||
description="Choose the wisp server you feel is the fastest"
|
||||
input={{input: false}}
|
||||
button={{name: 'Select', id: 'setwispurl'}}
|
||||
input={{ input: false }}
|
||||
button={{ name: "Select", id: "setwispurl" }}
|
||||
select={{
|
||||
select: true,
|
||||
name: 'wispurl',
|
||||
name: "wispurl",
|
||||
options: [
|
||||
{name: 'Default', value: 'default', disabled: false},
|
||||
{name: 'Ruby Network (US)', value: 'ruby', disabled: false}
|
||||
]
|
||||
{ name: "Default", value: "default", disabled: false },
|
||||
{ name: "Ruby Network (US)", value: "ruby", disabled: false },
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<SettingsCard
|
||||
title="Transport"
|
||||
description="Select the transport to use"
|
||||
input={{input: false}}
|
||||
button={{name: 'Set transport', id: 'settransport'}}
|
||||
input={{ input: false }}
|
||||
button={{ name: "Set transport", id: "settransport" }}
|
||||
select={{
|
||||
select: true,
|
||||
name: 'transport',
|
||||
name: "transport",
|
||||
options: [
|
||||
{name: 'Libcurl', value: 'libcurl', disabled: false},
|
||||
{name: 'Epoxy', value: 'epoxy', disabled: false}
|
||||
]
|
||||
{ name: "Libcurl", value: "libcurl", disabled: false },
|
||||
{ name: "Epoxy", value: "epoxy", disabled: false },
|
||||
],
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</SettingsSection>
|
||||
{MARKETPLACE_ENABLED &&
|
||||
<SettingsSection title="Plugins" subtitle="Plugins allow you to modify the way the proxy works (UV only, plugins are auto applied)">
|
||||
{
|
||||
MARKETPLACE_ENABLED && (
|
||||
<SettingsSection
|
||||
title="Plugins"
|
||||
subtitle="Plugins allow you to modify the way the proxy works (UV only, plugins are auto applied)"
|
||||
>
|
||||
<div class="flex flex-row gap-6 justify-center md:justify-normal">
|
||||
<InstalledPlugins client:only="svelte" />
|
||||
<a href={`/${lang}/catalog/1`} class="rounded-3xl bg-navbar-color w-64 flex flex-col">
|
||||
<a
|
||||
href={`/${lang}/catalog/1`}
|
||||
class="rounded-3xl bg-navbar-color w-64 flex flex-col"
|
||||
>
|
||||
<div class="w-full items-center justify-center flex aspect-[16/9]">
|
||||
<Icon name="ph:plus-bold" class="h-16 w-16" />
|
||||
</div>
|
||||
|
|
@ -113,83 +128,134 @@ import { MARKETPLACE_ENABLED } from "astro:env/client";
|
|||
</a>
|
||||
</div>
|
||||
</SettingsSection>
|
||||
)
|
||||
}
|
||||
</SettingsLayout>
|
||||
<ToastWrapper client:load>
|
||||
<Toast toastProp={{
|
||||
toastType: 'success',
|
||||
text: 'Successfully changed proxy!',
|
||||
class: 'proxyMessage'
|
||||
<Toast
|
||||
toastProp={{
|
||||
toastType: "success",
|
||||
text: "Successfully changed proxy!",
|
||||
class: "proxyMessage",
|
||||
}}
|
||||
client:load />
|
||||
<Toast toastProp={{
|
||||
toastType: 'success',
|
||||
text: 'Saved selection!',
|
||||
class: 'openInMessage'
|
||||
client:load
|
||||
/>
|
||||
<Toast
|
||||
toastProp={{
|
||||
toastType: "success",
|
||||
text: "Saved selection!",
|
||||
class: "openInMessage",
|
||||
}}
|
||||
client:load />
|
||||
<Toast toastProp={{
|
||||
toastType: 'success',
|
||||
text: 'Saved Search Engine Selection!',
|
||||
class: 'searchEngineMessage'
|
||||
client:load
|
||||
/>
|
||||
<Toast
|
||||
toastProp={{
|
||||
toastType: "success",
|
||||
text: "Saved Search Engine Selection!",
|
||||
class: "searchEngineMessage",
|
||||
}}
|
||||
client:load />
|
||||
<Toast toastProp={{
|
||||
toastType: 'success',
|
||||
text: 'Wisp server selected!',
|
||||
class: 'wispUrlMessage'
|
||||
client:load
|
||||
/>
|
||||
<Toast
|
||||
toastProp={{
|
||||
toastType: "success",
|
||||
text: "Wisp server selected!",
|
||||
class: "wispUrlMessage",
|
||||
}}
|
||||
client:load />
|
||||
<Toast toastProp={{
|
||||
toastType: 'success',
|
||||
text: 'Transport set!',
|
||||
class: 'transportMessage'
|
||||
client:load
|
||||
/>
|
||||
<Toast
|
||||
toastProp={{
|
||||
toastType: "success",
|
||||
text: "Transport set!",
|
||||
class: "transportMessage",
|
||||
}}
|
||||
client:load />
|
||||
client:load
|
||||
/>
|
||||
</ToastWrapper>
|
||||
</Layout>
|
||||
<script>
|
||||
import { toast } from "@utils/toast.ts";
|
||||
import { settings, Settings as SettingsEnum } from "@utils/settings/index";
|
||||
import { pageLoad } from "@utils/events";
|
||||
function setup(proxySelectVal: HTMLSelectElement, openInVal: HTMLSelectElement, searchEngineVal: HTMLSelectElement, wispServerVal: HTMLSelectElement, transportVal: HTMLSelectElement) {
|
||||
proxySelectVal.value = localStorage.getItem(SettingsEnum.ProxySettings.proxy) as string;
|
||||
openInVal.value = localStorage.getItem(SettingsEnum.ProxySettings.openIn) as string;
|
||||
searchEngineVal.value = localStorage.getItem(SettingsEnum.ProxySettings.searchEngine) as string;
|
||||
wispServerVal.value = localStorage.getItem(SettingsEnum.ProxySettings.wispServerURL) as string;
|
||||
transportVal.value = localStorage.getItem(SettingsEnum.ProxySettings.transport) as string;
|
||||
function setup(
|
||||
proxySelectVal: HTMLSelectElement,
|
||||
openInVal: HTMLSelectElement,
|
||||
searchEngineVal: HTMLSelectElement,
|
||||
wispServerVal: HTMLSelectElement,
|
||||
transportVal: HTMLSelectElement
|
||||
) {
|
||||
proxySelectVal.value = localStorage.getItem(
|
||||
SettingsEnum.ProxySettings.proxy
|
||||
) as string;
|
||||
openInVal.value = localStorage.getItem(
|
||||
SettingsEnum.ProxySettings.openIn
|
||||
) as string;
|
||||
searchEngineVal.value = localStorage.getItem(
|
||||
SettingsEnum.ProxySettings.searchEngine
|
||||
) as string;
|
||||
wispServerVal.value = localStorage.getItem(
|
||||
SettingsEnum.ProxySettings.wispServerURL
|
||||
) as string;
|
||||
transportVal.value = localStorage.getItem(
|
||||
SettingsEnum.ProxySettings.transport
|
||||
) as string;
|
||||
}
|
||||
pageLoad(() => {
|
||||
const proxyButton = document.getElementById("setproxy") as HTMLButtonElement;
|
||||
const proxySelectVal = document.getElementById('proxy') as HTMLSelectElement;
|
||||
const openInButton = document.getElementById('setopenin') as HTMLButtonElement;
|
||||
const openInVal = document.getElementById('openin') as HTMLSelectElement;
|
||||
const searchEngineButton = document.getElementById('setsearchengine') as HTMLButtonElement;
|
||||
const searchEngineVal = document.getElementById('searchengine') as HTMLSelectElement;
|
||||
const wispServerButton = document.getElementById('setwispurl') as HTMLButtonElement;
|
||||
const wispServerVal = document.getElementById('wispurl') as HTMLSelectElement;
|
||||
const transportButton = document.getElementById('settransport') as HTMLButtonElement;
|
||||
const transportVal = document.getElementById('transport') as HTMLSelectElement;
|
||||
setup(proxySelectVal, openInVal, searchEngineVal, wispServerVal, transportVal);
|
||||
const proxyButton = document.getElementById(
|
||||
"setproxy"
|
||||
) as HTMLButtonElement;
|
||||
const proxySelectVal = document.getElementById(
|
||||
"proxy"
|
||||
) as HTMLSelectElement;
|
||||
const openInButton = document.getElementById(
|
||||
"setopenin"
|
||||
) as HTMLButtonElement;
|
||||
const openInVal = document.getElementById("openin") as HTMLSelectElement;
|
||||
const searchEngineButton = document.getElementById(
|
||||
"setsearchengine"
|
||||
) as HTMLButtonElement;
|
||||
const searchEngineVal = document.getElementById(
|
||||
"searchengine"
|
||||
) as HTMLSelectElement;
|
||||
const wispServerButton = document.getElementById(
|
||||
"setwispurl"
|
||||
) as HTMLButtonElement;
|
||||
const wispServerVal = document.getElementById(
|
||||
"wispurl"
|
||||
) as HTMLSelectElement;
|
||||
const transportButton = document.getElementById(
|
||||
"settransport"
|
||||
) as HTMLButtonElement;
|
||||
const transportVal = document.getElementById(
|
||||
"transport"
|
||||
) as HTMLSelectElement;
|
||||
setup(
|
||||
proxySelectVal,
|
||||
openInVal,
|
||||
searchEngineVal,
|
||||
wispServerVal,
|
||||
transportVal
|
||||
);
|
||||
proxyButton.addEventListener("click", () => {
|
||||
settings.proxySettings.changeProxy(proxySelectVal.value);
|
||||
toast('.proxyMessage');
|
||||
toast(".proxyMessage");
|
||||
});
|
||||
openInButton.addEventListener("click", () => {
|
||||
settings.proxySettings.openIn(openInVal.value)
|
||||
toast('.openInMessage');
|
||||
settings.proxySettings.openIn(openInVal.value);
|
||||
toast(".openInMessage");
|
||||
});
|
||||
searchEngineButton.addEventListener('click', () => {
|
||||
searchEngineButton.addEventListener("click", () => {
|
||||
settings.proxySettings.setSearchEngine(searchEngineVal.value);
|
||||
toast('.searchEngineMessage');
|
||||
toast(".searchEngineMessage");
|
||||
});
|
||||
wispServerButton.addEventListener('click', () => {
|
||||
wispServerButton.addEventListener("click", () => {
|
||||
settings.proxySettings.setWispURL(wispServerVal.value);
|
||||
toast('.wispUrlMessage');
|
||||
toast(".wispUrlMessage");
|
||||
});
|
||||
transportButton.addEventListener('click', () => {
|
||||
transportButton.addEventListener("click", () => {
|
||||
settings.proxySettings.setTransport(transportVal.value);
|
||||
toast('.transportMessage');
|
||||
toast(".transportMessage");
|
||||
});
|
||||
});
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue