Quick start
Open your first verified tunnel
Connect a local HTTP app, open its public HTTPS address with the access you choose, and check that the first request arrived.
- Applies to
- Windows, macOS and Linux with Node.js 20 or later; connector 0.2.0 or later; any plan
- Time
- About 10 minutes
- What it changes
- Opens a public web address to your local app until you stop the connector or pause the tunnel.
- Last reviewed
- , by Product documentation
Before you begin
- An app that listens on a local port, for example 3000, and answers at http://localhost:3000.
- Node.js 20 or later, for the npx command. You can download the connector instead; see Install the connector.
What to know before you start
- The tunnel's public address answers anyone on the internet unless you protect it. Choose who may visit when you create the tunnel.
- While the connector runs, requests to the address reach your app. Stop it when you finish.
Steps
Step 1. Start your app and open it on your own computer.
Use the address your app prints when it starts. In this guide it is http://localhost:3000.
You should see: You see your app in your browser at http://localhost:3000.
To check: If the page does not load, fix that first: the tunnel can only forward what your app already serves.
Step 2. Create a free account.
Open the sign-up page and continue with GitHub, Google, an email address or a passkey. The Free plan needs no payment details.
GitHub and Google are used only to confirm who you are. InstaWormhole does not ask for access to your repositories or code.
You should see: You land in the dashboard.
Step 3. Create a tunnel.
In the dashboard open Tunnels, choose Create tunnel, give it a name and pick Expires: Never, In 1 hour, In 1 day, In 7 days or In 30 days.
Under Who can open it, choose Anyone with the address, or Only people with a password if your plan includes password protection (Starter and up).
You should see: The tunnel appears in the list with the message that you can connect an app below to make it live.
To check: The tunnel shows its public address, which ends in .instawormhole.site.
Step 4. Sign this computer in once.
Terminal npx @instawormhole/connector loginThe connector prints a short code and a web address. Open the address, check that the request is from your computer, and approve it.
You should see: The terminal prints: Signed in. This computer is now authorized.
To check: Run npx @instawormhole/connector status. It reports that this computer is signed in.
Step 5. Copy the connect command from the tunnel and run it.
On your tunnel in the dashboard, open Connect an app and choose Copy command. Change 3000 to your app's port if it is different.
Terminal npx @instawormhole/connector run --relay wss://relay.instawormhole.site --origin 127.0.0.1:3000 --stored-device --tunnel <tunnel id>The dashboard fills in your tunnel id. Keep the window open while you want the tunnel live.
You should see: The tunnel's badge in the dashboard changes to Live within a few seconds.
Step 6. Open the public address from another network.
Use your phone with Wi-Fi turned off, or any device that is not on your computer's network. Open the tunnel's address.
If you chose a password, the browser asks for one. Enter anything as the user name and the tunnel's password.
You should see: You see your app at the public address.
To check: Reload the page. Your app's output should change if the app changes.
Step 7. Open the request inspector for the tunnel and find your request.
On the tunnel in the dashboard choose Open request inspector.
You should see: A row appears with the method, the path, the status your app returned and how long it took.
You are done when
- You opened the tunnel's public address from a device that is not on your computer's network, and you saw your app.
- The request appears in the request inspector with the status your app returned.
What to do next
If something goes wrong
- The login command cannot save the sign-in.
- Run npx @instawormhole/connector doctor. It checks the credential store and whether the service answers, and says what to fix. If the computer has no credential store, use the credential-stdin option described in Run the connector.
- The public address shows an error or nothing.
- Open the tunnel in the dashboard and run Tunnel Doctor. It checks each layer and names the one that failed.
- The page loads but looks broken, or hot reload does not work.
- Your development server may refuse the tunnel's address. See the framework guides for the setting to change.
Undo or clean up
- Stop the connector with Ctrl+C in its window.
- In the dashboard, pause the tunnel to keep it, or delete it to free its address.
Related
This page is part of Start here. Still stuck? Contact support.