diff --git a/README.md b/README.md index b82fe3b19..75e125ce5 100644 --- a/README.md +++ b/README.md @@ -384,3 +384,12 @@ $ sudo systemctl stop transmission-openvpn.service # Later ... $ sudo systemctl start transmission-openvpn.service ``` + +## Drop the default route + +Some VPNs do not override the default route, but rather set other routes with a lower metric. +This might lead to te default route (your untunneled connection) to be used. + +To drop the default route set the environment variable `DROP_DEFAULT_ROUTE` to `true`. + +*Note*: This is not compatible with all VPNs. Please check yourself if your provider overrides the default route properly. diff --git a/transmission/environment-variables.tmpl b/transmission/environment-variables.tmpl index 02737b45a..a6545d264 100644 --- a/transmission/environment-variables.tmpl +++ b/transmission/environment-variables.tmpl @@ -83,3 +83,6 @@ export PGID={{ .Env.PGID }} # Support custom web frontend {{ if .Env.TRANSMISSION_WEB_HOME }} export TRANSMISSION_WEB_HOME={{ .Env.TRANSMISSION_WEB_HOME }} {{end}} + +# Support dropping the default route after connection +export DROP_DEFAULT_ROUTE={{ .Env.DROP_DEFAULT_ROUTE }} diff --git a/transmission/start.sh b/transmission/start.sh index 7b742b1d9..f150d84dc 100755 --- a/transmission/start.sh +++ b/transmission/start.sh @@ -50,6 +50,11 @@ fi . /etc/transmission/userSetup.sh +if [ "true" = "$DROP_DEFAULT_ROUTE" ]; then + echo "DROPPING DEFAULT ROUTE" + ip r del default || exit 1 +fi + echo "STARTING TRANSMISSION" exec su --preserve-environment ${RUN_AS} -s /bin/bash -c "/usr/bin/transmission-daemon -g ${TRANSMISSION_HOME} --logfile ${TRANSMISSION_HOME}/transmission.log" &