forked from MinerPr0xy/MinerProxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
227 lines (200 loc) · 6.95 KB
/
install.sh
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
#!/bin/bash
stty erase ^H
red='\e[91m'
green='\e[92m'
yellow='\e[94m'
magenta='\e[95m'
cyan='\e[96m'
none='\e[0m'
_red() { echo -e ${red}$*${none}; }
_green() { echo -e ${green}$*${none}; }
_yellow() { echo -e ${yellow}$*${none}; }
_magenta() { echo -e ${magenta}$*${none}; }
_cyan() { echo -e ${cyan}$*${none}; }
# Root
[[ $(id -u) != 0 ]] && echo -e "\n 请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}\n" && exit 1
cmd="apt-get"
sys_bit=$(uname -m)
case $sys_bit in
'amd64' | x86_64) ;;
*)
echo -e "
这个 ${red}安装脚本${none} 不支持你的系统。 ${yellow}(-_-) ${none}
备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统
" && exit 1
;;
esac
if [[ $(command -v apt-get) || $(command -v yum) ]] && [[ $(command -v systemctl) ]]; then
if [[ $(command -v yum) ]]; then
cmd="yum"
fi
else
echo -e "
这个 ${red}安装脚本${none} 不支持你的系统。 ${yellow}(-_-) ${none}
备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统
" && exit 1
fi
if [ ! -d "/etc/MinerProxy/" ]; then
mkdir /etc/MinerProxy/
fi
error() {
echo -e "\n$red 输入错误!$none\n"
}
install_download() {
installPath="/etc/MinerProxy"
$cmd update -y
if [[ $cmd == "apt-get" ]]; then
$cmd install -y lrzsz git zip unzip curl wget supervisor
service supervisor restart
else
$cmd install -y epel-release
$cmd update -y
$cmd install -y lrzsz git zip unzip curl wget supervisor
systemctl enable supervisord
service supervisord restart
fi
[ -d ./MinerProxy ] && rm -rf ./MinerProxy
git clone https://github.com/MinerPr0xy/MinerProxy.git
if [[ ! -d ./MinerProxy ]]; then
echo
echo -e "$red 克隆脚本仓库出错了...$none"
echo
echo -e " 请尝试自行安装 Git: ${green}$cmd install -y git $none 之后再安装此脚本"
echo
exit 1
fi
cp -rf ./MinerProxy /etc/
if [[ ! -d $installPath ]]; then
echo
echo -e "$red 复制文件出错了...$none"
echo
echo -e " 使用最新版本的Ubuntu或者CentOS再试试"
echo
exit 1
fi
}
start_write_config() {
echo
echo "下载完成,开启守护"
echo
chmod a+x $installPath/MinerProxy_6.0.3_linux
if [ -d "/etc/supervisor/conf/" ]; then
rm /etc/supervisor/conf/MinerProxy.conf -f
echo "[program:MinerProxy]" >>/etc/supervisor/conf/MinerProxy.conf
echo "command=${installPath}/MinerProxy_6.0.3_linux" >>/etc/supervisor/conf/MinerProxy.conf
echo "directory=${installPath}/" >>/etc/supervisor/conf/MinerProxy.conf
echo "autostart=true" >>/etc/supervisor/conf/MinerProxy.conf
echo "autorestart=true" >>/etc/supervisor/conf/MinerProxy.conf
elif [ -d "/etc/supervisor/conf.d/" ]; then
rm /etc/supervisor/conf.d/MinerProxy.conf -f
echo "[program:MinerProxy]" >>/etc/supervisor/conf.d/MinerProxy.conf
echo "command=${installPath}/MinerProxy_6.0.3_linux" >>/etc/supervisor/conf.d/MinerProxy.conf
echo "directory=${installPath}/" >>/etc/supervisor/conf.d/MinerProxy.conf
echo "autostart=true" >>/etc/supervisor/conf.d/MinerProxy.conf
echo "autorestart=true" >>/etc/supervisor/conf.d/MinerProxy.conf
elif [ -d "/etc/supervisord.d/" ]; then
rm /etc/supervisord.d/MinerProxy.ini -f
echo "[program:MinerProxy]" >>/etc/supervisord.d/MinerProxy.ini
echo "command=${installPath}/MinerProxy_6.0.3_linux" >>/etc/supervisord.d/MinerProxy.ini
echo "directory=${installPath}/" >>/etc/supervisord.d/MinerProxy.ini
echo "autostart=true" >>/etc/supervisord.d/MinerProxy.ini
echo "autorestart=true" >>/etc/supervisord.d/MinerProxy.ini
else
echo
echo "----------------------------------------------------------------"
echo
echo " Supervisor安装目录没了,安装失败"
echo
exit 1
fi
if [[ $cmd == "apt-get" ]]; then
ufw disable
else
systemctl stop firewalld
sleep 1
systemctl disable firewalld.service
fi
changeLimit="n"
if [ $(grep -c "root soft nofile" /etc/security/limits.conf) -eq '0' ]; then
echo "root soft nofile 102400" >>/etc/security/limits.conf
changeLimit="y"
fi
if [ $(grep -c "root hard nofile" /etc/security/limits.conf) -eq '0' ]; then
echo "root hard nofile 102400" >>/etc/security/limits.conf
changeLimit="y"
fi
if [ $(grep -c "root soft nofile" /etc/systemd/system.conf) -eq '0' ]; then
echo "DefaultLimitNOFILE=102400" >>/etc/systemd/system.conf
changeLimit="y"
fi
if [ $(grep -c "root hard nofile" /etc/systemd/system.conf) -eq '0' ]; then
echo "DefaultLimitNPROC=102400" >>/etc/systemd/system.conf
changeLimit="y"
fi
if [ $(grep -c "root soft nofile" /etc/systemd/user.conf) -eq '0' ]; then
echo "DefaultLimitNOFILE=102400" >>/etc/systemd/user.conf
changeLimit="y"
fi
if [ $(grep -c "root hard nofile" /etc/systemd/user.conf) -eq '0' ]; then
echo "DefaultLimitNPROC=102400" >>/etc/systemd/user.conf
changeLimit="y"
fi
clear
echo
echo "----------------------------------------------------------------"
echo
if [[ "$changeLimit" = "y" ]]; then
echo "系统连接数限制已经改了,如果第一次运行本程序需要重启!"
echo
fi
sleep 1
supervisorctl reload
sleep 1
echo "本机防火墙端口19999已经开放,如果还无法连接,请到云服务商控制台操作安全组,放行对应的端口"
echo "默认端口:19999 默认密码:https://github.com/MinerPr0xy/MinerProxy 访问管理界面:本机IP:19999"
echo
echo "安装完成...守护模式无日志,需要日志的请以nohup ./MinerProxy_6.0.3_linux &方式运行"
echo
echo "以下配置文件:/etc/MinerProxy/config.yml,网页端可修改登录密码token"
echo
echo "----------------------------------------------------------------"
}
uninstall() {
clear
if [ -d "/etc/supervisor/conf/" ]; then
rm /etc/supervisor/conf/MinerProxy.conf -f
elif [ -d "/etc/supervisor/conf.d/" ]; then
rm /etc/supervisor/conf.d/MinerProxy.conf -f
elif [ -d "/etc/supervisord.d/" ]; then
rm /etc/supervisord.d/MinerProxy.ini -f
fi
supervisorctl reload
echo -e "$yellow 已关闭自启动${none}"
}
clear
while :; do
echo
echo "-------- MinerProxy 一键安装脚本 by:MinerPr0xy--------"
echo "github下载地址:https://github.com/MinerPr0xy/MinerProxy"
echo "官方电报群:https://t.me/Miner_Proxy"
echo
echo " 1. 安装MinerProxy"
echo
echo " 2. 卸载MinerProxy"
echo
read -p "$(echo -e "请选择 [${magenta}1-2$none]:")" choose
case $choose in
1)
install_download
start_write_config
break
;;
2)
uninstall
break
;;
*)
error
;;
esac
done