diff options
-rwxr-xr-x | src/tools/wg-quick.bash | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tools/wg-quick.bash b/src/tools/wg-quick.bash index f8c1ce7..cd66b4d 100755 --- a/src/tools/wg-quick.bash +++ b/src/tools/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() { |