diff options
Diffstat (limited to 'remote')
| -rwxr-xr-x | remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy | 17 |
1 files changed, 9 insertions, 8 deletions
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 |
