Content-Length: 298610 | pFad | http://github.com/Sirherobrine23/Wireguard-tools.js

99 GitHub - Sirherobrine23/Wireguard-tools.js: Maneger Wireguard interface directly from node (and create you APIs)
Skip to content

Maneger Wireguard interface directly from node (and create you APIs)

License

Notifications You must be signed in to change notification settings

Sirherobrine23/Wireguard-tools.js

Repository files navigation

Wireguard-tools for Nodejs

Manage your Wireguard interfaces directly from Node.js without any wrappers over wg or wg-quick

Warning

Require cmake and tools (GCC/GCC++, clang or Visual Studio) to build this addon

New versions does't include prebuilt binaries

import { setConfig, getConfig, key, Config } from "../index.js"

const tunName = process.platform === "darwin" ? "utun10" : "wg3" // Tunnel name, in MacOS/Darwin require start with utun prefix
let currentConfig: Config
try {
  currentConfig = await getConfig(tunName) // Check if exists tun
} catch {
  // Create new wireguard tun
  currentConfig = {
    name: tunName,
    privateKey: await key.privateKey(),
    portListen: 5820,
    address: [
      "10.66.66.1/24"
    ],
    peers: {}
  }
}

// Add new Peer
const peerPrivate = await key.privateKey()
currentConfig.peers[key.publicKey(peerPrivate)] = {
  presharedKey: await key.presharedKey(),
  allowedIPs: [
    "10.66.66.2/24"
  ]
}

// Deploy new Config
await setConfig(currentConfig)

Licences

  • Wireguard-tools.js: GPL-3.0

Wireguard

  • Embeddable-wg-library: LGPL-2.1+.
  • Wireguard-nt: GPL-2.0
  • Wireguard-go: MIT








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/Sirherobrine23/Wireguard-tools.js

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy