1import net from 'net'3export const tcpProbePort = async (host: string, port: number, timeoutMs = 2000): Promise<boolean> => {4 return new Promise<boolean>((resolve) => {5 const socket = new net.Socket()6 socket.setTimeout(timeoutMs)7 socket.on('connect', () => { socket.destroy(); resolve(true) })8 socket.on('timeout', () => { socket.destroy(); resolve(false) })9 socket.on('error', () => { socket.destroy(); resolve(false) })10 socket.connect(port, host)11 })12}