diff --git a/connect_to_openvpn_with_token.sh b/connect_to_openvpn_with_token.sh index d78874e..9bc17f4 100755 --- a/connect_to_openvpn_with_token.sh +++ b/connect_to_openvpn_with_token.sh @@ -19,6 +19,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + # This function allows you to check if the required tools have been installed. check_tool() { cmd=$1 @@ -173,7 +175,7 @@ if [[ $PIA_DNS != "true" ]]; then echo "with the env var PIA_DNS=true. Example:" echo $ OVPN_SERVER_IP=\""$OVPN_SERVER_IP"\" OVPN_HOSTNAME=\""$OVPN_HOSTNAME"\" \ PIA_TOKEN=\""$PIA_TOKEN"\" CONNECTION_SETTINGS=\""$CONNECTION_SETTINGS"\" \ - PIA_PF=true PIA_DNS=true ./connect_to_openvpn_with_token.sh + PIA_PF=true PIA_DNS=true $DIR/connect_to_openvpn_with_token.sh else cp openvpn_config/openvpn_up_dnsoverwrite.sh /opt/piavpn-manual/openvpn_up.sh cp openvpn_config/openvpn_down_dnsoverwrite.sh /opt/piavpn-manual/openvpn_down.sh @@ -237,10 +239,10 @@ if [[ $PIA_PF != "true" ]]; then echo -e "$ ${green}PIA_TOKEN=$PIA_TOKEN" \ "PF_GATEWAY=$gateway_ip" \ "PF_HOSTNAME=$OVPN_HOSTNAME" \ - "./port_forwarding.sh${nc}" + "$DIR/port_forwarding.sh${nc}" echo echo "The location used must be port forwarding enabled, or this will fail." - echo "Calling the ./get_region script with PIA_PF=true will provide a filtered list." + echo "Calling the $DIR/get_region script with PIA_PF=true will provide a filtered list." exit 1 fi @@ -258,9 +260,9 @@ echo -e "Starting procedure to enable port forwarding by running the following c $ ${green}PIA_TOKEN=$PIA_TOKEN \\ PF_GATEWAY=$gateway_ip \\ PF_HOSTNAME=$OVPN_HOSTNAME \\ - ./port_forwarding.sh${nc}" + $DIR/port_forwarding.sh${nc}" PIA_TOKEN=$PIA_TOKEN \ PF_GATEWAY=$gateway_ip \ PF_HOSTNAME=$OVPN_HOSTNAME \ - ./port_forwarding.sh + $DIR/port_forwarding.sh diff --git a/connect_to_wireguard_with_token.sh b/connect_to_wireguard_with_token.sh index 8e77a35..de5eb07 100755 --- a/connect_to_wireguard_with_token.sh +++ b/connect_to_wireguard_with_token.sh @@ -19,6 +19,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + # This function allows you to check if the required tools have been installed. check_tool() { cmd=$1 @@ -172,10 +174,10 @@ if [[ $PIA_PF != "true" ]]; then echo -e "$ ${green}PIA_TOKEN=$PIA_TOKEN" \ "PF_GATEWAY=$WG_SERVER_IP" \ "PF_HOSTNAME=$WG_HOSTNAME" \ - "./port_forwarding.sh${nc}" + "$DIR/port_forwarding.sh${nc}" echo echo "The location used must be port forwarding enabled, or this will fail." - echo "Calling the ./get_region script with PIA_PF=true will provide a filtered list." + echo "Calling the $DIR/get_region script with PIA_PF=true will provide a filtered list." exit 1 fi @@ -193,9 +195,9 @@ echo -e "Starting procedure to enable port forwarding by running the following c $ ${green}PIA_TOKEN=$PIA_TOKEN \\ PF_GATEWAY=$WG_SERVER_IP \\ PF_HOSTNAME=$WG_HOSTNAME \\ - ./port_forwarding.sh${nc}" + $DIR/port_forwarding.sh${nc}" PIA_TOKEN=$PIA_TOKEN \ PF_GATEWAY=$WG_SERVER_IP \ PF_HOSTNAME=$WG_HOSTNAME \ - ./port_forwarding.sh + $DIR/port_forwarding.sh diff --git a/get_region.sh b/get_region.sh index 4b75220..4ef4f25 100755 --- a/get_region.sh +++ b/get_region.sh @@ -19,6 +19,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + # This function allows you to check if the required tools have been installed. check_tool() { cmd=$1 @@ -167,7 +169,7 @@ if [[ $selectedRegion == "none" ]]; then if [[ -z $selectedRegion ]]; then echo -e "${red}No region responded within ${MAX_LATENCY}s, consider using a higher timeout." echo "For example, to wait 1 second for each region, inject MAX_LATENCY=1 like this:" - echo -e "$ MAX_LATENCY=1 ./get_region.sh${nc}" + echo -e "$ MAX_LATENCY=1 $DIR/get_region.sh${nc}" exit 1 else echo -e "A list of servers and connection details, ordered by latency can be @@ -218,10 +220,10 @@ if [[ -z $PIA_TOKEN ]]; then if [[ -z $PIA_USER || -z $PIA_PASS ]]; then echo -e "${red}If you want this script to automatically get an authentication" echo "token, please add the variables PIA_USER and PIA_PASS. Example:" - echo -e "$ PIA_USER=p0123456 PIA_PASS=xxx ./get_region.sh${nc}" + echo -e "$ PIA_USER=p0123456 PIA_PASS=xxx $DIR/get_region.sh${nc}" exit 0 fi - ./get_token.sh + $DIR/get_token.sh PIA_TOKEN=$( awk 'NR == 1' /opt/piavpn-manual/token ) export PIA_TOKEN rm -f /opt/piavpn-manual/token @@ -232,15 +234,15 @@ fi # Connect with WireGuard and clear authentication token file and latencyList if [[ $VPN_PROTOCOL == "wireguard" ]]; then - echo "The ./get_region.sh script got started with" + echo "The $DIR/get_region.sh script got started with" echo -e "${green}VPN_PROTOCOL=wireguard${nc}, so we will automatically connect to WireGuard," echo "by running this command:" echo -e "$ ${green}PIA_TOKEN=$PIA_TOKEN \\" echo "WG_SERVER_IP=$bestServer_WG_IP WG_HOSTNAME=$bestServer_WG_hostname \\" - echo -e "PIA_PF=$PIA_PF ./connect_to_wireguard_with_token.sh${nc}" + echo -e "PIA_PF=$PIA_PF $DIR/connect_to_wireguard_with_token.sh${nc}" echo PIA_PF=$PIA_PF PIA_TOKEN=$PIA_TOKEN WG_SERVER_IP=$bestServer_WG_IP \ - WG_HOSTNAME=$bestServer_WG_hostname ./connect_to_wireguard_with_token.sh + WG_HOSTNAME=$bestServer_WG_hostname $DIR/connect_to_wireguard_with_token.sh rm -f /opt/piavpn-manual/latencyList exit 0 fi @@ -253,20 +255,20 @@ if [[ $VPN_PROTOCOL == openvpn* ]]; then serverIP=$bestServer_OT_IP serverHostname=$bestServer_OT_hostname fi - echo "The ./get_region.sh script got started with" + echo "The $DIR/get_region.sh script got started with" echo -e "${green}VPN_PROTOCOL=$VPN_PROTOCOL${nc}, so we will automatically" echo "connect to OpenVPN, by running this command:" echo -e "$ ${green}PIA_PF=$PIA_PF PIA_TOKEN=$PIA_TOKEN \\" echo " OVPN_SERVER_IP=$serverIP \\" echo " OVPN_HOSTNAME=$serverHostname \\" echo " CONNECTION_SETTINGS=$VPN_PROTOCOL \\" - echo -e " ./connect_to_openvpn_with_token.sh${nc}" + echo -e " $DIR/connect_to_openvpn_with_token.sh${nc}" echo PIA_PF=$PIA_PF PIA_TOKEN=$PIA_TOKEN \ OVPN_SERVER_IP=$serverIP \ OVPN_HOSTNAME=$serverHostname \ CONNECTION_SETTINGS=$VPN_PROTOCOL \ - ./connect_to_openvpn_with_token.sh + $DIR/connect_to_openvpn_with_token.sh rm -f /opt/piavpn-manual/latencyList exit 0 fi diff --git a/get_token.sh b/get_token.sh index 6285a26..0cb2cfb 100755 --- a/get_token.sh +++ b/get_token.sh @@ -19,6 +19,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + # This function allows you to check if the required tools have been installed. check_tool() { cmd=$1 @@ -62,7 +64,7 @@ mkdir -p /opt/piavpn-manual if [[ -z $PIA_USER || -z $PIA_PASS ]]; then echo "If you want this script to automatically get a token from the Meta" echo "service, please add the variables PIA_USER and PIA_PASS. Example:" - echo "$ PIA_USER=p0123456 PIA_PASS=xxx ./get_token.sh" + echo "$ PIA_USER=p0123456 PIA_PASS=xxx $DIR/get_token.sh" exit 1 fi diff --git a/run_setup.sh b/run_setup.sh index 44f1729..1d72d87 100755 --- a/run_setup.sh +++ b/run_setup.sh @@ -18,6 +18,9 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set -o xtrace + +DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # Check if terminal allows output, if yes, define colors for output if [[ -t 1 ]]; then @@ -98,7 +101,7 @@ while :; do export PIA_PASS # Confirm credentials and generate token - ./get_token.sh + $DIR/get_token.sh tokenLocation="/opt/piavpn-manual/token" # If the script failed to generate an authentication token, the script will exit early. @@ -252,7 +255,7 @@ For example, you can try 0.2 for 200ms allowed latency. export PREFERRED_REGION VPN_PROTOCOL="no" export VPN_PROTOCOL - VPN_PROTOCOL=no ./get_region.sh + VPN_PROTOCOL=no $DIR/get_region.sh if [[ -s /opt/piavpn-manual/latencyList ]]; then # Output the ordered list of servers that meet the latency specification $MAX_LATENCY @@ -308,7 +311,7 @@ For example, you can try 0.2 for 200ms allowed latency. # Validate in-line declaration of PREFERRED_REGION; if invalid remove input to initiate prompts echo "Region input is : $PREFERRED_REGION" export PREFERRED_REGION - VPN_PROTOCOL=no ./get_region.sh + VPN_PROTOCOL=no $DIR/get_region.sh if [[ $? != 1 ]]; then break fi @@ -391,4 +394,4 @@ echo -e "${green}PIA_DNS=$PIA_DNS${nc}" CONNECTION_READY="true" export CONNECTION_READY -./get_region.sh +$DIR/get_region.sh