47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
# ─< proxy config >───────────────────────────────────────────────────────────────────────
|
|
proxy() {
|
|
local ip="172.22.11.69"
|
|
local port="8080"
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: proxy [--show|--set]"
|
|
echo " --show Show current proxy settings"
|
|
echo " --set Set proxy to $ip:$port"
|
|
return 0
|
|
fi
|
|
|
|
case "$1" in
|
|
--show)
|
|
echo "These are your proxy configurations:"
|
|
echo "http: $http_proxy, HTTP: $HTTP_PROXY"
|
|
echo "https: $https_proxy, HTTPS: $HTTPS_PROXY"
|
|
;;
|
|
--set)
|
|
# Check if the IP and port are reachable
|
|
if nc -z -w5 $ip $port; then
|
|
# If reachable, set the proxy environment variables
|
|
export http_proxy="http://$ip:$port"
|
|
export https_proxy="http://$ip:$port"
|
|
export HTTP_PROXY="http://$ip:$port"
|
|
export HTTPS_PROXY="http://$ip:$port"
|
|
echo_info "Proxy set to: http://$ip:$port" || echo "Proxy set to: http://$ip:$port"
|
|
else
|
|
echo_error "IP $ip with port $port is not reachable." || echo "IP $ip with port $port is not reachable."
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Invalid option! Use --show or --set."
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# ─< unset proxy >────────────────────────────────────────────────────────────────────────
|
|
noproxy() {
|
|
unset {HTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxy}
|
|
}
|
|
|
|
if ping -w2 -q swu.dom; then
|
|
proxy
|
|
else
|
|
noproxy
|
|
fi
|