diff --git a/server/routers/client/pickClientDefaults.ts b/server/routers/client/pickClientDefaults.ts index d77ae3bb..b51004f3 100644 --- a/server/routers/client/pickClientDefaults.ts +++ b/server/routers/client/pickClientDefaults.ts @@ -97,7 +97,7 @@ export async function pickClientDefaults( let subnets = clientsQuery.map((client) => client.subnet); - // exclude the exit node address by replacing after the / with a site block size + // exclude the newt address by replacing after the / with a site block size subnets.push( address.replace( /\/\d+$/, diff --git a/server/routers/gerbil/updateHolePunch.ts b/server/routers/gerbil/updateHolePunch.ts index 26608345..e2ba01c6 100644 --- a/server/routers/gerbil/updateHolePunch.ts +++ b/server/routers/gerbil/updateHolePunch.ts @@ -133,7 +133,7 @@ export async function updateHolePunch( return res.status(HttpCode.OK).send({ destinationIp: site.subnet.split("/")[0], - destinationPort: parseInt(site.endpoint.split(":")[1]) + destinationPort: site.listenPort }); } catch (error) { logger.error(error); diff --git a/server/routers/newt/handleGetConfigMessage.ts b/server/routers/newt/handleGetConfigMessage.ts index 62934d2f..3c1d7bd6 100644 --- a/server/routers/newt/handleGetConfigMessage.ts +++ b/server/routers/newt/handleGetConfigMessage.ts @@ -10,6 +10,7 @@ import config from "@server/lib/config"; const inputSchema = z.object({ publicKey: z.string(), + port: z.number().int().positive(), }); type Input = z.infer; @@ -41,7 +42,7 @@ export const handleGetConfigMessage: MessageHandler = async (context) => { return; } - const { publicKey } = message.data as Input; + const { publicKey, port } = message.data as Input; const siteId = newt.siteId; @@ -58,7 +59,6 @@ export const handleGetConfigMessage: MessageHandler = async (context) => { let site: Site | undefined; if (!siteRes.address) { const address = await getNextAvailableSubnet(); - const listenPort = await getNextAvailablePort(); // create a new exit node const [updateRes] = await db @@ -66,7 +66,7 @@ export const handleGetConfigMessage: MessageHandler = async (context) => { .set({ publicKey, address, - listenPort + listenPort: port, }) .where(eq(sites.siteId, siteId)) .returning(); @@ -79,7 +79,8 @@ export const handleGetConfigMessage: MessageHandler = async (context) => { const [siteRes] = await db .update(sites) .set({ - publicKey + publicKey, + listenPort: port, }) .where(eq(sites.siteId, siteId)) .returning(); @@ -116,7 +117,6 @@ export const handleGetConfigMessage: MessageHandler = async (context) => { ); const configResponse = { - listenPort: site.listenPort, ipAddress: site.address, peers }; diff --git a/server/routers/olm/handleOlmRelayMessage.ts b/server/routers/olm/handleOlmRelayMessage.ts index 9cf0ceb2..ef42e05a 100644 --- a/server/routers/olm/handleOlmRelayMessage.ts +++ b/server/routers/olm/handleOlmRelayMessage.ts @@ -67,13 +67,8 @@ export const handleOlmRelayMessage: MessageHandler = async (context) => { return { message: { - type: "olm/wg/connect", - data: { - endpoint: site.endpoint, - publicKey: site.publicKey, - serverIP: site.address!.split("/")[0], - tunnelIP: client.subnet - } + type: "olm/wg/relay-success", + data: {} }, broadcast: false, // Send to all olms excludeSender: false // Include sender in broadcast diff --git a/src/app/[orgId]/settings/sites/create/page.tsx b/src/app/[orgId]/settings/sites/create/page.tsx index a8002705..acafd5bb 100644 --- a/src/app/[orgId]/settings/sites/create/page.tsx +++ b/src/app/[orgId]/settings/sites/create/page.tsx @@ -324,7 +324,7 @@ PersistentKeepalive = 5`; let payload: CreateSiteBody = { name: data.name, - type: data.method + type: data.method as any, }; if (data.method == "wireguard") {