From 2d63b19af71c581e4d46461665120cc627ab5fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ja=CC=84nis=20Jansons?= Date: Fri, 18 Dec 2020 01:40:20 +0200 Subject: [PATCH] Allow passing credentials from environment --- README.md | 2 +- run-vpn.sh | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1069795..5111c31 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Rename routes.txt.sample to routes.txt or create an empty routes.txt and add sub ## Usage ``` -sudo ./run-vpn.sh +sudo -E ./run-vpn.sh ``` In case of disconnect, it will try reconnecting after 3 seconds. You can stop it by pressing `CTRL+C` or killing the script. \ No newline at end of file diff --git a/run-vpn.sh b/run-vpn.sh index 4375914..9e08bd6 100755 --- a/run-vpn.sh +++ b/run-vpn.sh @@ -1,10 +1,26 @@ #!/bin/bash -SERVER=$(security find-generic-password -l "Openconnect VPN Server" -w) -USERNAME=$(security find-generic-password -l "Openconnect Username" -w) -SEED=$(security find-generic-password -l "Openconnect TOTP Seed" -w) -PASSWORD=$(security find-generic-password -l "Openconnect Account Password" -w) +# Read from keychain on macOS by default +if [[ "$OSTYPE" == "darwin"* ]]; then + SERVER=$(security find-generic-password -l "Openconnect VPN Server" -w) + USERNAME=$(security find-generic-password -l "Openconnect Username" -w) + SEED=$(security find-generic-password -l "Openconnect TOTP Seed" -w) + PASSWORD=$(security find-generic-password -l "Openconnect Account Password" -w) +fi +# Allow reading from environment +if [[ -z "$OC_SERVER" ]]; then :; else + SERVER="$OC_SERVER" +fi +if [[ -z "$OC_USERNAME" ]]; then :; else + USERNAME="$OC_USERNAME" +fi +if [[ -z "$OC_SEED" ]]; then :; else + SEED="$OC_SEED" +fi +if [[ -z "$OC_PASSWORD" ]]; then :; else + PASSWORD="$OC_PASSWORD" +fi SCRIPT=`realpath $0` SCRIPTPATH=`dirname $SCRIPT`