X-Git-Url: https://code.delx.au/osx-proxyconf/blobdiff_plain/547a899096639937bb0dee69a2b8ea03786c8b24..deee4d1a95b776ad1234873fc2e33fd6817a0d81:/proxyconf.sh diff --git a/proxyconf.sh b/proxyconf.sh index 5c49ada..be37736 100755 --- a/proxyconf.sh +++ b/proxyconf.sh @@ -1,28 +1,27 @@ #!/bin/bash -if [ "$(sysconfig -q "HTTPEnable")" = "1" ]; then - host="$(sysconfig -q "HTTPProxy")" - port="$(sysconfig -q "HTTPPort")" - echo "export http_proxy=\"http://${host}:${port}\"" -else - echo "unset http_proxy" -fi -if [ "$(sysconfig -q "HTTPSEnable")" = "1" ]; then - host="$(sysconfig -q "HTTPSProxy")" - port="$(sysconfig -q "HTTPSPort")" - echo "export https_proxy=\"http://${host}:${port}\"" -else - echo "unset https_proxy" -fi -if [ "$(sysconfig -q "FTPEnable")" = "1" ]; then - host="$(sysconfig -q "FTPProxy")" - port="$(sysconfig -q "FTPPort")" - echo "export ftp_proxy=\"http://${host}:${port}\"" -else - echo "unset ftp_proxy" -fi -if [ -n "${host}" ]; then - no_proxy="$(sysconfig ExceptionsList | tr '\n' ',' | sed 's/,$//g')" +function printEnvironment() { + local proxy_type="$1" + local environment_variable="$2" + local uri_prefix="${3:-http}" + local host port + + if [ "$(sysconfig -q "${proxy_type}Enable")" = "1" ]; then + host="$(sysconfig -q "${proxy_type}Proxy")" + port="$(sysconfig -q "${proxy_type}Port")" + echo "export ${environment_variable}='${uri_prefix}://${host}:${port}'" + else + echo "unset ${environment_variable}" + fi + +} +printEnvironment "HTTP" "http_proxy" +printEnvironment "HTTPS" "https_proxy" +printEnvironment "FTP" "ftp_proxy" +printEnvironment "SOCKS" "socks_proxy" "socks" + +no_proxy="$(sysconfig -q ExceptionsList | tr '\n' ',' | sed 's/,$//g')" +if [ ! -z "${no_proxy}" ]; then echo "export no_proxy=\"${no_proxy}\"" else echo "unset no_proxy"