1.5.3 • Published 1 year ago

@667/ngrok-dns v1.5.3

Weekly downloads
5
License
MIT
Repository
github
Last release
1 year ago

ngrok-dns

ngrok-dns ngrok-dns

UPDATE: This service/utility also works with localtunnel

Ngrok-dns is a plugin of sorts to the ngrok npm package that enables domain features of ngrok which are not available on the free plan. Ngrok-dns will create a TXT record pointing to the new tunnel each time it changes.

Further you can generate a fixed URL using the service at https://ngrok-dns.june07.com.

https://june07.github.io/image/InShot_20201209_081348040.gif

ngrok-dns
ngrok tunnel url is dynamic and will change during your development cycle
ngrok-dns
cloudflare TXT records can then be easily accessed from webhooks and other disconnected parts of dev project

Install

npm install @667/ngrok-dns

Usage

ngrok-dns[localtunnel
highlighed locations show requirement for ngrok-dns usagesimilar setup for localtunnel usage

ngrok usage

const ngrok = require('./index'),
    ngrokDNS = require('@667/ngrok-dns');

(async function () {
    const url = await ngrok.connect({
        addr: 'https://localhost:3000',
        onLogEvent: ngrokDNS
    });
})();

localtunnel usage

const localtunnel = require('localtunnel'),
    dnsTunnel = require('@667/ngrok-dns');

(async () => {
    const tunnel = await localtunnel({
        port: 3000,
        allow_invalid_cert: true,
        local_https: true,
        debug: true,
    });
    dnsTunnel(tunnel.url);
    console.log(`dnsTunnel: ${tunnel.url}`);
})();

Make sure your env vars are set and run your app or app dev command (i.e. nodemon, etc) as normal: ngrok-dns

  • TXT - A DNS TXT record is created which can easily be looked up in your dev environment using Node's included dns module: require('dns')
  • CLOUDFLARE_TOKEN
  • CLOUDFLARE_ZONE_ID

Log output should look like: ngrok-dns added Cloudflare TXT your-custom-domain.com -> 0d8b12e869d7.ngrok.io

This is a seperate example of ngrok-dns output: ngrok-dns

Currently Cloudflare (token based) is supported although other DNS providers should be easy to add.

  • ngrokDNS is middleware in that it passes the onLogEvent 'data' through, and failures just disable the middleware
1.5.3

1 year ago

1.5.2

1 year ago

1.5.1

1 year ago

1.5.0

2 years ago

1.4.7

3 years ago

1.4.6

3 years ago

1.4.5

3 years ago

1.4.4

3 years ago

1.4.3

3 years ago

1.4.2

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.4

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.0

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.0

3 years ago

1.2.1

3 years ago

1.1.0

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago