diff --git a/openvpn/start.sh b/openvpn/start.sh index 09c51d7ff..38cd9515f 100755 --- a/openvpn/start.sh +++ b/openvpn/start.sh @@ -56,10 +56,12 @@ then elif [[ "${OPENVPN_PROVIDER^^}" = "FREEVPN" ]] then FREEVPN_DOMAIN=${OPENVPN_CONFIG%%-*} - export OPENVPN_PASSWORD=$(curl -s https://freevpn.${FREEVPN_DOMAIN:-"me"}/accounts/ | grep Password | sed s/"^.*Password\:.... "/""/g | sed s/"<.*"/""/g) # Update FreeVPN certs /etc/openvpn/updateFreeVPN.sh + # Get password obtained from updateFreeVPN.sh + export OPENVPN_PASSWORD=$(cat /etc/freevpn_password) + rm /etc/freevpn_password elif [[ "${OPENVPN_PROVIDER^^}" = "VPNBOOK" ]] then pwd_url=$(curl -s "https://www.vpnbook.com/freevpn" | grep -m2 "Password:" | tail -n1 | cut -d \" -f2) diff --git a/openvpn/updateFreeVPN.sh b/openvpn/updateFreeVPN.sh index 70aafd37c..8c44c77b4 100755 --- a/openvpn/updateFreeVPN.sh +++ b/openvpn/updateFreeVPN.sh @@ -3,10 +3,22 @@ # Usage: # docker exec -it -w / **CONTAINER** bash -c "./etc/openvn/updateFreeVPN.sh" -DOMAIN=${OPENVPN_CONFIG%%-*} +# Use DNS env var to being able to connect to freevpn server removing +# the default content. +# DNS passed as command line argument or dockerfile doesn't work +echo "nameserver 8.8.8.8" > /etc/resolv.conf +# Debug purpose +# ping freevpn.me -c 4 + +DOMAIN=${OPENVPN_CONFIG%%-*} OPENVPN_IP=$(curl -s https://freevpn.${DOMAIN}/accounts/ | grep IP | sed s/"^.*IP\:.... "/""/g | sed s/"<.*"/""/g) + +# freevpn.me , main server, presents two servers with different address +# and related password to be used SERVER=${OPENVPN_IP%".freevpn.${DOMAIN}"} +PASSWORD=$(curl -s https://freevpn.${DOMAIN}/accounts/ | grep Password | sed s/"^.*Password\:.... "/""/g | sed s/"<.*"/""/g) +echo "${PASSWORD}" > /etc/freevpn_password DIR="/tmp/freevpn" TARGET="/etc/openvpn/freevpn"