1.1.0 • Published 11 months ago

@immjs/nat-api v1.1.0

Weekly downloads
-
License
Hippocratic-2.1
Repository
github
Last release
11 months ago

nat-api

Fast port mapping with UPnP and NAT-PMP in NodeJS.

This is a fork version of nat-api.

The major differences are:

  • Use typescript, so has type definition.
  • Split PMP and upnp API, so you can use them individually.
  • Support ESM.
  • Optimize the dependencies. (only 2 up-to-dated deps)

Install

Required: NodeJS >= 10

npm install @xmcl/nat-api

Usage

const { createUpnpClient } = require('nat-api');

const client = await createUpnpClient();

// map 25565 to 25565 for 1 min:
await client.map({
  description: 'Mapped by @xmcl/nat-api',
  protocol: 'tcp',
  public: 25565,
  private: 25565,
  ttl: 60 * 1000,
});

// Unmap port public and private port 25565 with TCP by default
await client.unmap({ port: 25565 });

// Get external IP
const mappings = await client.getMappings();

// see existed mappings
console.log(mappings);

// Destroy client
client.destroy();

API

See type definition in typescript.

Additional Information

License

MIT. Copyright (c) Alex

1.1.0

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago