This unifies the codestyle across all shell scripts, and fixes many
warnings reported through shellcheck. Additionally, it improves
readability for everyone wishing to see what is actually going on.
- separated get_region and get_token into two separate scripts, allowing for independent calls to each if desired; this also allows the implementation of other features mentioned below
- implemented use of new centralized authentication server for easier automation; the new API is located at https://privateinternetaccess.com/gtoken/generateToken
- added server selection capabilities to run_setup.sh, as requested by multiple users
- added one-line call capabilities to run_setup.sh to allow easy automation
- changed PIA_AUTOCONNECT to VPN_PROTOCOL for clarity
- added AUTOCONNECT for one-line calls
- added PREFERRED_REGION for one-line calls
- added colored output to highlight important details
- added input validation for prompts in run_setup.sh
This modification will allow users that use specific distributions (example: Ubuntu 18.04) to use the OpenVPN scripts without getting any strange behavior on interface detection.
This commits will be reviewed in the next commit, to align coding style with the entire project.
The merge request from @triffid included the following commits:
* connect_to_wireguard_with_token: Check if "jq" and "curl" are available, allow script to issue multiple errors in a single invocation
* connect_to_wireguard_with_token: ensure /etc/wireguard exists
* connect_to_wireguard_with_token: only complain about ipv6 if it's not already disabled
* get_region_and_token: allow specifying maximum latency via environment variable, retain 50ms default
* connect_to_wireguard_with_token: pack tool checks within a function
* get_region_and_token: rename maximum_allowed_latency -> MAX_LATENCY