UNPKG

wireguard-tools

Version:

The best way to interact with WireGuard from Node

29 lines (28 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPeerPairs = void 0; /** * Create peer pairs from more than one WgConfig object. * * Will add wgConfigs[0] as a peer in wgConfigs[1] and wgConfigs[1] as a peer in wgConfigs[0] etc. * Will fail and error if */ var createPeerPairs = function (pairs) { for (var i = 0; i < pairs.length; i++) { var thisConfig = pairs[i]; for (var subI = 0; subI < pairs.length; subI++) { var peerConfig = pairs[subI]; if (thisConfig.config.publicKey === peerConfig.config.publicKey) continue; var peerSettings = typeof peerConfig.peerSettings === 'function' ? peerConfig.peerSettings({ thisConfig: thisConfig.config, peerConfig: peerConfig.config }) : peerConfig.peerSettings; var thisConfigPreSharedKey = thisConfig.config.preSharedKey; if (thisConfigPreSharedKey) peerSettings.preSharedKey = thisConfigPreSharedKey; var peer = peerConfig.config.createPeer(peerSettings); thisConfig.config.addPeer(peer, { mergeAllowedIps: false }); } } }; exports.createPeerPairs = createPeerPairs;