mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-09 17:31:03 +01:00
42 lines
1.3 KiB
Plaintext
Executable File
42 lines
1.3 KiB
Plaintext
Executable File
#!/usr/bin/with-contenv bashio
|
|
# shellcheck shell=bash
|
|
set -e
|
|
# ==============================================================================
|
|
|
|
# Wait for transmission to become available
|
|
bashio::net.wait_for 8080 localhost 900
|
|
|
|
bashio::log.info "Starting NGinx..."
|
|
|
|
# Check vpn is working
|
|
if [ -f /currentip ]; then
|
|
nginx || nginx -s reload &
|
|
while true; do
|
|
# Get vpn ip
|
|
if ! bashio::config.true 'wireguard_enabled' && bashio::config.true 'openvpn_alt_mode'; then
|
|
curl -s ipecho.net/plain > /vpnip
|
|
else
|
|
curl -s ipecho.net/plain --interface tun0 > /vpnip
|
|
fi
|
|
|
|
# Verify ip has changed
|
|
if [[ "$(cat /vpnip)" = "$(cat /currentip)" ]]; then
|
|
bashio::log.fatal "VPN is not properly configured. Your ip is exposed. Please fix this, or do not use the vpn alt mode"
|
|
bashio::exit.nok
|
|
fi
|
|
|
|
# Get ip location
|
|
COUNTRY=$(curl -s https://ipinfo.io/$(cat /vpnip) | grep country -i -m 1 | cut -d ':' -f 2 | xargs | awk 'gsub(/,$/,x)' || true)
|
|
|
|
# Inform by message
|
|
bashio::log.info "VPN is up and running with ip $(cat /vpnip), based in country : $COUNTRY"
|
|
|
|
# Check every 15m
|
|
sleep 15m
|
|
|
|
true
|
|
done
|
|
else
|
|
nginx || nginx -s reload
|
|
fi
|