Have ideas to improve npm?Join in the discussion! »

    zonefile-parser

    1.0.1 • Public • Published

    zonefile-parser

    A DNS zonefile parser module with no runtime dependencies, generated from the PEG.js grammar https://github.com/tableflip/zonefile-pegjs

    Handles multi-line SOA and TXT records, as well as SRV, MX, CNAME, NS, AAAA, A and friends.

    Install

    npm install zonefile-parser

    Usage

    The parser comes in two flavors:

    fast.js, the default module exported:

    var parser = require('zonefile-parser')
    parser.parse('tableflip.io. 21599 IN A 178.62.82.182')
    // { origin: null, ttl: null, records:[ { name:'tableflip.io.', ttl: '21599', type:'A', data: '178.62.82.182' } ] }

    and small.js in case you're browserifying and want to shave a few bytes:

    var parser = require('zonefile-parser/small')
    parser.parse('tableflip.io. 21599 IN A 178.62.82.182')
    // { origin: null, ttl: null, records:[ { name:'tableflip.io.', ttl: '21599', type:'A', data: '178.62.82.182' } ] }

    Command line tool

    Install it globally

    npm install -g zonefile-parser

    and use it from your shell as zonefile to convert a zonefile to JSON on stdout:

    $ zonefile ../zonefile-pegjs/test/example.zone
    {
      "origin""example.org.",
      "ttl""2d",
      "records": [
        {
          "name""@",
          "ttl": null,
          "type""SOA",
          "data"{
            "nameServer""ns1.example.org.",
            "email""hostmaster.example.org.",
            "serial""2003080800",
            "refresh""12h",
            "retry""15m",
            "expiry""3w",
            "minimum""3h"
          }
        }
      ]
    }

    A (╯°□°)╯︵TABLEFLIP side project.

    Install

    npm i zonefile-parser

    DownloadsWeekly Downloads

    2

    Version

    1.0.1

    License

    AGPL-3.0

    Last publish

    Collaborators

    • avatar