Convert to exitNodeComm function

This commit is contained in:
Owen
2025-09-02 16:11:08 -07:00
parent 1f1c20d637
commit 35d070ad29
2 changed files with 7 additions and 22 deletions

View File

@@ -3,7 +3,7 @@ import logger from "@server/logger";
import { ExitNode } from "@server/db"; import { ExitNode } from "@server/db";
interface ExitNodeRequest { interface ExitNodeRequest {
remoteType: string; remoteType?: string;
localPath: string; localPath: string;
method?: "POST" | "DELETE" | "GET" | "PUT"; method?: "POST" | "DELETE" | "GET" | "PUT";
data?: any; data?: any;

View File

@@ -15,6 +15,7 @@ import {
getValidCertificatesForDomains, getValidCertificatesForDomains,
getValidCertificatesForDomainsHybrid getValidCertificatesForDomainsHybrid
} from "./remoteCertificates"; } from "./remoteCertificates";
import { sendToExitNode } from "./exitNodeComms";
export class TraefikConfigManager { export class TraefikConfigManager {
private intervalId: NodeJS.Timeout | null = null; private intervalId: NodeJS.Timeout | null = null;
@@ -403,27 +404,11 @@ export class TraefikConfigManager {
[exitNode] = await db.select().from(exitNodes).limit(1); [exitNode] = await db.select().from(exitNodes).limit(1);
} }
if (exitNode) { if (exitNode) {
try { await sendToExitNode(exitNode, {
await axios.post( localPath: "/update-local-snis",
`${exitNode.reachableAt}/update-local-snis`, method: "POST",
{ fullDomains: Array.from(domains) }, data: { fullDomains: Array.from(domains) }
{ headers: { "Content-Type": "application/json" } }
);
} catch (error) {
// pull data out of the axios error to log
if (axios.isAxiosError(error)) {
logger.error("Error updating local SNI:", {
message: error.message,
code: error.code,
status: error.response?.status,
statusText: error.response?.statusText,
url: error.config?.url,
method: error.config?.method
}); });
} else {
logger.error("Error updating local SNI:", error);
}
}
} else { } else {
logger.error( logger.error(
"No exit node found. Has gerbil registered yet?" "No exit node found. Has gerbil registered yet?"