Merge branch 'main' into dev

This commit is contained in:
Owen
2025-12-23 16:57:01 -05:00
6 changed files with 27 additions and 23 deletions

View File

@@ -41,9 +41,10 @@ type TargetWithSite = Target & {
export async function getTraefikConfig( export async function getTraefikConfig(
exitNodeId: number, exitNodeId: number,
siteTypes: string[], siteTypes: string[],
filterOutNamespaceDomains = false, filterOutNamespaceDomains = false, // UNUSED BUT USED IN PRIVATE
generateLoginPageRouters = false, generateLoginPageRouters = false, // UNUSED BUT USED IN PRIVATE
allowRawResources = true allowRawResources = true,
allowMaintenancePage = true, // UNUSED BUT USED IN PRIVATE
): Promise<any> { ): Promise<any> {
// Get resources with their targets and sites in a single optimized query // Get resources with their targets and sites in a single optimized query
// Start from sites on this exit node, then join to targets and resources // Start from sites on this exit node, then join to targets and resources

View File

@@ -358,18 +358,6 @@ export async function getTraefikConfig(
} }
} }
if (resource.ssl) {
config_output.http.routers![routerName + "-redirect"] = {
entryPoints: [
config.getRawConfig().traefik.http_entrypoint
],
middlewares: [redirectHttpsMiddlewareName],
service: serviceName,
rule: rule,
priority: priority
};
}
let tls = {}; let tls = {};
if (!privateConfig.getRawPrivateConfig().flags.use_pangolin_dns) { if (!privateConfig.getRawPrivateConfig().flags.use_pangolin_dns) {
const domainParts = fullDomain.split("."); const domainParts = fullDomain.split(".");
@@ -435,6 +423,18 @@ export async function getTraefikConfig(
} }
} }
if (resource.ssl) {
config_output.http.routers![routerName + "-redirect"] = {
entryPoints: [
config.getRawConfig().traefik.http_entrypoint
],
middlewares: [redirectHttpsMiddlewareName],
service: serviceName,
rule: rule,
priority: priority
};
}
const availableServers = targets.filter((target) => { const availableServers = targets.filter((target) => {
if (!target.enabled) return false; if (!target.enabled) return false;
@@ -464,7 +464,7 @@ export async function getTraefikConfig(
} }
} }
if (showMaintenancePage) { if (showMaintenancePage && allowMaintenancePage) {
const maintenanceServiceName = `${key}-maintenance-service`; const maintenanceServiceName = `${key}-maintenance-service`;
const maintenanceRouterName = `${key}-maintenance-router`; const maintenanceRouterName = `${key}-maintenance-router`;
const rewriteMiddlewareName = `${key}-maintenance-rewrite`; const rewriteMiddlewareName = `${key}-maintenance-rewrite`;

View File

@@ -247,7 +247,8 @@ hybridRouter.get(
["newt", "local", "wireguard"], // Allow them to use all the site types ["newt", "local", "wireguard"], // Allow them to use all the site types
true, // But don't allow domain namespace resources true, // But don't allow domain namespace resources
false, // Dont include login pages, false, // Dont include login pages,
true // allow raw resources true, // allow raw resources
false // dont generate maintenance page
); );
return response(res, { return response(res, {

View File

@@ -60,11 +60,11 @@ export default async function migration() {
); );
await db.execute( await db.execute(
sql`ALTER TABLE "siteResources" ADD COLUMN "tcpPortRangeString" varchar;` sql`ALTER TABLE "siteResources" ADD COLUMN "tcpPortRangeString" varchar NOT NULL DEFAULT '*';`
); );
await db.execute( await db.execute(
sql`ALTER TABLE "siteResources" ADD COLUMN "udpPortRangeString" varchar;` sql`ALTER TABLE "siteResources" ADD COLUMN "udpPortRangeString" varchar NOT NULL DEFAULT '*';`
); );
await db.execute( await db.execute(

View File

@@ -73,16 +73,18 @@ export default async function migration() {
).run(); ).run();
db.prepare( db.prepare(
`ALTER TABLE 'siteResources' ADD 'tcpPortRangeString' text;` `ALTER TABLE 'siteResources' ADD 'tcpPortRangeString' text DEFAULT '*' NOT NULL;`
).run(); ).run();
db.prepare( db.prepare(
`ALTER TABLE 'siteResources' ADD 'udpPortRangeString' text;` `ALTER TABLE 'siteResources' ADD 'udpPortRangeString' text DEFAULT '*' NOT NULL;`
).run(); ).run();
db.prepare( db.prepare(
`ALTER TABLE 'siteResources' ADD 'disableIcmp' integer;` `ALTER TABLE 'siteResources' ADD 'disableIcmp' integer NOT NULL DEFAULT false;`
).run(); ).run();
})(); })();
db.pragma("foreign_keys = ON"); db.pragma("foreign_keys = ON");

View File

@@ -189,7 +189,7 @@ function MaintenanceSectionForm({
name="maintenanceModeEnabled" name="maintenanceModeEnabled"
render={({ field }) => { render={({ field }) => {
const isDisabled = const isDisabled =
isSecurityFeatureDisabled(); isSecurityFeatureDisabled() || resource.http === false;
return ( return (
<FormItem> <FormItem>