Изменить правило брандмауэра, чтобы разрешить входящее соединение для определенного порта в электронном приложении - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь создать локальный сервер, доступный через локальную сеть, в моем электронном приложении.Я хочу разрешить входящий доступ к определенному порту.

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 и запустить точку доступа ??

...