diff --git a/src/wg-quick.bash b/src/wg-quick.bash index f8c1ce7..cd66b4d 100755 --- a/src/wg-quick.bash +++ b/src/wg-quick.bash @@ -83,7 +83,13 @@ auto_su() { } add_if() { - cmd ip link add "$INTERFACE" type wireguard + local ret + if ! cmd ip link add "$INTERFACE" type wireguard; then + ret=$? + [[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret + echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation." + cmd wireguard-go "$INTERFACE" + fi } del_if() {