🚇 Tunnel your local HTTP(s) server to the world! powered by Cloudflare Quick Tunnels.
TypeScript
1,378
67 commits
updated Oct 12, 2026
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 });
url{protocol}://{hostname}:{port}The local server URL to tunnel.
port3000The local server PORT (only effective if url is not provided).
hostnamelocalhostThe local server hostname (only effective if url is not provided).
protocolhttpThe local server protocol (only effective if url is not provided).
verifyTLSfalseVerify local server TLS certificate.
acceptCloudflareNoticefalseUNTUN_ACCEPT_CLOUDFLARE_NOTICEAccept cloudflare TOS by default.
extraArgsExtra CLI arguments to provide to cloudflared.
Example:
const tunnel = await startTunnel({
port: 3000,
extraArgs: ["--no-autoupdate"]
});
corepack enablepnpm installpnpm devMade 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.
3,979 followers · starred Aug 2023
557 followers · starred Oct 2023
1,741 followers · starred Apr 2024
2,026 followers · starred Dec 2024
🚇 Tunnel your local HTTP(s) server to the world! powered by Cloudflare Quick Tunnels.
TypeScript
1,378
67 commits
updated Oct 12, 2026
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 });
url{protocol}://{hostname}:{port}The local server URL to tunnel.
port3000The local server PORT (only effective if url is not provided).
hostnamelocalhostThe local server hostname (only effective if url is not provided).
protocolhttpThe local server protocol (only effective if url is not provided).
verifyTLSfalseVerify local server TLS certificate.
acceptCloudflareNoticefalseUNTUN_ACCEPT_CLOUDFLARE_NOTICEAccept cloudflare TOS by default.
extraArgsExtra CLI arguments to provide to cloudflared.
Example:
const tunnel = await startTunnel({
port: 3000,
extraArgs: ["--no-autoupdate"]
});
corepack enablepnpm installpnpm devMade 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.
3,979 followers · starred Aug 2023
557 followers · starred Oct 2023
1,741 followers · starred Apr 2024
2,026 followers · starred Dec 2024