#!/bin/sh
# Netrunner VPN — привилегированный запуск (цель pkexec).
#
# Запускается от root через pkexec (см. com.netrunner.vpn.policy). Приложению
# нужны реальные права root на всё время работы: создание TUN (TUNSETIFF,
# CAP_NET_ADMIN), правила nftables, `ip route`, `resolvectl` — всё это делает
# сам процесс/его дочерние команды. Поэтому проще и надёжнее поднять GUI сразу
# под root, чем городить отдельный привилегированный помощник.
#
# pkexec вычищает окружение, поэтому DISPLAY/XAUTHORITY передаются АРГУМЕНТАМИ
# из пользовательского лаунчера (netrunner-vpn-launch), а не через env.
#   $1 — DISPLAY, $2 — XAUTHORITY (может быть пустым).

if [ -n "$1" ]; then
    DISPLAY="$1"
    export DISPLAY
fi
if [ -n "$2" ]; then
    XAUTHORITY="$2"
    export XAUTHORITY
fi

# webkit от root стабильнее ходит в X11/Xwayland, чем в нативный Wayland
# (композитор обычно не пускает чужой uid). Лаунчер уже выдал root доступ к
# дисплею через `xhost +SI:localuser:root`.
GDK_BACKEND=x11
export GDK_BACKEND
WEBKIT_DISABLE_COMPOSITING_MODE=1
export WEBKIT_DISABLE_COMPOSITING_MODE

exec /usr/bin/netrunner-vpn "$@"
