Tunnel your local HTTP(s) server to the world!
Globally run tunnel with npx
:
npx ctun@latest --url http://localhost:3000
◐ Starting cloudflared tunnel to http://localhost:3000
ℹ Waiting for tunnel URL...
✔ Tunnel ready at https://unjs-is-awesome.trycloudflare.com
✔ QR Code:
█▀▀▀▀▀▀▀██▀█████▀▀▀█▀▀█▀▀██▀▀▀▀▀▀▀█
█ █▀▀▀█ █▄ ▀ ▄█▀█▀█▄▀█ ▀▀██ █▀▀▀█ █
█ █ █ █▄▄▀▄▀▀▀▀█▄▀▀ ██▀▄█ █ █ █
█ ▀▀▀▀▀ █ █ █▀▄ ▄ ▄ █▀▄ █▀█ ▀▀▀▀▀ █
█▀▀▀▀▀█▀▀▀▀▀█ ▄▀▄▄▀██ ▄ ▀▀█▀█▀█▀██
█▀▄██ █▀█▄ █▀▀██▀ ▄▄▄▄▀▀▄▀▀ ██▀▄ ▄█
█ ▀██ ▀▀ █ ▄ ██▄█▄▀▄ ▄▄▀▀▀▀▄▀▀▀▄███
██▀▀▀▀▄▀▀▄█ █▄ ▀ ▄▄▀█▀▄█ ▄█▀██ ▄█
█▀▄▀▄█▀▀ ▄ ▀█ ▄▀▀█▀█▀▀▄ ▀██▄▀█▄▀██
█▀█▀█▄▄▀ ▄▄█▀▀██▀▄██▄ █▀▄█▀ ██ █ ▄█
███▀▀█▄▀▄▄██ ██▄█▄▀███▄ ▀ █▀▀█▄▀██
█ ▄█▀ ▀ ████▄ ▀▀█▄▄▄▄▄▄█▄▄▀▀ █ ▄█
█ █▀▄▄█▀▄▀▄▀█ ▄▀ ▄▀▄▀▄▄ ▄ ▀▀ ▀ ▄█▀█
█▀▀▀▀▀▀▀█ █▀▀▀██▀▄▀▄▄ ▀ █▀█ █▄▀▄█
█ █▀▀▀█ █▀▀▄ ██▄▀▀▀▄█▄▄▄▄ ▀▀▀ ▄▄█ █
█ █ █ █ ▀▀█▄ ▀ ▄▄▄▄▀▀▄▄▄▀█▄ ▄▄█
█ ▀▀▀▀▀ █ ███ ▄▀ █▀▄▄▀▄ ▀█▄ █ ▄▀██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Use npx ctun --help
for more usage info.
Install package:
# npm
npm install ctun
# yarn
yarn add ctun
# pnpm
pnpm install ctun
Import:
// ESM
import { startTunnel } from "ctun";
// CommonJS
const { startTunnel } = require("ctun");
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.
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.