Cleanup
parent
8571d2147a
commit
3ec541c282
21
app/add.js
21
app/add.js
|
@ -61,7 +61,8 @@ module.exports = async (req, res) => {
|
|||
let keypair; try {
|
||||
keypair = await wg.generateKeypair()
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
console.error(`Unable to generateKeypair:\n${err}`)
|
||||
res.sendStatus(409); return
|
||||
}
|
||||
|
||||
// Peer with each server
|
||||
|
@ -70,12 +71,13 @@ module.exports = async (req, res) => {
|
|||
let psk; try {
|
||||
psk = await wg.generatePSK()
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
console.error(`Unable to generate PSK:\n${err}`)
|
||||
res.sendStatus(409); return
|
||||
}
|
||||
// Add server to client as [Peer]
|
||||
|
||||
// Add server to user config as [Peer]
|
||||
const allowed_ipv4s = `${server.ipv4}/${(server.host===env.LOCAL_SERVER)?env.IPV4_CIDR:'32'}`
|
||||
const allowed_ipv6s = `${server.ipv6}/${(server.host===env.LOCAL_SERVER)?env.IPV6_CIDR:'128'}`
|
||||
|
||||
client_peers.push(`
|
||||
[Peer] # ${server.host}.${env.TLD}
|
||||
PublicKey = ${server.pubkey}
|
||||
|
@ -83,18 +85,21 @@ PresharedKey = ${psk}
|
|||
AllowedIPs = ${allowed_ipv4s}, ${allowed_ipv6s}
|
||||
Endpoint = ${server.endpoint}
|
||||
PersistentKeepAlive = 25`)
|
||||
// Add client to server as [Peer]
|
||||
|
||||
// Add new user device to server config as [Peer]
|
||||
const server_config = `\n
|
||||
[Peer] # ${new_hostname}.${user.name}.${env.TLD}
|
||||
PublicKey = ${keypair[0]}
|
||||
PresharedKey = ${psk}
|
||||
AllowedIPs = ${ipv4_addr}/32, ${ipv6_addr}/128`
|
||||
|
||||
// Add server_config to local wg0.conf
|
||||
if (server.host===env.LOCAL_SERVER) {
|
||||
// Add server_config to wg0.conf
|
||||
try { await fs.appendFile(env.WG_CONFIG_FILE, server_config) }
|
||||
catch (err) { console.error(err); return}
|
||||
|
||||
// Remote server: send config
|
||||
} else {
|
||||
// Send config to other server
|
||||
console.log(`Sending config to ${server.host}.gf4`)
|
||||
try {
|
||||
await axios.post(`${server.admin_endpoint}/add`, server_config, {
|
||||
|
@ -110,7 +115,7 @@ AllowedIPs = ${ipv4_addr}/32, ${ipv6_addr}/128`
|
|||
|
||||
//TODO: Nameserver config
|
||||
|
||||
// Generate config
|
||||
// Generate user config
|
||||
const listen_port = Math.floor(50000 + Math.random() * 10000)
|
||||
const config = `[Interface]
|
||||
PrivateKey = ${keypair[1]}
|
||||
|
|
Loading…
Reference in New Issue