Skip to content
This repository was archived by the owner on Aug 22, 2021. It is now read-only.

Commit 4819963

Browse files
committed
optimise set_docker
1 parent be1c2a5 commit 4819963

File tree

2 files changed

+55
-25
lines changed

2 files changed

+55
-25
lines changed

src/v2script.sh

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,30 @@ get_docker() {
169169
fi
170170
}
171171

172+
set_docker() {
173+
if [[ $(read_json /usr/local/etc/v2script/config.json '.v2ray.installed') == "true" ]]; then
174+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy)" ]; then
175+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy) 2>/dev/null) 2>/dev/null
176+
${sudoCmd} docker run -d --restart=always -v /usr/local/etc/Caddyfile:/etc/Caddyfile -v $HOME/.caddy:/root/.caddy -p 80:80 abiosoft/caddy
177+
fi
178+
fi
179+
180+
if [[ $(read_json /usr/local/etc/v2script/config.json '.mtproto.installed') == "true" ]]; then
181+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg)" ]; then
182+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg) 2>/dev/null) 2>/dev/null
183+
# start mtproto ## reference https://raw.githubusercontent.com/9seconds/mtg/master/run.sh
184+
${sudoCmd} docker run -d --restart=always --name mtg --ulimit nofile=51200:51200 -p 127.0.0.1:3128:3128 nineseconds/mtg:latest run "$(read_json /usr/local/etc/v2script/config.json '.mtproto.secret')"
185+
fi
186+
fi
187+
188+
if [[ $(read_json /usr/local/etc/v2script/config.json '.sub.api.installed') == "true" ]]; then
189+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter)" ]; then
190+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter) 2>/dev/null) 2>/dev/null
191+
${sudoCmd} docker run -d --restart=always -p 127.0.0.1:25500:25500 -v /usr/local/etc/v2script/pref.ini:/base/pref.ini tindy2013/subconverter:latest
192+
fi
193+
fi
194+
}
195+
172196
get_proxy() {
173197
if [ ! -f "/usr/local/bin/tls-shunt-proxy" ]; then
174198
colorEcho ${BLUE} "tls-shunt-proxy is not installed. start installation"
@@ -323,23 +347,17 @@ EOF
323347
${sudoCmd} systemctl enable ntp
324348
${sudoCmd} systemctl start ntp
325349
${sudoCmd} systemctl enable v2ray
326-
${sudoCmd} systemctl start v2ray
350+
${sudoCmd} systemctl restart v2ray ## restart v2ray to enable new config
327351
${sudoCmd} systemctl enable docker
328-
${sudoCmd} systemctl start docker
352+
${sudoCmd} systemctl start docker ## no need to restart if docker is already on
329353
${sudoCmd} systemctl enable tls-shunt-proxy
330-
${sudoCmd} systemctl start tls-shunt-proxy
354+
${sudoCmd} systemctl restart tls-shunt-proxy ## restart tls-shunt-proxy to enable new config
331355
${sudoCmd} systemctl daemon-reload
332356
${sudoCmd} systemctl reset-failed
333357

334358
# activate caddy
335359
colorEcho ${BLUE} "Activating caddy"
336-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy) 2>/dev/null) 2>/dev/null
337-
${sudoCmd} docker run -d --restart=always -v /usr/local/etc/Caddyfile:/etc/Caddyfile -v $HOME/.caddy:/root/.caddy -p 80:80 abiosoft/caddy
338-
339-
if [[ $(read_json /usr/local/etc/v2script/config.json '.mtproto.installed') == "true" ]]; then
340-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg) 2>/dev/null) 2>/dev/null
341-
${sudoCmd} docker run -d --restart=always --name mtg --ulimit nofile=51200:51200 -p 127.0.0.1:3128:3128 nineseconds/mtg:latest run "$(read_json /usr/local/etc/v2script/config.json '.mtproto.secret')"
342-
fi
360+
set_docker
343361

