* Provision of DIP Support
Added dedicated IP support, including DIP_TOKEN for one-line calls and prompts through run_setup.sh.
Adjusted package dependency response for wireguard to list the necessary package (wireguard-tools) to utilize wg-quick.
Updated README.md to clarify package dependencies and include DIP_TOKEN.
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 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