diff --git a/DockerEnv b/DockerEnv index 9f5c2336c..3ba90b2f9 100644 --- a/DockerEnv +++ b/DockerEnv @@ -5,6 +5,7 @@ #OPENVPN_PASSWORD= #LOCAL_NETWORK= #ENABLE_UFW=false +#UFW_EXTRA_PORTS= #TRANSMISSION_ALT_SPEED_DOWN=50 #TRANSMISSION_ALT_SPEED_ENABLED=false #TRANSMISSION_ALT_SPEED_TIME_BEGIN=540 diff --git a/Dockerfile b/Dockerfile index 2c6160ce2..3483bc846 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,7 @@ RUN apt-get update \ && echo "deb http://build.openvpn.net/debian/openvpn/stable xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list \ && apt-get update \ && apt-get install -y sudo transmission-cli transmission-common transmission-daemon curl rar unrar zip unzip ufw iputils-ping openvpn \ + python2.7 python2.7-pysqlite2 && ln -sf /usr/bin/python2.7 /usr/bin/python2 \ && wget https://github.com/Secretmapper/combustion/archive/release.zip \ && unzip release.zip -d /opt/transmission-ui/ \ && rm release.zip \ @@ -105,6 +106,7 @@ ENV OPENVPN_USERNAME=**None** \ TRANSMISSION_WATCH_DIR_ENABLED=true \ TRANSMISSION_HOME=/data/transmission-home \ ENABLE_UFW=false \ + UFW_EXTRA_PORTS= \ TRANSMISSION_WEB_UI= \ PUID= \ PGID= \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index ba8eb3f9a..10941c0fd 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -102,6 +102,7 @@ ENV OPENVPN_USERNAME=**None** \ TRANSMISSION_WATCH_DIR_ENABLED=true \ TRANSMISSION_HOME=/data/transmission-home \ ENABLE_UFW=false \ + UFW_EXTRA_PORTS= \ TRANSMISSION_WEB_UI=\ PUID=\ PGID=\ diff --git a/openvpn/start.sh b/openvpn/start.sh index ee6bde4f9..4044cd05c 100755 --- a/openvpn/start.sh +++ b/openvpn/start.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash vpn_provider="$(echo $OPENVPN_PROVIDER | tr '[A-Z]' '[a-z]')" vpn_provider_configs="/etc/openvpn/$vpn_provider" if [ ! -d "$vpn_provider_configs" ]; then @@ -67,6 +67,12 @@ if [ "true" = "$ENABLE_UFW" ]; then eval $(/sbin/ip r l m 0.0.0.0 | awk '{if($5!="tun0"){print "GW="$3"\nINT="$5; exit}}') echo "allowing access to $TRANSMISSION_RPC_PORT from $GW" ufw allow proto tcp from $GW to any port $TRANSMISSION_RPC_PORT + if [ ! -z "${UFW_EXTRA_PORTS}" ]; then + for port in ${UFW_EXTRA_PORTS//,/ }; do + echo "allowing access to ${port} from $GW" + ufw allow proto tcp from $GW to any port ${port} + done + fi fi if [ -n "${LOCAL_NETWORK-}" ]; then @@ -77,6 +83,12 @@ if [ -n "${LOCAL_NETWORK-}" ]; then if [ "true" = "$ENABLE_UFW" ]; then echo "allowing access to $TRANSMISSION_RPC_PORT from $LOCAL_NETWORK" ufw allow proto tcp from $LOCAL_NETWORK to any port $TRANSMISSION_RPC_PORT + if [ ! -z "${UFW_EXTRA_PORTS}" ]; then + for port in ${UFW_EXTRA_PORTS//,/ }; do + echo "allowing access to ${port} from $LOCAL_NETWORK" + ufw allow proto tcp from $LOCAL_NETWORK to any port ${port} + done + fi fi fi fi