344362
colorEcho ${GREEN} "安装TCP+TLS+WEB成功!"
345363
display_vmess_full
@@ -391,19 +409,7 @@ install_mtproto() {
391409
write_json "/usr/local/etc/v2script/config.json" ".mtproto.secret" "\"${secret}\""
392410
set_proxy
393411

394-
# start mtproto ## reference https://raw.githubusercontent.com/9seconds/mtg/master/run.sh
395-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg) 2>/dev/null) 2>/dev/null
396-
${sudoCmd} docker run -d --restart=always --name mtg --ulimit nofile=51200:51200 -p 127.0.0.1:3128:3128 nineseconds/mtg:latest run "${secret}"
397-
398-
if [[ $(read_json /usr/local/etc/v2script/config.json '.v2ray.installed') == "true" ]]; then
399-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy) 2>/dev/null) 2>/dev/null
400-
${sudoCmd} docker run -d --restart=always -v /usr/local/etc/Caddyfile:/etc/Caddyfile -v $HOME/.caddy:/root/.caddy -p 80:80 abiosoft/caddy
401-
fi
402-
403-
if [[ $(read_json /usr/local/etc/v2script/config.json '.sub.api.installed') == "true" ]]; then
404-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter) 2>/dev/null) 2>/dev/null
405-
${sudoCmd} docker run -d --restart=always -p 127.0.0.1:25500:25500 -v /usr/local/etc/v2script/pref.ini:/base/pref.ini tindy2013/subconverter:latest
406-
fi
412+
set_docker
407413

408414
# activate service
409415
${sudoCmd} systemctl enable docker

src/v2sub.sh

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,30 @@ get_docker() {
9292
fi
9393
}
9494

95+
set_docker() {
96+
if [[ $(read_json /usr/local/etc/v2script/config.json '.v2ray.installed') == "true" ]]; then
97+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy)" ]; then
98+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=abiosoft/caddy) 2>/dev/null) 2>/dev/null
99+
${sudoCmd} docker run -d --restart=always -v /usr/local/etc/Caddyfile:/etc/Caddyfile -v $HOME/.caddy:/root/.caddy -p 80:80 abiosoft/caddy
100+
fi
101+
fi
102+
103+
if [[ $(read_json /usr/local/etc/v2script/config.json '.mtproto.installed') == "true" ]]; then
104+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg)" ]; then
105+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=nineseconds/mtg) 2>/dev/null) 2>/dev/null
106+
# start mtproto ## reference https://raw.githubusercontent.com/9seconds/mtg/master/run.sh
107+
${sudoCmd} docker run -d --restart=always --name mtg --ulimit nofile=51200:51200 -p 127.0.0.1:3128:3128 nineseconds/mtg:latest run "$(read_json /usr/local/etc/v2script/config.json '.mtproto.secret')"
108+
fi
109+
fi
110+
111+
if [[ $(read_json /usr/local/etc/v2script/config.json '.sub.api.installed') == "true" ]]; then
112+
if [ ! "$(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter)" ]; then
113+
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter) 2>/dev/null) 2>/dev/null
114+
${sudoCmd} docker run -d --restart=always -p 127.0.0.1:25500:25500 -v /usr/local/etc/v2script/pref.ini:/base/pref.ini tindy2013/subconverter:latest
115+
fi
116+
fi
117+
}
118+
95119
set_proxy() {
96120
${sudoCmd} /bin/cp /etc/tls-shunt-proxy/config.yaml /etc/tls-shunt-proxy/config.yaml.bak 2>/dev/null
97121
wget -q https://raw.githubusercontent.com/phlinhng/v2ray-tcp-tls-web/${branch}/config/config.yaml -O /tmp/config_new.yaml
@@ -233,12 +257,12 @@ install_api() {
233257
sed -i "s/FAKECONFIGPREFIX/https:\/\/${api_domain}/g" /tmp/pref.ini
234258
mv /tmp/pref.ini /usr/local/etc/v2script/pref.ini
235259

236-
${sudoCmd} docker rm $(${sudoCmd} docker stop $(${sudoCmd} docker ps -q --filter ancestor=tindy2013/subconverter) 2>/dev/null) 2>/dev/null
237-
${sudoCmd} docker run -d --restart=always -p 127.0.0.1:25500:25500 -v /usr/local/etc/v2script/pref.ini:/base/pref.ini tindy2013/subconverter:latest
238260
write_json /usr/local/etc/v2script/config.json ".sub.api.installed" "true"
239261
write_json /usr/local/etc/v2script/config.json ".sub.api.tlsHeader" "\"${api_domain}\""
240262

263+
set_docker
241264
set_proxy
265+
242266
${sudoCmd} systemctl start tls-shunt-proxy
243267
${sudoCmd} systemctl daemon-reload
244268

0 commit comments

Comments
 (0)