LubuntuとかZorin OSとかでproxyをon/offするスクリプト

LubuntuとかZorin OSとかMX Linuxとかでproxyをon/offするスクリプト

#!/bin/bash

# http proxy configuration
proxy_host="???.220.129.4"
proxy_port=8080
ignored="localhost,127.0.0.1"

if [[ "$1" != "yes" && "$1" != "no" ]]; then
  # print usage
  echo "use \"proxy.sh yes\" or \"proxy.sh no\"."
  exit 1; 
fi

#remove proxy settings
sudo sed -i -E "/(http_proxy|https_proxy|no_proxy|HTTP_PROXY|HTTPS_PROXY|NO_PROXY)/d" /etc/environment
sudo sed -i -E "/(http::Proxy|https::Proxy)/d" /etc/apt/apt.conf

if [ "$1" = "yes" ]; then
  # add to /etc/environment
####################
  sudo sh -c "cat <<'EOF' >> /etc/environment
http_proxy=http://$proxy_host:$proxy_port/
HTTP_PROXY=http://$proxy_host:$proxy_port/
https_proxy=http://$proxy_host:$proxy_port/
HTTPS_PROXY=http://$proxy_host:$proxy_port/
no_proxy="$ignored"
NO_PROXY="$ignored"
EOF"
####################
  # add to /etc/apt/apt.conf
####################
  sudo sh -c "cat <<'EOF' >>  /etc/apt/apt.conf
Acquire::http::Proxy "http://$proxy_host:$proxy_port";
Acquire::https::Proxy "https://$proxy_host:$proxy_port";
EOF"
####################
fi

proxy_hostとproxy_portを設定して「bash proxy.sh yes」または「bash proxy.sh no」で実行。