Skip to content
/ ngrok Public

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

License

Notifications You must be signed in to change notification settings

khrj/ngrok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 { Ngrok } from "https://deno.land/x/ngrok@3.1.1/mod.ts"

const ngrok = await Ngrok.create({
    protocol: "http",
    port: 8080,
})

ngrok.addEventListener("ready", (event) => {
    console.log(event.detail) // Outputs a URL without the protocol, such as "33a229cb0344.ngrok.io"
})

// ...

await ngrok.destroy()
  • Ngrok.create accepts NgrokOptions
interface NgrokOptions {
    protocol: string
    port: number
    region?: string
    subdomain?: string
    authtoken?: string
    extraArgs?: string[]
}

Disconnecting

Due to the way child-processes work, ngrok will continue running in the background even after your program exits unless you destroy the instance

import { Ngrok } from "https://deno.land/x/ngrok@3.1.1/mod.ts"

const ngrok = await Ngrok.create({
    protocol: "http",
    port: 8080,
})

await ngrok.destroy()
  • Optionally provide an exit code: await ngrok.destroy(9)

API

See generated documentation

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

alternatively, specify only -A

deno run --unstable -A test.ts

Supporters

Stargazers repo roster for @KhushrajRathod/ngrok

Forkers repo roster for @KhushrajRathod/ngrok

Related