aboutsummaryrefslogtreecommitdiff
path: root/captive-portal.sh
blob: 92f3b168d8a5472471f1d4ff3080ca98cee3560d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

if [ $EUID -eq 0 ]; then
    echo "error: this script should not be launched as root"
    exit 1
fi

if [ $# -eq 0 ]; then
    echo "error: no command specified"
    exit 1
fi

export $(dhcpcd -U $IFACE)
if [ -z "$domain_name_servers" ]; then
    echo "error: \$domain_name_servers variable not found"
    exit 1
fi

IFACE=wlp3s0
ENV=
for var in DISPLAY HOME PWD EDITOR USER XAUTHORITY LANG DBUS_SESSION_BUS_ADDRESS; do
    value="${!var}"
    if [ ! -z "$value" ]; then
        ENV="$ENV --env $var=$value"
    fi
done

_doas="doas"
if ! command -v doas &>/dev/null; then
    _doas="sudo"
fi

$_doas captive-netns-helper \
    --nameserver $domain_name_servers \
    --ns-file /run/netns/captive \
    --uid $(id -u) --gid $(id -g) $ENV "$@"