Merge pull request #1104 from gpongelli/auto-update-freevpn
Auto update freevpn
This commit is contained in:
		| @@ -56,7 +56,10 @@ then | ||||
| elif [[ "${OPENVPN_PROVIDER^^}" = "FREEVPN" ]] | ||||
| then | ||||
|     FREEVPN_DOMAIN=${OPENVPN_CONFIG%%-*} | ||||
|     export OPENVPN_PASSWORD=$(curl -s https://freevpn.${FREEVPN_DOMAIN:-"be"}/accounts/ | grep Password |  sed s/"^.*Password\:.... "/""/g | sed s/"<.*"/""/g) | ||||
|     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 | ||||
| elif [[ "${OPENVPN_PROVIDER^^}" = "VPNBOOK" ]] | ||||
| then | ||||
|     pwd_url=$(curl -s "https://www.vpnbook.com/freevpn" | grep -m2 "Password:" | tail -n1 | cut -d \" -f2) | ||||
|   | ||||
| @@ -3,28 +3,36 @@ | ||||
| # Usage: | ||||
| # 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" | ||||
| TARGET="/etc/openvpn/freevpn" | ||||
| ZIP_FILE="/tmp/freevpn.zip" | ||||
|  | ||||
| URL=`curl -s https://freevpn.me/accounts/` | ||||
| # Use the OPENVPN_CONFIG env var to obtain running domain | ||||
| URL=`curl -s https://freevpn."${DOMAIN}"/accounts/` | ||||
| REGEX='<a +.*href="(https:.*\.zip)"' | ||||
|  | ||||
| # Download FreeVPN Zip file | ||||
| [[ $URL =~ $REGEX ]] && curl -s ${BASH_REMATCH[1]} -o ${ZIP_FILE} | ||||
|  | ||||
| # Unzip file | ||||
| unzip -qo ${ZIP_FILE} -d $DIR | ||||
|  | ||||
| # Create directory if not exits | ||||
| if [[ ! -d "$DIR" ]] | ||||
| then | ||||
| 	mkdir $DIR | ||||
|         mkdir -p $DIR | ||||
| fi | ||||
|  | ||||
| # Download FreeVPN Zip file | ||||
| [[ $URL =~ $REGEX ]] && curl -s ${BASH_REMATCH[1]} -o ${ZIP_FILE} | ||||
|  | ||||
|  | ||||
| # Unzip file | ||||
| unzip -qo ${ZIP_FILE} -d $DIR | ||||
|  | ||||
|  | ||||
| # Process content file | ||||
| IFS=$'\n' | ||||
| for i in $(find ${DIR} -name "*.ovpn") | ||||
| for i in $(find ${DIR} -iname "*${SERVER}*.ovpn") | ||||
| do | ||||
| 	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 | ||||
| @@ -35,7 +43,11 @@ do | ||||
|  | ||||
| 	file=${i##*/} | ||||
| 	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 | ||||
|  | ||||
| # Delete temporary directory | ||||
|   | ||||
		Reference in New Issue
	
	Block a user