VPNBOOK password is provided as a picture/image. The http://api.ocr.space/parse/image service erroneously sees a space between certain character combinations. Since passwords generally do not contain spaces, this extra awk expression removes the space.
After resolving an issue with the default.ovpn symlink, it was bugging me that each time the container ran it would download all of the NordVPN configs. After a bit of research I found a url where I could download just one ovpn file. A bit of rework and now only downloads the applicable config based off of NordVPNs api. No more 4000+ configs.
User can configure this using either NORDVPN_COUNTRY to connect to the best server in that country or a specific config using the OPENVPN_CONFIG parameter. If neither are specified config will be selected based off of NordVPN api and if both are specified it will connect to OPENVPN_CONFIG server first using the api to decide on a backup 'default.ovpn' config in case it fails.
In my rewriting of this I also realised there was no need for the updateConfigs.sh script anymore, but to keep everything in keeping I replaced the contents of the updateConfigs.sh script with the NordVPN_selector one and removed the latter.
Added NordVPN Variables to docker file
Update start.sh
Update NordVPN.sh
Update NordVPN configs on run
NordVPN was missing server files. Have updated to run the nordvpn updateConfigs.sh script on start
Update NordVPN_Server_Selector.sh
Update start.sh
Moved Selector script to NordVPN directory
Update NordVPN_Server_Selector.sh
Update NordVPN_Server_Selector.sh
Update updateConfigs.sh
Update updateConfigs.sh
Added auto-update of NordVPN
container will auto-update NordVPN files on start. This increases the start up time by a bit. But ensures that all configs are present for the auto-selector script
Create default.ovpn
Update default.ovpn
New UFW_DISABLE_IPTABLES_REJECT option that hacks ufw to allow the
prevention of the use of the REJECT iptables target, as this is not
available on some NAS platforms (such as the Synology).
Extended LOCAL_NETWORK to support comma seperated list of /CIDR.
Minor firewall cleanups. Removed specified TCP in range allow. No point, we don't specify tcp/udp anywhere else.
Formatting changes (BASH 3+ style).
Cleaned removed external [ ] calls. Use builtin [[ ]].
Use ${VAR,,} to lowercase isntead of TR.
UFW_EXTRA_PORTS Allows for exposing of ports when binding to the image for the vpn functionality. Accepts comma seperated list.
Changed from /bin/sh to /bin/bash. If you got bash, why use busybox? Plus busybox doesn't allow for advanced string manipulations.
Added python2.7 and pysqlite2. torrentToMedia from the nzbToMedia package needs python2.7.
Instead of bailing when the OpenVPN user and password aren't defined in the environment, first check and see if we already have a /config/openvpn-credentials.txt file from a persistent volume.