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.
-
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.
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
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]
-
-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
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
This will create a tunnel using your machines LocalIP and only accessible from your local network.
next-tunnel dev --lan
To stop the local tunnel, use the stop
command:
next-tunnel stop
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"
}
}
This package follows semantic versioning . The version is managed using Changesets.
You can check the current version of next-tunnel
using either -v
or --version
:
next-tunnel -v
Contributions are welcome! Please submit a pull request or open an issue if you have suggestions or find bugs.
This project is licensed under the MIT License. See the MIT LICENSE file for details.