Skip to content

Instantly share code, notes, and snippets.

@garystafford
Last active August 10, 2018 14:40
Show Gist options
  • Save garystafford/8456375 to your computer and use it in GitHub Desktop.
Save garystafford/8456375 to your computer and use it in GitHub Desktop.
Version 3 of Gist for blog post 'Revised Configuration of Git for Windows on a Corporate Network with Vagrant'. Easily add and remove Chef, git, and Vagrant proxy-related environment variables, used with for Git for Windows. Ideal when moving on and off corporate networks. Add these functions to your ~\.bashrc file, open a new Git Bash interacti…
# NOTE: THIS WILL USE YOUR HOST USER ACCOUNT CREDENTIALS FOR VAGRANT VM
# assumes $USERDOMAIN, $USERNAME, $USERDNSDOMAIN
# are existing Windows system-level environment variables
# assumes $PASSWORD, $PROXY_SERVER, $PROXY_PORT
# are existing Windows current user-level environment variables (your user)
# run 'vagrant plugin install vagrant-proxyconf' to install plugin
function proxy_on(){
export HTTP_PROXY="http://$USERNAME:$PASSWORD@$PROXY_SERVER.$USERDNSDOMAIN:$PROXY_PORT"
export HTTPS_PROXY=$HTTP_PROXY FTP_PROXY=$HTTP_PROXY ALL_PROXY=$HTTP_PROXY \
NO_PROXY="localhost,127.0.0.1,*.$USERDNSDOMAIN" \
GIT_CURL_VERBOSE=1 GIT_SSL_NO_VERIFY=1 VAGRANT_LOG=INFO
export VAGRANT_HTTP_PROXY=$HTTP_PROXY VAGRANT_HTTPS_PROXY=$HTTPS_PROXY \
VAGRANT_FTP_PROXY=$FTP_PROXY VAGRANT_NO_PROXY=$NO_PROXY \
VAGRANT_ENV_HTTP_PROXY=$HTTP_PROXY VAGRANT_ENV_HTTPS_PROXY=$HTTPS_PROXY \
VAGRANT_ENV_FTP_PROXY=$FTP_PROXY VAGRANT_ENV_NO_PROXY=$NO_PROXY \
VAGRANT_APT_HTTP_PROXY=$HTTP_PROXY VAGRANT_APT_HTTPS_PROXY=$HTTPS_PROXY \
VAGRANT_APT_FTP_PROXY=$FTP_PROXY VAGRANT_YUM_HTTP_PROXY=$HTTP_PROXY
echo -e "\nProxy-related environment variables set."
}
function proxy_off(){
variables=(
"HTTP_PROXY" "HTTPS_PROXY" "FTP_PROXY" "ALL_PROXY" "NO_PROXY" \
"GIT_CURL_VERBOSE" "GIT_SSL_NO_VERIFY" "VAGRANT_LOG" \
"VAGRANT_HTTP_PROXY" "VAGRANT_HTTPS_PROXY" "VAGRANT_FTP_PROXY" "VAGRANT_NO_PROXY" \
"VAGRANT_ENV_HTTP_PROXY" "VAGRANT_ENV_HTTPS_PROXY" "VAGRANT_ENV_FTP_PROXY" "VAGRANT_ENV_NO_PROXY" \
"VAGRANT_APT_HTTP_PROXY" "VAGRANT_APT_HTTPS_PROXY" "VAGRANT_APT_FTP_PROXY" "VAGRANT_YUM_HTTP_PROXY"
)
for i in "${variables[@]}"; do unset $i; done
echo -e "\nProxy-related environment variables removed."
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment