Repository navigation
Expand file tree
/
Copy pathproxy_toggle.sh
More file actions
executable file
·99 lines (94 loc) · 3.12 KB
/
Copy pathproxy_toggle.sh
File metadata and controls
executable file
·99 lines (94 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/sh
#=#=#=
# If you are in proxy network, you should manage your proxy setting.
#
# This script enables you to toggle proxy setting by one command.
#=#=
HTTP_PROXY_HOST="http://www-proxy.waseda.jp:8080"
HTTPS_PROXY_HOST="http://www-proxy.waseda.jp:8080"
FTP_PROXY_HOST="ftp://proxy.waseda.jp:21"
# shellrc=$HOME/.zshrc # .bashrc
shellrc=${ZSH}/rc.mine # .bashrc
cancel() {
echo "[proxy-toggle] Aborted." >&2
exit
}
trap cancel SIGINT
if [ $# = 0 ]; then
echo "Error: no args"
exit 1
else
if [ $1 = "on" ]; then
sudo sed -i.bak '/http[s]::proxy/Id' /etc/apt/apt.conf
sudo sed -i.bak '/ftp::proxy/Id' /etc/apt/apt.conf
sudo tee -a /etc/apt/apt.conf <<EOF
Acquire::http::proxy "$HTTP_PROXY_HOST/";
Acquire::https::proxy "$HTTPS_PROXY_HOST/";
Acquire::ftp::proxy "$FTP_PROXY_HOST/";
EOF
sudo sed -i.bak "/http_proxy/Id" /etc/environment
sudo sed -i.bak "/HTTP_PROXY/Id" /etc/environment
sudo sed -i.bak "/https_proxy/Id" /etc/environment
sudo sed -i.bak "/HTTPS_PROXY/Id" /etc/environment
sudo sed -i.bak "/ftp_proxy/Id" /etc/environment
sudo sed -i.bak "/FTP_PROXY/Id" /etc/environment
sudo tee -a /etc/environment <<EOF
http_proxy=$HTTP_PROXY_HOST
HTTP_PROXY=$HTTP_PROXY_HOST
https_proxy=$HTTPS_PROXY_HOST
HTTPS_PROXY=$HTTPS_PROXY_HOST
ftp_proxy=$FTP_PROXY_HOST
FTP_PROXY=$FTP_PROXY_HOST
EOF
sed -i.bak '/http_proxy/Id' $shellrc
sed -i.bak '/HTTP_PROXY/Id' $shellrc
sed -i.bak '/https_proxy/Id' $shellrc
sed -i.bak '/HTTPS_PROXY/Id' $shellrc
sed -i.bak '/ftp_proxy/Id' $shellrc
sed -i.bak '/FTP_PROXY/Id' $shellrc
tee -a $shellrc <<EOF
export http_proxy=$HTTP_PROXY_HOST
export HTTP_PROXY=$HTTP_PROXY_HOST
export https_proxy=$HTTPS_PROXY_HOST
export HTTPS_PROXY=$HTTPS_PROXY_HOST
export ftp_proxy=$FTP_PROXY_HOST
export FTP_PROXY=$FTP_PROXY_HOST
EOF
sudo npm -g config set proxy "$HTTP_PROXY_HOST"
sudo npm -g config set https-proxy "$HTTPS_PROXY_HOST"
sudo npm -g config set registry "http://registry.npmjs.org/"
else
if [ $1 = "off" ]; then
sudo sed -i.bak "/http::proxy/Id" /etc/apt/apt.conf
sudo sed -i.bak "/https::proxy/Id" /etc/apt/apt.conf
sudo sed -i.bak "/ftp::proxy/Id" /etc/apt/apt.conf
sudo sed -i.bak "/http_proxy/Id" /etc/environment
sudo sed -i.bak "/HTTP_PROXY/Id" /etc/environment
sudo sed -i.bak "/https_proxy/Id" /etc/environment
sudo sed -i.bak "/HTTPS_PROXY/Id" /etc/environment
sudo sed -i.bak "/ftp_proxy/Id" /etc/environment
sudo sed -i.bak "/FTP_PROXY/Id" /etc/environment
sed -i.bak '/http_proxy/Id' $shellrc
sed -i.bak '/HTTP_PROXY/Id' $shellrc
sed -i.bak '/https_proxy/Id' $shellrc
sed -i.bak '/HTTPS_PROXY/Id' $shellrc
sed -i.bak '/ftp_proxy/Id' $shellrc
sed -i.bak '/FTP_PROXY/Id' $shellrc
tee -a $shellrc <<EOF
export http_proxy=
export HTTP_PROXY=
export https_proxy=
export HTTPS_PROXY=
export ftp_proxy=
export FTP_PROXY=
EOF
sudo npm -g config delete proxy
sudo npm -g config delete https-proxy
sudo npm -g config set registry "https://registry.npmjs.org/"
else
echo "arg: 'on' or 'off'"
exit 1
fi
fi
fi
exit 0