run 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/with-contenv bash
  2. # Needed for the variables defined
  3. source /etc/scripts/openvpn-config-validation.sh
  4. echo "[OpenVPN] using provider: ${OPENVPN_PROVIDER}" | ts '%Y-%m-%d %H:%M:%S'
  5. echo "[OpenVPN] Start Script: /usr/sbin/openvpn --reneg-sec 0 --disable-occ --auth-nocache --mute-replay-warnings --pull-filter ignore 'ping' --pull-filter ignore 'ping-restart' --pull-filter ignore 'route-ipv6' --pull-filter ignore 'ifconfig-ipv6 --pull-filter ignore 'tun-ipv6' --pull-filter ignore 'dhcp-option DNS6' --pull-filter ignore 'reneg-sec' --pull-filter ignore 'persist-tun' --pull-filter ignore 'block-outside-dns' ${OPENVPN_OPTIONS} --config ${VPN_CONFIG}" | ts '%Y-%m-%d %H:%M:%S'
  6. if [[ "${DEBUG}" == "true" ]]; then
  7. echo "[OpenVPN] Contents of ovpn file ${VPN_CONFIG} as follows..." | ts '%Y-%m-%d %H:%M:%S'; cat "${VPN_CONFIG}"
  8. echo "[OpenVPN] Adding ${NAME_SERVER_ITEM} to /etc/resolv.conf" | ts '%Y-%m-%d %H:%M:%S'
  9. if [[ "${VPN_PROVIDER}" == "pia" ]]; then
  10. echo "[OpenVPN] PIA config files available as follows..." | ts '%Y-%m-%d %H:%M:%S'; cat "${VPN_PROVIDER_CONFIGS}/list.txt" | grep ".ovpn" | tr '\n' '|' | sed 's/\b.ovpn\b//g'
  11. fi
  12. if [[ "${VPN_PROVIDER}" == "surfshark" ]]; then
  13. echo "[OpenVPN] Surfshark config files available as follows..." | ts '%Y-%m-%d %H:%M:%S'; cat "${VPN_PROVIDER_CONFIGS}/list.txt" | grep "_${OPENVPN_PROTOCOL,,}.ovpn" | tr '\n' '|' | sed 's/\b.ovpn\b//g'
  14. fi
  15. fi
  16. /usr/sbin/openvpn \
  17. --reneg-sec 0 \
  18. --disable-occ \
  19. --auth-nocache \
  20. --mute-replay-warnings \
  21. --pull-filter ignore 'route-ipv6' \
  22. --pull-filter ignore 'ifconfig-ipv6' \
  23. --pull-filter ignore 'tun-ipv6' \
  24. --pull-filter ignore 'dhcp-option DNS6' \
  25. --pull-filter ignore 'reneg-sec' \
  26. --pull-filter ignore 'persist-tun' \
  27. --pull-filter ignore 'block-outside-dns' \
  28. ${OPENVPN_OPTIONS} --config "${VPN_CONFIG}"
  29. echo "[tvheadend] Public IP: $(curl -s ifconfig.me)" | ts '%Y-%m-%d %H:%M:%S'