0.1.0 • Published 9 months ago

next-tunnel v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

NextTunnel

next-tunnel is a CLI tool designed to streamline the process of exposing your local Next.js app to the internet using a secure tunnel. Perfect for local development, testing, or sharing your app with collaborators without deploying to a server.

Features

  • Exposes your local Next.js app to a secure tunnel.

  • Customizable subdomain for easy access.

  • Simple CLI for starting and stopping the tunnel.

  • Seamless integration with existing package.json scripts.

Installation

You can install next-tunnel globally using npm:

npm install -g next-tunnel

Alternatively, install it as a development dependency:

npm install next-tunnel --save-dev

Usage

1. Starting the Tunnel and Next.js App

To start your local Next.js app and expose it via a tunnel, use the dev command. You can specify a custom port and subdomain if needed:

next-tunnel dev [options]

Options:

  • -p, --port <port>: Specify the port number for the Next.js app (default: 3000).

  • -s, --subdomain <subdomain>: Specify a custom subdomain for the tunnel.

  • --secure: Start the tunnel in secure mode 🔒.

  • --lan: Start the tunnel using Local Area Network Connection(i.e your internet router connected devices.) 🔌.

Example:

next-tunnel dev -p 4000 -s my-custom-subdomain

Secure Tunnel:

This will create a secure authenticated tunnel for your local Next.js app. You'll need to provide a password to access the tunnel which is shared along with url.

next-tunnel dev --secure

LAN Tunnel:

This will create a tunnel using your machines LocalIP and only accessible from your local network.

next-tunnel dev --lan   

2. Stopping the Tunnel

To stop the local tunnel, use the stop command:

next-tunnel stop

3. Initializing NextTunnel in Your Project

You can modify your package.json to include next-tunnel as part of your development process. The init command will update your package.json by changing the dev script to run next-tunnel dev.

next-tunnel init

Example package.json after running init:

{
  "scripts": {
    "dev": "next-tunnel dev"
  }
}

Versioning

This package follows semantic versioning . The version is managed using Changesets.

View Version

You can check the current version of next-tunnel using either -v or --version:

next-tunnel -v

Contributing

Contributions are welcome! Please submit a pull request or open an issue if you have suggestions or find bugs.

License

This project is licensed under the MIT License. See the MIT LICENSE file for details.