MCPcopy Index your code
hub / github.com/Marak/natman

github.com/Marak/natman @v0.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.2 ↗ · + Follow
1 symbols 2 edges 1 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

natman

natman forwards external public ports to internal ports without router access.

It's a Network Address Translation Management tool built on node.js

Installation

 npm install natman -g

Usage

 natman open <internal private port> <requested public port>

Open internal port 8000 to the world

 natman open 8000

Note: If no requested public port is specified, public port will be auto-assigned

Open internal port 8000 to the world on port 9000

natman open 8000 9000

Note: If the requested public port is not available, one will be auto-assigned

Built in services

For convenience, Natman comes with a configurable list of built in services. You can customize this list by modifying the natman.json file.

Simple type: natman open <service> <requested public port>.

 natman open ssh
 natman open http
 natman open https
 natman open ftp

Specify Network Gateway

Natman attempts to guess which network to use. If it guesses wrong, use the -g flag to specify a gateway.

Example:

 natman open ssh -g 192.168.10.1

Thanks

To TooTallNate for making the node nat-pmp module and to Flatiron for making this easy to build.

TODO

  • Add ability to run multiple instances of CLI tool at once
  • Add better support for determining the local network interface gateway
  • Improve CLI Experience

*nananananananana Natman!

Core symbols most depended-on inside this repo

onConnect
called by 2
lib/natman.js

Shape

Function 1

Languages

TypeScript100%

Modules by API surface

lib/natman.js1 symbols

For agents

$ claude mcp add natman \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact