Compare commits
6 Commits
d4646dba06
...
7a201e4d8a
Author | SHA1 | Date | |
---|---|---|---|
|
7a201e4d8a | ||
|
be91254190 | ||
|
49811bd321 | ||
|
5839451f20 | ||
|
f67788f9db | ||
|
5cf3a3b20f |
@ -439,7 +439,7 @@ module.exports.query = function (input, query, cb) {
|
||||
results.header.rcode = NOERROR;
|
||||
//console.log('[DEV] ANSWER results', results);
|
||||
|
||||
if (255 === query.question[0].type && 'ANY' === query.question[0].typeName) {
|
||||
if (255 === query.question[0].type || 'ANY' === query.question[0].typeName) {
|
||||
getNsAndSoa(false, true);
|
||||
return;
|
||||
}
|
||||
|
50
samples/daplie.com.db.json
Normal file
50
samples/daplie.com.db.json
Normal file
@ -0,0 +1,50 @@
|
||||
{ "primaryNameservers": [ "ns1.daplie.me", "ns2.daplie.me", "ns3.daplie.me" ]
|
||||
, "domains": [
|
||||
{ "id": "daplie.com", "revokedAt": 0 }
|
||||
]
|
||||
, "records": [
|
||||
{"zone":"daplie.com","name":"daplie.com","type":"NS","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns1","data":"ns1.daplie.com"}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"NS","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns2","data":"ns2.daplie.com"}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"NS","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns3","data":"ns3.daplie.com"}
|
||||
, {"zone":"daplie.com","name":"ns1.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns1","address":"45.55.1.122"}
|
||||
, {"zone":"daplie.com","name":"ns2.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns2","address":"45.55.254.197"}
|
||||
, {"zone":"daplie.com","name":"ns3.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ns3","address":"159.203.25.112"}
|
||||
|
||||
|
||||
, {"zone":"daplie.com","name":"email.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"email","data":"mailgun.org"}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"MX","class":"IN","ttl":5,"tld":"com","sld":"daplie","exchange":"mxa.mailgun.org","priority":10}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"MX","class":"IN","ttl":5,"tld":"com","sld":"daplie","exchange":"mxb.mailgun.org","priority":10}
|
||||
, {"zone":"daplie.com","name":"preorder.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"preorder","data":"daplie.myshopify.com"}
|
||||
, {"zone":"daplie.com","name":"k1._domainkey.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"k1._domainkey","data":"dkim.mcsv.net"}
|
||||
, {"zone":"daplie.com","name":"rvpn.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"rvpn","address":"104.236.182.24"}
|
||||
, {"zone":"daplie.com","name":"smtp._domainkey.daplie.com","type":"TXT","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"smtp._domainkey","data":["k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdEzzYX8U31O5p5Uvyb1B50/JPMcKnsnIQcPDWWYkBUQxMt+FyD1SRZLCaVxWybZ8eFQUwxlh0qFeLd/mIIGhCazQ74a3AH+TJhz4gOAvNQHmWvS0Sv9ZZjGuDM/RdOAFSwZET8+WUpJfDADfijihj5KqMab13NDDLOQ96wObuwQIDAQAB"]}
|
||||
, {"zone":"daplie.com","name":"iqqsuxwfyvyw.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"iqqsuxwfyvyw","data":"gv-roynzijsoqayyg.dv.googlehosted.com"}
|
||||
, {"zone":"daplie.com","name":"mandrill._domainkey.daplie.com","type":"TXT","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"mandrill._domainkey","data":["v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd/IQ/J/mRwSRMAocV/hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzGt7yAioXqLj7Z4TeEUoOLgrKsn8YnckGs9i3B3tVFB+Ch/4mPhXWiNfNdynHWBcPcbJ8kjEQ2U8y78dHZj1YeRXXVvWob2OaKynO8/lQIDAQAB;"]}
|
||||
, {"zone":"daplie.com","name":"mailapp.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"mailapp","data":"mandrillapp.com"}
|
||||
, {"zone":"daplie.com","name":"tunnel.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"tunnel","address":"162.243.160.23"}
|
||||
, {"zone":"daplie.com","name":"localhost.alpha.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"localhost.alpha","address":"127.0.0.1"}
|
||||
, {"zone":"daplie.com","name":"localhost.alpha.daplie.com","type":"AAAA","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"localhost.alpha","address":"::1"}
|
||||
, {"zone":"daplie.com","name":"hero.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"hero","address":"138.197.54.15"}
|
||||
, {"zone":"daplie.com","name":"proxy.tardigrade.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"proxy.tardigrade.devices","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"beta.git.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"beta.git","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"git.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"git","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"mattermost.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"mattermost","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"insecure-ftp.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"insecure-ftp","address":"210.5.144.209"}
|
||||
, {"zone":"daplie.com","name":"api.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"api","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"beast.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"beast.devices","address":"96.19.92.42"}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"TXT","class":"IN","ttl":5,"tld":"com","sld":"daplie","data":["v=spf1 include:mailgun.org include:spf.mandrillapp.com include:_spf.google.com include:servers.mcsv.net include:mail.zendesk.com ~all"]}
|
||||
, {"zone":"daplie.com","name":"ossus.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"ossus.devices","address":"73.65.206.97"}
|
||||
, {"zone":"daplie.com","name":"support.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"support","data":"daplie.zendesk.com"}
|
||||
, {"zone":"daplie.com","name":"shop.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"shop","address":"23.227.38.32"}
|
||||
, {"zone":"daplie.com","name":"shop.daplie.com","type":"CNAME","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"shop","data":"shops.myshopify.com"}
|
||||
, {"zone":"daplie.com","name":"new.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"new","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"redleader.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"redleader.devices","address":"104.36.98.166"}
|
||||
, {"zone":"daplie.com","name":"daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"www.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"www","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"leo.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"leo.devices","address":"45.56.59.142"}
|
||||
, {"zone":"daplie.com","name":"media.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"media","address":"45.56.59.142"}
|
||||
, {"zone":"daplie.com","name":"proxy.leo.devices.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"proxy.leo.devices","address":"45.56.59.142"}
|
||||
, {"zone":"daplie.com","name":"domains.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"domains","address":"23.228.168.108"}
|
||||
, {"zone":"daplie.com","name":"labs.daplie.com","type":"A","class":"IN","ttl":5,"tld":"com","sld":"daplie","sub":"labs","address":"23.228.168.108"}
|
||||
]
|
||||
}
|
73
samples/parse-records.js
Normal file
73
samples/parse-records.js
Normal file
@ -0,0 +1,73 @@
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
* parses files in the format "type|domain|value|json\n"
|
||||
*/
|
||||
|
||||
var filename = process.argv[2];
|
||||
var fs = require('fs');
|
||||
|
||||
var file = fs.readFileSync(filename, 'utf8');
|
||||
var zone = 'daplie.com';
|
||||
|
||||
file.trim().split(/\n/).forEach(function (line) {
|
||||
var parts = line.split(/\|/);
|
||||
var type = parts[0];
|
||||
var name = parts[1] || zone;
|
||||
var domain = name.split('.');
|
||||
var thing = parts[2];
|
||||
var json = JSON.parse(parts[3]);
|
||||
|
||||
var address; // A, AAAA
|
||||
var flag, tag, value; // CAA
|
||||
var data; // CNAME, NS, PTR, ... TXT (as array)
|
||||
var priority; // MX, SRV
|
||||
var exchange; // MX
|
||||
var weight, port, target; // SRV
|
||||
|
||||
if (/^(A|AAAA)$/.test(type)) {
|
||||
address = thing;
|
||||
}
|
||||
if (/^(CNAME|NS|PTR)$/.test(type)) {
|
||||
data = thing;
|
||||
}
|
||||
if (/^(TXT)$/.test(type)) {
|
||||
data = [ thing ];
|
||||
}
|
||||
if (/^(MX)$/.test(type)) {
|
||||
exchange = thing;
|
||||
}
|
||||
if (/^(MX|SRV)$/.test(type)) {
|
||||
priority = json.priority || 10;
|
||||
}
|
||||
|
||||
var obj = {
|
||||
zone: zone
|
||||
|
||||
, name: name
|
||||
, type: type
|
||||
, class: 'IN'
|
||||
, ttl: 5 // 12 hours 43200 // 3 days 259200
|
||||
|
||||
, tld: domain.pop()
|
||||
, sld: domain.pop()
|
||||
, sub: domain.join('.') || undefined
|
||||
|
||||
, address: address
|
||||
, aname: undefined
|
||||
, flag: flag
|
||||
, tag: tag
|
||||
, value: value
|
||||
|
||||
, data: data
|
||||
|
||||
, exchange: exchange
|
||||
|
||||
, priority: priority
|
||||
, weight: weight
|
||||
, port: port
|
||||
, target: target
|
||||
};
|
||||
|
||||
console.log(",", JSON.stringify(obj));
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user