https://github.com/fiam/nport
nport is an experimental tunnelling solution for exposing your local servers to the Internet
https://github.com/fiam/nport
Last synced: 8 months ago
JSON representation
nport is an experimental tunnelling solution for exposing your local servers to the Internet
- Host: GitHub
- URL: https://github.com/fiam/nport
- Owner: fiam
- License: agpl-3.0
- Created: 2023-05-28T20:24:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-26T21:18:38.000Z (over 2 years ago)
- Last Synced: 2025-03-01T01:43:48.862Z (over 1 year ago)
- Language: Rust
- Size: 351 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nport
nport is a tool for exposing your local ports or servers on the Internet.
## Quick Start
To install `np`, use one of the static binaries provided in the releases. By default, `np` uses
the API at `api.nport.io` to expose your ports. Use `np -h` to see the available options.
```
Usage: np [OPTIONS] [COMMAND]
Commands:
http
tcp
version
help Print this message or the help of the given subcommand(s)
Options:
-H, --hostname
-R, --remote-port
-N, --no-config-file
-h, --help Print help
```
## Config file
`np` looks for a file named `nport.{yaml,json,ini}` in the current directory, with the following format:
```yaml
tunnels:
- type: http
# This assigns my-hostname.nport.io to your HTTP tunnel. If empty, a random hostname is generated
hostname: my-hostname
local_addr: 8089 # Just a port number indicates 127.0.0.1:, ip:port syntax is also supported
- type: tcp
remote_addr: tcp.nport.io:9999 # Leave the host empty to assign the default one
local_addr: 192.168.1.7:3000
server:
hostname: api.nport.io # API server host, defaults to api.nport.io
secure: true # Use TLS when talking to the server, defaults to true
```
## Running your own server
See [nport-server/deploy](nport-server/deploy) for an example deployment setup to run your own server.
## Reporting bugs
When opening an issue, make sure you attach a log running `np` with TRACE logging enabled.
Use `RUST_LOG='np=trace' np ...` to do so.