Control which types of sites work and tell user

This commit is contained in:
Owen
2025-08-17 18:01:36 -07:00
parent 3b8d1f40a7
commit af2088df4e
4 changed files with 8 additions and 4 deletions

View File

@@ -94,7 +94,9 @@
"siteNewtTunnelDescription": "Easiest way to create an entrypoint into your network. No extra setup.",
"siteWg": "Basic WireGuard",
"siteWgDescription": "Use any WireGuard client to establish a tunnel. Manual NAT setup required.",
"siteWgDescriptionSaas": "Use any WireGuard client to establish a tunnel. Manual NAT setup required. ONLY WORKS ON SELF HOSTED NODES",
"siteLocalDescription": "Local resources only. No tunneling.",
"siteLocalDescriptionSaas": "Local resources only. No tunneling. ONLY WORKS ON SELF HOSTED NODES",
"siteSeeAll": "See All Sites",
"siteTunnelDescription": "Determine how you want to connect to your site",
"siteNewtCredentials": "Newt Credentials",

View File

@@ -154,7 +154,8 @@ export const configSchema = z
.string()
.optional()
.default("./dynamic/router_config.yml"),
staticDomains: z.array(z.string()).optional().default([])
static_domains: z.array(z.string()).optional().default([]),
site_types: z.array(z.string()).optional().default(["newt", "wireguard", "local"])
})
.optional()
.default({}),

View File

@@ -45,7 +45,7 @@ export async function traefikConfigProvider(
}
}
let traefikConfig = await getTraefikConfig(currentExitNodeId, ["newt", "local", "wireguard"]);
let traefikConfig = await getTraefikConfig(currentExitNodeId, config.getRawConfig().traefik.site_types);
traefikConfig.http.middlewares[badgerMiddlewareName] = {
plugin: {

View File

@@ -59,6 +59,7 @@ import { useParams, useRouter } from "next/navigation";
import { QRCodeCanvas } from "qrcode.react";
import { useTranslations } from "next-intl";
import { build } from "@server/build";
type SiteType = "newt" | "wireguard" | "local";
@@ -142,7 +143,7 @@ export default function Page() {
{
id: "wireguard" as SiteType,
title: t("siteWg"),
description: t("siteWgDescription"),
description: build == "saas" ? t("siteWgDescriptionSaas") : t("siteWgDescription"),
disabled: true
}
]),
@@ -152,7 +153,7 @@ export default function Page() {
{
id: "local" as SiteType,
title: t("local"),
description: t("siteLocalDescription")
description: build == "saas" ? t("siteLocalDescriptionSaas") : t("siteLocalDescription")
}
])
]);