Tunnel your local HTTP(s) server to the world!
Powered by π₯ Cloudflare Quick Tunnels and used by π unjs/listhen.
Globally run tunnel with npx
:
npx untun@latest tunnel http://localhost:3000
β Starting cloudflared tunnel to http://localhost:3000
βΉ Waiting for tunnel URL...
β Tunnel ready at https://unjs-is-awesome.trycloudflare.com
Use npx untun tunnel --help
for more usage info.
Install package:
# npm
npm install untun
# yarn
yarn add untun
# pnpm
pnpm install untun
Import:
// ESM
import { startTunnel } from "untun";
// CommonJS
const { startTunnel } = require("untun");
Start tunnel:
const tunnel = await startTunnel({ port: 3000 });
- Default:
{protocol}://{hostname}:{port}
The local server URL to tunnel.
- Default:
3000
The local server PORT (only effective if url
is not provided).
- Default:
localhost
The local server hostname (only effective if url
is not provided).
- Default:
http
The local server protocol (only effective if url
is not provided).
- Default:
false
Verify local server TLS certificate.
- Default:
false
- Environment variable:
UNTUN_ACCEPT_CLOUDFLARE_NOTICE
Accept cloudflare TOS by default.
- Default: ""
Extra CLI arguments to provide to cloudflared.
Example:
const tunnel = await startTunnel({
port: 3000,
extraArgs: "--no-autoupdate"
});
- Clone this repository
- Install latest LTS version of Node.js
- Enable Corepack using
corepack enable
- Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
Made with π
Published under MIT License.
cloudflared integration based on a fork of JacobLinCool/node-cloudflared
Your installation of cloudflared software constitutes a symbol of your signature indicating that you accept the terms of the Cloudflare License, Terms and Privacy Policy.