wagon/back/lib/wg_peer_add

20 lines
535 B
Bash
Executable File

#!/bin/bash
# FILE: wgapi:back/lib/wg/peer/add
# DESCRIPTION: Add a new peer to a wireguard interface
# USAGE: add pubkey psk allowedips
# ERRORS:
# 3: Bad usage
# 4: wg binary not found
# 5: vars not found
# 6: wg command failed
# 7: Not root
CONFIG_FILE='/etc/wgapi/config'
[ "$#" == "3" ] || exit 3
[ -x /usr/bin/wg ] || exit 4
(( ${EUID} == 0 )) || exit 7
[ -f "${CONFIG_FILE}" ] || exit 5
source "${CONFIG_FILE}"
/usr/bin/wg set "${TLD}" peer "${1}" preshared-key <(printf "${2}") allowed-ips "${3}" || exit 6