From ecbe8fddf4451615d0222422762e812d0f93d7a0 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 26 Oct 2015 10:44:11 +0100 Subject: [redsocks] Only check if proxy if needed when mode is set to "auto" --- .../data/opt/openslx/scripts/systemd-setup_proxy | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy b/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy index 86b19e97..97ef8225 100755 --- a/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy +++ b/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy @@ -16,17 +16,18 @@ PROXY=off if [ "$SLX_PROXY_MODE" == "on" ]; then PROXY=on elif [ "$SLX_PROXY_MODE" == "auto" -a -n "$SLX_PXE_CLIENT_IP" ]; then - [[ "$SLX_PXE_CLIENT_IP" =~ ^10\. ]] && PROXY=on - [[ "$SLX_PXE_CLIENT_IP" =~ ^192\.168\. ]] && PROXY=on - [[ "$SLX_PXE_CLIENT_IP" =~ ^172\.[123][0-9]\. ]] && PROXY=on + # auto detection: check if it is actually needed + RET=$(curl -m 2 -s http://www.google.de/ | grep -o google | wc -l) + if [ $RET -lt 20 ]; then + sleep 4 + RET=$(curl -m 5 -s http://www.google.de/ | grep -o google | wc -l) + fi + [ $RET -gt 20 ] && echo "Auto detect: Internet is reachable without proxy." && exit 0 + PROXY=on fi [ "$PROXY" == "off" ] && echo "Proxy mode not required." && exit 0 - -# wants a proxy from the config file and the client's ip, check if it is actually needed -/opt/openslx/bin/ping -w 5 -c 3 www.google.de -RET=$? -[ $RET -eq 0 ] && echo "Internet is reachable without proxy." && exit 0 +echo "Setting up transparent proxying via $SLX_PROXY_IP" sed -i "s/%%PROXY_IP%%/$SLX_PROXY_IP/g;s/%%PROXY_PORT%%/$SLX_PROXY_PORT/g;s/%%PROXY_TYPE%%/$SLX_PROXY_TYPE/g" /etc/redsocks.conf -- cgit v1.2.3-55-g7522