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