Files
g3n/bin/src/port.ts
bipproduction a8a700f09a tambahannya
2025-09-24 12:23:17 +08:00

31 lines
701 B
TypeScript

#!/usr/bin/env bun
import net from "net";
interface CheckPortResult {
port: number;
open: boolean;
}
export default function checkPort(port: number, host: string): Promise<CheckPortResult> {
return new Promise((resolve) => {
const socket = new net.Socket();
socket.setTimeout(200);
socket.once("connect", () => {
socket.destroy();
resolve({ port, open: true });
});
socket.once("timeout", () => {
socket.destroy();
resolve({ port, open: false });
});
socket.once("error", () => {
socket.destroy();
resolve({ port, open: false });
});
socket.connect(port, host);
});
}