add wrapper script
This commit is contained in:
parent
42df77cfe8
commit
30d91f3b55
@ -1,12 +1,15 @@
|
||||
cmake_minimum_required(VERSION 3.19)
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(captive-netns-helper C)
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX /usr/local/bin)
|
||||
set(CMAKE_INSTALL_PREFIX /usr/local)
|
||||
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
|
||||
add_executable(captive-netns-helper main.c)
|
||||
install(TARGETS captive-netns-helper
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION bin)
|
||||
install(FILES captive-portal.sh
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
DESTINATION bin)
|
36
captive-portal.sh
Executable file
36
captive-portal.sh
Executable file
@ -0,0 +1,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 "$@"
|
Loading…
x
Reference in New Issue
Block a user