mirror of
https://github.com/haugene/docker-transmission-openvpn.git
synced 2025-08-20 05:51:12 +02:00
Merge pull request #1104 from gpongelli/auto-update-freevpn
Auto update freevpn
This commit is contained in:
commit
c025791aad
@ -56,7 +56,10 @@ then
|
|||||||
elif [[ "${OPENVPN_PROVIDER^^}" = "FREEVPN" ]]
|
elif [[ "${OPENVPN_PROVIDER^^}" = "FREEVPN" ]]
|
||||||
then
|
then
|
||||||
FREEVPN_DOMAIN=${OPENVPN_CONFIG%%-*}
|
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" ]]
|
elif [[ "${OPENVPN_PROVIDER^^}" = "VPNBOOK" ]]
|
||||||
then
|
then
|
||||||
pwd_url=$(curl -s "https://www.vpnbook.com/freevpn" | grep -m2 "Password:" | tail -n1 | cut -d \" -f2)
|
pwd_url=$(curl -s "https://www.vpnbook.com/freevpn" | grep -m2 "Password:" | tail -n1 | cut -d \" -f2)
|
||||||
|
@ -3,28 +3,36 @@
|
|||||||
# 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"
|
||||||
|
|
||||||
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)"'
|
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
|
# Create directory if not exits
|
||||||
if [[ ! -d "$DIR" ]]
|
if [[ ! -d "$DIR" ]]
|
||||||
then
|
then
|
||||||
mkdir $DIR
|
mkdir -p $DIR
|
||||||
fi
|
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
|
# 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
|
||||||
@ -35,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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user