diff --git a/src/wg-quick/darwin.bash b/src/wg-quick/darwin.bash index 4a3240c..0eef3d9 100755 --- a/src/wg-quick/darwin.bash +++ b/src/wg-quick/darwin.bash @@ -101,7 +101,7 @@ get_real_interface() { add_if() { export WG_DARWIN_UTUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name" mkdir -m 0700 -p "/var/run/wireguard/" - cmd wireguard-go utun + cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" utun get_real_interface } diff --git a/src/wg-quick/linux.bash b/src/wg-quick/linux.bash index 38ccad2..9139e7f 100755 --- a/src/wg-quick/linux.bash +++ b/src/wg-quick/linux.bash @@ -86,9 +86,9 @@ add_if() { local ret if ! cmd ip link add "$INTERFACE" type wireguard; then ret=$? - [[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret + [[ -e /sys/module/wireguard ]] || ! command -v "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" >/dev/null && exit $ret echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation." - cmd wireguard-go "$INTERFACE" + cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" "$INTERFACE" fi }