make exit node name backwards compatible

This commit is contained in:
miloschwartz 2025-06-15 18:02:31 -04:00
parent b39708700d
commit 7bbb687047
No known key found for this signature in database
3 changed files with 21 additions and 11 deletions

View file

@ -161,7 +161,7 @@ export const configSchema = z
.default({}), .default({}),
gerbil: z gerbil: z
.object({ .object({
exit_node_name: z.string().optional().default("default"), exit_node_name: z.string().optional(),
start_port: portSchema start_port: portSchema
.optional() .optional()
.default(51820) .default(51820)

View file

@ -68,6 +68,10 @@ export async function getConfig(
subEndpoint = await getUniqueExitNodeEndpointName(); subEndpoint = await getUniqueExitNodeEndpointName();
} }
const exitNodeName =
config.getRawConfig().gerbil.exit_node_name ||
`Exit Node ${publicKey.slice(0, 8)}`;
// create a new exit node // create a new exit node
exitNode = await db exitNode = await db
.insert(exitNodes) .insert(exitNodes)
@ -77,7 +81,7 @@ export async function getConfig(
address, address,
listenPort, listenPort,
reachableAt, reachableAt,
name: config.getRawConfig().gerbil.exit_node_name // defaults to "default" name: exitNodeName
}) })
.returning() .returning()
.execute(); .execute();

View file

@ -106,13 +106,19 @@ export async function copyInConfig() {
}); });
const exitNodeName = config.getRawConfig().gerbil.exit_node_name; const exitNodeName = config.getRawConfig().gerbil.exit_node_name;
if (exitNodeName) {
await db
.update(exitNodes)
.set({ endpoint, listenPort })
.where(eq(exitNodes.name, exitNodeName));
} else {
await db await db
.update(exitNodes) .update(exitNodes)
.set({ endpoint }) .set({ endpoint })
.where(eq(exitNodes.name, exitNodeName)); .where(ne(exitNodes.endpoint, endpoint));
await db await db
.update(exitNodes) .update(exitNodes)
.set({ listenPort }) .set({ listenPort })
.where(eq(exitNodes.name, exitNodeName)); .where(ne(exitNodes.listenPort, listenPort));
}
} }