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;
 | 
					      results.header.rcode = NOERROR;
 | 
				
			||||||
      //console.log('[DEV] ANSWER results', results);
 | 
					      //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);
 | 
					        getNsAndSoa(false, true);
 | 
				
			||||||
        return;
 | 
					        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