#! /usr/bin/env runjs var StringUtil = Packages.me.hatter.tools.commons.string.StringUtil; var Bytes = Packages.me.hatter.tools.commons.bytes.Bytes; var RReader = Packages.me.hatter.tools.commons.io.RReader; var main = () => { if ($ARGS == null || $ARGS.length == 0) { println('digcaa.js - Dig CAA.') println(); println('ERROR: NO arguments assigned!'); println('digcaa.js '); return; } var result = $$.shell().commands('dig', '+short', '-t', 'TYPE257', $ARGS[0]).start(); var out = result[0].string(); var err = result[1].string(); if ((err != null) && (err != '')) { println('+ ERROR: ' + err) } $ARRAY(RReader.from(out).listAndClose()) .filter((ln) => {return (ln.trim() != '');}) .forEach((ln) => { var ss = $$.asList(ln.split(/\s+/)); var f = ss[2].substring(0, 2); var l = ss[2].substring(2, 4); var p1 = ss[2].substring(4, (4 + parseInt(l, 16) * 2)); var p2 = ss[2].substring(4 + p1.length); if (ss.size() > 3) { for (var i = 3; i < ss.size(); i++) { p2 += ss[i]; } } println(ln + StringUtil.repeat(' ', 50 - ln.length) + ' --> ' + parseInt(f, 16) + ' ' + Bytes.fromHex(p1) + ' "' + Bytes.fromHex(p2) + '"'); }); }; main();