Nsupdate in production only; removed CIDR part from user.peers ip addresses
parent
a0e5f38f0f
commit
66c62fc8c9
28
app/add.js
28
app/add.js
|
@ -49,10 +49,10 @@ module.exports = async (req, res) => {
|
||||||
// Find next available host part
|
// Find next available host part
|
||||||
const used_ipv4_hosts = user.peers
|
const used_ipv4_hosts = user.peers
|
||||||
.map((host) => host.ipv4).map((found_ipv4) =>
|
.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
|
const used_ipv6_hosts = user.peers
|
||||||
.map((host) => host.ipv6).map((found_ipv6) =>
|
.map((host) => host.ipv6).map((found_ipv6) =>
|
||||||
found_ipv6.toString().split(':')[3].split('/')[0])
|
found_ipv6.toString().split(':')[3])
|
||||||
let host = 1
|
let host = 1
|
||||||
while ([...used_ipv4_hosts,...used_ipv6_hosts].includes(host.toString())) host++
|
while ([...used_ipv4_hosts,...used_ipv6_hosts].includes(host.toString())) host++
|
||||||
|
|
||||||
|
@ -118,18 +118,20 @@ AllowedIPs = ${ipv4_addr}/32, ${ipv6_addr}/128`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update nameserver
|
// Update nameserver
|
||||||
const domain = `${new_hostname}.${user.name}.${env.TLD}.`
|
if (env.ENV==='prod') {
|
||||||
try {
|
const domain = `${new_hostname}.${user.name}.${env.TLD}.`
|
||||||
await helper.nsUpdate(dns_key, env.DNS_MASTER,
|
try {
|
||||||
`update add ${domain} ${env.DNS_TTL} A ${ipv4_addr}
|
await helper.nsUpdate(dns_key, env.DNS_MASTER,
|
||||||
update add ${domain} ${env.DNS_TTL} AAAA ${ipv6_addr}
|
`update add ${domain} ${env.DNS_TTL} A ${ipv4_addr}
|
||||||
update add *.${domain} ${env.DNS_TTL} CNAME ${domain}`)
|
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
|
// Generate user config
|
||||||
const listen_port = Math.floor(50000 + Math.random() * 10000)
|
const listen_port = Math.floor(50000 + Math.random() * 10000)
|
||||||
|
|
24
app/del.js
24
app/del.js
|
@ -129,18 +129,20 @@ module.exports = async (req, res) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete domains from nameserver
|
// Delete domains from nameserver
|
||||||
try {
|
if (env.ENV==='prod') {
|
||||||
await helper.nsUpdate(dns_key, env.DNS_MASTER,
|
try {
|
||||||
`update delete ${peer_name}. A
|
await helper.nsUpdate(dns_key, env.DNS_MASTER,
|
||||||
update delete ${peer_name}. AAAA
|
`update delete ${peer_name}. A
|
||||||
update delete *.${peer_name}. CNAME`)
|
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)
|
return res.sendStatus(200)
|
||||||
|
|
||||||
|
|
|
@ -38,8 +38,8 @@ module.exports = {
|
||||||
}
|
}
|
||||||
else if (line.includes('AllowedIPs = ')) {
|
else if (line.includes('AllowedIPs = ')) {
|
||||||
const ips = line.split('=')[1].split(', ')
|
const ips = line.split('=')[1].split(', ')
|
||||||
userpeer_obj.ipv4 = ips.filter( (ip) => ip.includes(env.IPV4_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()
|
userpeer_obj.ipv6 = ips.filter( (ip) => ip.includes(env.IPV6_NET) )[0].trim().split('/')[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
found_hosts.push(userpeer_obj)
|
found_hosts.push(userpeer_obj)
|
||||||
|
@ -110,7 +110,7 @@ module.exports = {
|
||||||
})
|
})
|
||||||
nsupdate.on('exit', (status) => {
|
nsupdate.on('exit', (status) => {
|
||||||
console.log(`nsupdate exited with status: ${status}`)
|
console.log(`nsupdate exited with status: ${status}`)
|
||||||
if (status===0) reject(errors)
|
if (status!==0) reject(errors)
|
||||||
else resolve()
|
else resolve()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue