Um unter Debian in wechselnden Umgebungen die Proxy-Unterstützung möglichst unkompliziert ein- bzw. ausschalten zu können, habe ich mir für apt (proxy-apt.sh), git (proxy-git.sh) und npm (proxy-npm.sh) Skripte erstellt.
Aufgerufen werden die Skripte dann jeweils mit der Option on oder off. Im Skript ist jeweils die Variable PROXY_URL an die jeweilige Umgebung anzupassen.
Beispiele:
sh ./proxy-apt.sh on sh ./proxy-git.sh on sh ./proxy-npm.sh on
APT : proxy-apt.sh
#!/bin/sh # Enable or disable proxy support for apt. # Usage: ./proxy-apt.sh on|off # PROXY_URL=http://proxy.company-network.lan:8080 APT_CONFIGFILE_PROXY=/etc/apt/apt.conf.d/02-proxy # echo APT proxy support script. # case "$1" in [Oo][Nn]) echo Enabling proxy for ${PROXY_URL}. cat >${APT_CONFIGFILE_PROXY} <<EOT # Set proxy server for apt Acquire::http::proxy "${PROXY_URL}"; Acquire::https::proxy "${PROXY_URL}"; EOT ;; [Oo][Ff][Ff]) echo Disabling proxy support. [ -e "${APT_CONFIGFILE_PROXY}" ] && rm "${APT_CONFIGFILE_PROXY}" ;; *) echo Please supply argument ON or OFF to turn proxy support on or off. echo Usage: $0 "ON|OFF" echo Example: $0 ON ;; esac #
GIT : proxy-git.sh
#!/bin/sh # Enable or disable proxy support for git. # Usage: ./proxy-git.sh on|off # PROXY_URL=http://proxy.company-network.lan:8080 # echo GIT proxy support script. # git config --global --get http.proxy # case "$1" in [Oo][Nn]) echo Enabling proxy for ${PROXY_URL}. git config --global http.proxy ${PROXY_URL} git config --global https.proxy ${PROXY_URL} ;; [Oo][Ff][Ff]) echo Disabling proxy support. git config --global --unset http.proxy git config --global --unset https.proxy ;; *) echo Please supply argument ON or OFF to turn proxy support on or off. echo Usage: $0 "ON|OFF" echo Example: $0 ON ;; esac #
NPM : proxy-npm.sh
#!/bin/sh # Enable or disable proxy support for npm. # Usage: ./proxy-npm.sh on|off # PROXY_URL=http://proxy.company-network.lan:8080 # echo NPM proxy support script. # case "$1" in [Oo][Nn]) echo Enabling proxy for ${PROXY_URL}. npm config set proxy ${PROXY_URL} npm config set https-proxy ${PROXY_URL} ;; [Oo][Ff][Ff]) echo Disabling proxy support. npm config delete proxy npm config delete https-proxy ;; *) echo Please supply argument ON or OFF to turn proxy support on or off. echo Usage: $0 "ON|OFF" echo Example: $0 ON ;; esac #