Skip to main content
Deno 2 is finally here 🎉️
Learn more
trains between usb and usb port abstract illustration

ngrok

Expose your localhost to the web. Ultra-simple deno wrapper for ngrok

build status language code size issues license version

View on deno.land




Usage

import { connect } from "https://deno.land/x/ngrok@2.2.5/mod.ts"
const url = await connect({ protocol: "http", port: "8080" })
console.log(url) // Outputs a URL without the protocol, such as "33a229cb0344.ngrok.io"
  • connect accepts NgrokOptions
interface NgrokOptions {
    protocol: string
    port: number
    region?: string
    subdomain?: string
    authtoken?: string
    extraArgs?: string[]
}

Disconnecting

Due to the way Deno currently works, ngrok will continue running in the background even after your program exits unless you disconnect

import { disconnect } from 'https://deno.land/x/ngrok@2.2.5/mod.ts'
disconnect()
  • Optionally provide an exit code: disconnect(9)

Permissions

  • –allow-read
  • –allow-write
  • –allow-env
  • –allow-net
  • –allow-run

Also requires –unstable

deno run --unstable --allow-read --allow-write --allow-env --allow-net --allow-run test.ts

Supporters

Stargazers repo roster for @KhushrajRathod/ngrok

Forkers repo roster for @KhushrajRathod/ngrok