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

View File

@@ -154,7 +154,8 @@ export const configSchema = z
.string() .string()
.optional() .optional()
.default("./dynamic/router_config.yml"), .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() .optional()
.default({}), .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] = { traefikConfig.http.middlewares[badgerMiddlewareName] = {
plugin: { plugin: {

View File

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