From e7dc6c669106d4dc7c1ef78a867127c3157612c1 Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Tue, 19 Apr 2022 23:05:26 +0300 Subject: helper script: support nmcli --- captive-portal.sh | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/captive-portal.sh b/captive-portal.sh index 92f3b16..7704565 100755 --- a/captive-portal.sh +++ b/captive-portal.sh @@ -1,5 +1,9 @@ #!/bin/bash +get_default_iface() { + ip -4 r show default | grep -v tun | awk '{print $5}' +} + if [ $EUID -eq 0 ]; then echo "error: this script should not be launched as root" exit 1 @@ -10,13 +14,23 @@ if [ $# -eq 0 ]; then exit 1 fi -export $(dhcpcd -U $IFACE) +IFACE=$(get_default_iface) + +if dhcpcd -U $IFACE 1>/dev/null 2>&1; then + echo "using dhcpcd" + export $(dhcpcd -U $IFACE) +elif nmcli 1>/dev/null 2>&1; then + echo "using nmcli" + domain_name_servers=$(nmcli device show $IFACE | grep IP4.DNS | awk '{print $2}' | head -1) +fi + if [ -z "$domain_name_servers" ]; then echo "error: \$domain_name_servers variable not found" exit 1 fi -IFACE=wlp3s0 +echo "resolver: $domain_name_servers" + ENV= for var in DISPLAY HOME PWD EDITOR USER XAUTHORITY LANG DBUS_SESSION_BUS_ADDRESS; do value="${!var}" @@ -33,4 +47,4 @@ fi $_doas captive-netns-helper \ --nameserver $domain_name_servers \ --ns-file /run/netns/captive \ - --uid $(id -u) --gid $(id -g) $ENV "$@" \ No newline at end of file + --uid $(id -u) --gid $(id -g) $ENV "$@" -- cgit v1.2.3