Я пытаюсь создать локальный сервер, доступный через локальную сеть, в моем электронном приложении.Я хочу разрешить входящий доступ к определенному порту.
import server from "./server";
import os from "os";
//TODO determine the local network ip i.e LAN IP
let networkIP = '';
const networkInterfaces = os.networkInterfaces();
//console.log(networkInterfaces);
if (networkInterfaces.hasOwnProperty("lo")) {
delete networkInterfaces.lo;
}
let noConnectedNetwork = true;
let networkAddresses = [];
Object.keys(networkInterfaces).forEach((key) => {
let networkInterface = networkInterfaces[key];
for (let i = 0; i < networkInterface.length; i++) {
let nInterface = networkInterface[i];
if (!nInterface.internal && nInterface.family === "IPv4") {
networkAddresses.push(nInterface.address);
noConnectedNetwork = false;
}
}
});
if (networkAddresses.length > 0) {
networkIP = networkAddresses[0];
} else {
//Start a Wi-Fi hotspot if Wi-Fi hardware is available and get the assigned local IP.
}
//Here I want to enable access to port 6795 for the IPs stored in the networkIP
const eServer = {
start: () => {
server.start(networkIP);
}
};
Я хочу, чтобы правило брандмауэра было кроссплатформенным, т. Е. Работает на linux (ufw / iptables), mac и windows.
Кроме того, как я могу проверить оборудование Wi-Fi и запустить точку доступа ??