mildsunrise / node_netlink

⚒ Use Netlink from Node.js
MIT License
22 stars 2 forks source link

wireguard: examples #24

Open MorningLightMountain713 opened 4 months ago

MorningLightMountain713 commented 4 months ago

Hi there, trying to get / set wireguard interfaces.

I am unable to get an existing interface. I'm running the command as root, but still get ENOTSUP

Do you have any examples for getting and setting a wireguard interface?

import { createWireGuard } from 'netlink'
const socket = await createWireGuard();

const dev = await socket.getDevice('wgA');
console.log(dev);

Result:

davew@chud:~/netlink$ sudo /home/davew/.nvm/versions/node/v20.9.0/bin/node getDev.js
/home/davew/netlink/node_modules/netlink/dist/netlink.js:323
    throw Error(`Request rejected: ${code}`);
          ^

Error: Request rejected: ENOTSUP
    at checkError (/home/davew/netlink/node_modules/netlink/dist/netlink.js:323:11)
    at /home/davew/netlink/node_modules/netlink/dist/netlink.js:201:42
    at async GenericNetlinkSocket.request (/home/davew/netlink/node_modules/netlink/dist/genl/genl.js:54:30)
    at async WireGuardSocket.request (/home/davew/netlink/node_modules/netlink/dist/wg/wg.js:51:27)
    at async file:///home/davew/netlink/getDev.js:4:13

Node.js v20.9.0

Here is the interface:

davew@chud:~/netlink$ sudo wg show
interface: wgA
  public key: C3S/OCqOe6RmXRrPgL12JUCmpEJ2vYyqx2SKnQUu0F0=
  private key: (hidden)
  listening port: 51000

peer: v4PLcjB38t0DffemaRMa4/M+vewv91VuL1YRcBr4KxA=
  endpoint: x.x.x.x:51000
  allowed ips: 172.23.45.0/24, 10.10.9.1/32
  latest handshake: 18 hours, 10 minutes, 24 seconds ago
  transfer: 2.45 KiB received, 2.44 KiB sent
davew@chud:~/netlink$

Thanks

Sirherobrine23 commented 4 months ago

Hello @MorningLightMountain713, Wireguard implement not is completely in netlink, have request support, i make Wireguard manager to node: https://github.com/Sirherobrine23/Wireguard-tools.js / https://sirherobrine23.org/Wireguard/wireguard-tools.js

In GitHub repository is mirror from my git server, any problem is on my git server.

MorningLightMountain713 commented 4 months ago

Thanks @Sirherobrine23 I'll check it out!