Use OPENVPN_CONFIG to get right FreeVPN domain; do the file name substitution when moving to final folder

This commit is contained in:
Gabriele Pongelli
2020-03-30 14:36:34 +02:00
parent 78aa883aa4
commit f7576b9575

View File

@@ -3,12 +3,17 @@
# Usage: # Usage:
# docker exec -it -w / **CONTAINER** bash -c "./etc/openvn/updateFreeVPN.sh" # docker exec -it -w / **CONTAINER** bash -c "./etc/openvn/updateFreeVPN.sh"
DOMAIN=${OPENVPN_CONFIG%%-*}
OPENVPN_IP=$(curl -s https://freevpn.${DOMAIN}/accounts/ | grep IP | sed s/"^.*IP\:.... "/""/g | sed s/"<.*"/""/g)
SERVER=${OPENVPN_IP%".freevpn.${DOMAIN}"}
DIR="/tmp/freevpn" DIR="/tmp/freevpn"
TARGET="/etc/openvpn/freevpn" TARGET="/etc/openvpn/freevpn"
ZIP_FILE="/tmp/freevpn.zip" ZIP_FILE="/tmp/freevpn.zip"
# Use the OPENVPN_CONFIG env var to obtain running domain # Use the OPENVPN_CONFIG env var to obtain running domain
URL=`curl -s https://freevpn."${OPENVPN_CONFIG%%-*}"/accounts/` URL=`curl -s https://freevpn."${DOMAIN}"/accounts/`
REGEX='<a +.*href="(https:.*\.zip)"' REGEX='<a +.*href="(https:.*\.zip)"'
# Create directory if not exits # Create directory if not exits
@@ -20,13 +25,14 @@ fi
# Download FreeVPN Zip file # Download FreeVPN Zip file
[[ $URL =~ $REGEX ]] && curl -s ${BASH_REMATCH[1]} -o ${ZIP_FILE} [[ $URL =~ $REGEX ]] && curl -s ${BASH_REMATCH[1]} -o ${ZIP_FILE}
# Unzip file # Unzip file
unzip -qo ${ZIP_FILE} -d $DIR unzip -qo ${ZIP_FILE} -d $DIR
# Process content file # Process content file
IFS=$'\n' IFS=$'\n'
for i in $(find ${DIR} -name "*.ovpn") for i in $(find ${DIR} -iname "*${SERVER}*.ovpn")
do do
sed -i 's/route 0.0.0.0 0.0.0.0/redirect-gateway/' $i sed -i 's/route 0.0.0.0 0.0.0.0/redirect-gateway/' $i
sed -i 's/auth-user-pass/auth-user-pass \/config\/openvpn-credentials.txt/' $i sed -i 's/auth-user-pass/auth-user-pass \/config\/openvpn-credentials.txt/' $i
@@ -37,7 +43,11 @@ do
file=${i##*/} file=${i##*/}
file=${file/FreeVPN./} file=${file/FreeVPN./}
mv $i ${TARGET}/${file} > /dev/null 2>&1
file_name=$(basename $file)
final_file=$DOMAIN-${file_name#*-}
mv $i ${TARGET}/${final_file} > /dev/null 2>&1
done done
# Delete temporary directory # Delete temporary directory