diff --git a/app/add.js b/app/add.js index 0869f28..08de1d9 100644 --- a/app/add.js +++ b/app/add.js @@ -49,10 +49,10 @@ module.exports = async (req, res) => { // Find next available host part const used_ipv4_hosts = user.peers .map((host) => host.ipv4).map((found_ipv4) => - found_ipv4.toString().split('.')[3].split('/')[0]) + found_ipv4.toString().split('.')[3]) const used_ipv6_hosts = user.peers .map((host) => host.ipv6).map((found_ipv6) => - found_ipv6.toString().split(':')[3].split('/')[0]) + found_ipv6.toString().split(':')[3]) let host = 1 while ([...used_ipv4_hosts,...used_ipv6_hosts].includes(host.toString())) host++ @@ -118,18 +118,20 @@ AllowedIPs = ${ipv4_addr}/32, ${ipv6_addr}/128` } // Update nameserver - const domain = `${new_hostname}.${user.name}.${env.TLD}.` - try { - await helper.nsUpdate(dns_key, env.DNS_MASTER, -`update add ${domain} ${env.DNS_TTL} A ${ipv4_addr} -update add ${domain} ${env.DNS_TTL} AAAA ${ipv6_addr} -update add *.${domain} ${env.DNS_TTL} CNAME ${domain}`) + if (env.ENV==='prod') { + const domain = `${new_hostname}.${user.name}.${env.TLD}.` + try { + await helper.nsUpdate(dns_key, env.DNS_MASTER, + `update add ${domain} ${env.DNS_TTL} A ${ipv4_addr} + update add ${domain} ${env.DNS_TTL} AAAA ${ipv6_addr} + update add *.${domain} ${env.DNS_TTL} CNAME ${domain}`) + } + catch (err) { + console.error(`Failed to add ns record.`) + if (err) console.error(err) + } + console.log(`Updated nameserver to add ${domain}.`) } - catch (err) { - console.error(`Failed to add ns record.`) - if (err) console.error(err) - } - console.log(`Updated nameserver to add ${domain}.`) // Generate user config const listen_port = Math.floor(50000 + Math.random() * 10000) diff --git a/app/del.js b/app/del.js index 5b4cd55..b323a8b 100644 --- a/app/del.js +++ b/app/del.js @@ -129,18 +129,20 @@ module.exports = async (req, res) => { } // Delete domains from nameserver - try { - await helper.nsUpdate(dns_key, env.DNS_MASTER, -`update delete ${peer_name}. A -update delete ${peer_name}. AAAA -update delete *.${peer_name}. CNAME`) + if (env.ENV==='prod') { + try { + await helper.nsUpdate(dns_key, env.DNS_MASTER, + `update delete ${peer_name}. A + update delete ${peer_name}. AAAA + update delete *.${peer_name}. CNAME`) + } + catch (err) { + console.error(`Failed to delete ns record`) + if (err) console.error(err) + return res.sendStatus(500) + } + console.log(`Updated nameserver to delete ${peer_name}.`) } - catch (err) { - console.error(`Failed to delete ns record`) - if (err) console.error(err) - return res.sendStatus(500) - } - console.log(`Updated nameserver to delete ${peer_name}.`) return res.sendStatus(200) diff --git a/includes/helpers.js b/includes/helpers.js index 14c1a28..f48e4e0 100644 --- a/includes/helpers.js +++ b/includes/helpers.js @@ -38,8 +38,8 @@ module.exports = { } else if (line.includes('AllowedIPs = ')) { const ips = line.split('=')[1].split(', ') - userpeer_obj.ipv4 = ips.filter( (ip) => ip.includes(env.IPV4_NET) )[0].trim() - userpeer_obj.ipv6 = ips.filter( (ip) => ip.includes(env.IPV6_NET) )[0].trim() + userpeer_obj.ipv4 = ips.filter( (ip) => ip.includes(env.IPV4_NET) )[0].trim().split('/')[0] + userpeer_obj.ipv6 = ips.filter( (ip) => ip.includes(env.IPV6_NET) )[0].trim().split('/')[0] } } found_hosts.push(userpeer_obj) @@ -110,7 +110,7 @@ module.exports = { }) nsupdate.on('exit', (status) => { console.log(`nsupdate exited with status: ${status}`) - if (status===0) reject(errors) + if (status!==0) reject(errors) else resolve() })