mirror of
https://github.com/haugene/docker-transmission-openvpn.git
synced 2025-08-16 19:27:07 +02:00
73 lines
1.7 KiB
Bash
Executable File
73 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
TIME_FORMAT=`date "+%Y-%m-%d %H:%M:%S"`
|
|
|
|
log() {
|
|
printf "${TIME_FORMAT} %b\n" "$*" > /dev/stderr;
|
|
}
|
|
|
|
fatal_error() {
|
|
printf "${TIME_FORMAT} \e[41mERROR:\033[0m %b\n" "$*" >&2;
|
|
exit 1
|
|
}
|
|
|
|
# check for utils
|
|
script_needs() {
|
|
command -v $1 >/dev/null 2>&1 || fatal_error "This script requires $1 but it's not installed. Please install it and run again."
|
|
}
|
|
|
|
script_init() {
|
|
log "Checking curl installation"
|
|
script_needs curl
|
|
log "Checking unzip installation"
|
|
script_needs unzip
|
|
}
|
|
|
|
adjust_configs() {
|
|
# Change extension to .ovpn
|
|
for i in *.conf; do
|
|
mv -- "$i" "${i%.conf}.ovpn"
|
|
done
|
|
|
|
log "Checking line endings"
|
|
sed -i 's/^M$//' *.ovpn
|
|
# Update configs with correct options
|
|
log "Updating configs for docker-transmission-openvpn"
|
|
sed -i 's=auth-user-pass=auth-user-pass /config/openvpn-credentials.txt=g' *.ovpn
|
|
sed -i 's/ping 15/inactive 3600\
|
|
ping 10/g' *.ovpn
|
|
sed -i 's/ping-restart 0/ping-exit 60/g' *.ovpn
|
|
sed -i 's/ping-timer-rem//g' *.ovpn
|
|
|
|
# Remove a few lines that break things for us
|
|
sed -i '/update-resolv-conf/d' *.ovpn
|
|
}
|
|
|
|
# If the script is called from elsewhere
|
|
cd "${0%/*}"
|
|
script_init
|
|
|
|
log "Removing existing configs"
|
|
find . ! -name '*.sh' -type f -delete
|
|
|
|
# Instructions and download link was found here:
|
|
# https://www.perfect-privacy.com/en/manuals/linux_openvpn_terminal
|
|
ovpn_zip="https://www.perfect-privacy.com/downloads/openvpn/get?system=linux"
|
|
zip_file="ovpn.zip"
|
|
log "Downloading openvpn configs"
|
|
curl $ovpn_zip -o $zip_file
|
|
|
|
log "Extracting openvpn configs"
|
|
unzip -j $zip_file
|
|
rm $zip_file
|
|
|
|
adjust_configs
|
|
|
|
if [[ ! -z $selected ]]
|
|
then
|
|
echo ${selected}
|
|
fi
|
|
|
|
cd "${0%/*}"
|