🪐 Get a secure public URL for a local web server so you can trigger webhooks
TypeScript
153
31 commits
updated Mar 29, 2026
Get a secure public URL for your local web server so you can trigger webhooks, etc.
Built with Vercel sandbox.
[!IMPORTANT] vgrok is designed for quick local development. If you want quick production and preview deployments with secure public urls, connect your repo to Vercel so you can automatically deploy on
git push.
First, install globally from npm:
npm i -g @styfle/vgrok
Next, install vercel cli from npm and login and link to a project:
npm i -g vercel
vercel login
vercel link
export VERCEL_TEAM_ID=team_abc
export VERCEL_PROJECT_ID=prj_123
export VERCEL_TOKEN=mytoken
This is similar to linking a project so vgrok knows where to create the sandbox.
Finally, start the vgrok cli with the port of your local server, for example:
vgrok 3000
This will print a unique url so that your local server on port 3000, like next dev, is now accessible to the world.
The default behavior is to shutdown the connection and corresponding sandbox when the vgrok process exits (CTRL+C).
If you plan to run vgrok more frequently and don't want to wait a couple seconds for the sandbox, you can reuse a sandbox, or rather not shutdown the sandbox when the vgrok process exits.
vgrok 3000 start # create a sandbox and connect the tunnel
# CTRL+C will disconnect the tunnel but not shudown the sandbox
vgrok 3000 stop # shutdown the sandbox
import { client } from '@styfle/vgrok';
const tunnel = await client({ port: 3000, timeout: 2_700_000 });
console.log(`Ready at ${tunnel.url}`);
process.on('SIGINT', async () => { await tunnel.shutdown(); });
process.on('SIGTERM', async () => { await tunnel.shutdown(); });
iad1 region (might feel slow if you're outside US East)30 commits
1 commits
TypeScript
66.0%
JavaScript
34.0%
🪐 Get a secure public URL for a local web server so you can trigger webhooks
TypeScript
153
31 commits
updated Mar 29, 2026
Get a secure public URL for your local web server so you can trigger webhooks, etc.
Built with Vercel sandbox.
[!IMPORTANT] vgrok is designed for quick local development. If you want quick production and preview deployments with secure public urls, connect your repo to Vercel so you can automatically deploy on
git push.
First, install globally from npm:
npm i -g @styfle/vgrok
Next, install vercel cli from npm and login and link to a project:
npm i -g vercel
vercel login
vercel link
export VERCEL_TEAM_ID=team_abc
export VERCEL_PROJECT_ID=prj_123
export VERCEL_TOKEN=mytoken
This is similar to linking a project so vgrok knows where to create the sandbox.
Finally, start the vgrok cli with the port of your local server, for example:
vgrok 3000
This will print a unique url so that your local server on port 3000, like next dev, is now accessible to the world.
The default behavior is to shutdown the connection and corresponding sandbox when the vgrok process exits (CTRL+C).
If you plan to run vgrok more frequently and don't want to wait a couple seconds for the sandbox, you can reuse a sandbox, or rather not shutdown the sandbox when the vgrok process exits.
vgrok 3000 start # create a sandbox and connect the tunnel
# CTRL+C will disconnect the tunnel but not shudown the sandbox
vgrok 3000 stop # shutdown the sandbox
import { client } from '@styfle/vgrok';
const tunnel = await client({ port: 3000, timeout: 2_700_000 });
console.log(`Ready at ${tunnel.url}`);
process.on('SIGINT', async () => { await tunnel.shutdown(); });
process.on('SIGTERM', async () => { await tunnel.shutdown(); });
iad1 region (might feel slow if you're outside US East)30 commits
1 commits
TypeScript
66.0%
JavaScript
34.0%