mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-05 18:26:40 +00:00
Move exit node function
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { db, exitNodes } from "@server/db";
|
import { db, exitNodes } from "@server/db";
|
||||||
import logger from "@server/logger";
|
import logger from "@server/logger";
|
||||||
|
import { ExitNodePingResult } from "@server/routers/newt";
|
||||||
import { eq, and, or } from "drizzle-orm";
|
import { eq, and, or } from "drizzle-orm";
|
||||||
|
|
||||||
export async function verifyExitNodeOrgAccess(
|
export async function verifyExitNodeOrgAccess(
|
||||||
@@ -41,3 +42,14 @@ export async function listExitNodes(orgId: string, filterOnline = false) {
|
|||||||
|
|
||||||
return allExitNodes;
|
return allExitNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function selectBestExitNode(
|
||||||
|
pingResults: ExitNodePingResult[]
|
||||||
|
): ExitNodePingResult | null {
|
||||||
|
if (!pingResults || pingResults.length === 0) {
|
||||||
|
logger.warn("No ping results provided");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pingResults[0];
|
||||||
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
findNextAvailableCidr,
|
findNextAvailableCidr,
|
||||||
getNextAvailableClientSubnet
|
getNextAvailableClientSubnet
|
||||||
} from "@server/lib/ip";
|
} from "@server/lib/ip";
|
||||||
import { verifyExitNodeOrgAccess } from "@server/lib/exitNodes";
|
import { selectBestExitNode, verifyExitNodeOrgAccess } from "@server/lib/exitNodes";
|
||||||
|
|
||||||
export type ExitNodePingResult = {
|
export type ExitNodePingResult = {
|
||||||
exitNodeId: number;
|
exitNodeId: number;
|
||||||
@@ -266,14 +266,3 @@ export const handleNewtRegisterMessage: MessageHandler = async (context) => {
|
|||||||
excludeSender: false // Include sender in broadcast
|
excludeSender: false // Include sender in broadcast
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
function selectBestExitNode(
|
|
||||||
pingResults: ExitNodePingResult[]
|
|
||||||
): ExitNodePingResult | null {
|
|
||||||
if (!pingResults || pingResults.length === 0) {
|
|
||||||
logger.warn("No ping results provided");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return pingResults[0];
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user