🔨 Improve post up/down disabling behavior for consistency

This commit is contained in:
Franck Nijhof 2019-08-30 12:59:29 +02:00
parent a349b8da3f
commit eb8f4f15b1
No known key found for this signature in database
GPG key ID: D62583BA8AB11CA3
2 changed files with 18 additions and 4 deletions

View file

@ -198,8 +198,8 @@ Allows you to run commands after WireGuard has been started. This is useful
for modifying things like routing. If not provided, the add-on will by default
route all traffic coming in from the VPN through your home network.
If you like to disable that, setting this option to `true` (yes, true), will
disable that behavior.
If you like to disable that, setting this option to `"off"`,
will disable that behavior.
By default it executes the following:
@ -213,8 +213,8 @@ Allows you to run commands after WireGuard has been stopped. This is useful
for modifying things like routing. If not provided, the add-on will by default
remove the default rules created by the `post_up` defaults.
If you like to disable that, setting this option to `true` (yes, true), will
disable that behavior.
If you like to disable that, setting this option to `"off"`,
will disable that behavior.
By default it executes the following:

View file

@ -90,6 +90,14 @@ pre_down=$(bashio::config "server.pre_down")
pre_up=$(bashio::config "server.pre_up")
table=$(bashio::config "server.table")
# Pre Up & Down handling
if [[ "${pre_up}" = "off" ]]; then
pre_up=""
fi
if [[ "${pre_down}" = "off" ]]; then
pre_down=""
fi
# Post Up & Down defaults
post_up="iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
post_down="iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE"
@ -112,11 +120,17 @@ fi
# Load custom PostUp setting if provided
if bashio::config.has_value 'server.post_up'; then
post_up=$(bashio::config 'server.post_up')
if [[ "${post_up}" = "off" ]]; then
post_up=""
fi
fi
# Load custom PostDown setting if provided
if bashio::config.has_value 'server.post_down'; then
post_down=$(bashio::config 'server.post_down')
if [[ "${post_down}" = "off" ]]; then
post_down=""
fi
fi
# Finish up the main server configuration