-
Notifications
You must be signed in to change notification settings - Fork 1
/
start
293 lines (278 loc) · 7.6 KB
/
start
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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
#!/bin/env bash
black="\e[30m"
red="\033[31m"
green="\033[32m"
yellow="\033[33m"
blue="\033[34m"
purple="\033[35m"
cyan="\033[36m"
white="\033[37m"
background="\033[0m"
function Random(){
echo $((RANDOM % 3))
}
function Termux(){
case $(Random) in
1)
if ! am start com.miHoYo.Yuanshen/com.miHoYo.GetMobileInfo.MainActivity
then
if ! am start -a com.miHoYo.cloudgames.ys/com.mihoyo.cloudgame.ui.SplashActivity
then
am start -a android.intent.action.VIEW -d "https://ys.mihoyo.com/cloud"
fi
fi
;;
2)
if ! am start com.miHoYo.hkrpg/com.mihoyo.combosdk.ComboSDKActivity
then
if ! am start com.miHoYo.cloudgames.hkrpg/com.mihoyo.cloudgame.ui.SplashActivity
then
am start -a android.intent.action.VIEW -d "https://sr.mihoyo.com/cloud"
fi
fi
;;
3)
if ! am start com.miHoYo.Nap/com.mihoyo.combosdk.ComboSDKActivity
then
am start -a android.intent.action.VIEW -d "https://zzz.mihoyo.com"
fi
;;
*)
echo -e ${red}本脚本禁止在Termux环境运行${background}
;;
esac
}
if [ ! "$(uname)" = "Linux" ];then
echo -e ${red}请使用linux!${background}
exit
fi
if [ "$(uname -o)" = "Android" ];then
Termux
exit
fi
function Update(){
if [ -z ${Update} ]
then
Command=$@
${Command}
Update=true
fi
}
function SelectRegion(){
echo && echo -en " ${cyan}Yunzai ${purple}一键安装管理脚本${background}
———————————————————
${cyan}请问您的设备所在位置是?
${green}1${white}. 中国大陆 ${background}
${green}2${white}. 其他位置 ${background}
———————————————————
${cyan}请输入数字 ${white}[1-2]:${background} "
read num
case ${num} in
1)
return 0
;;
2)
return 1
;;
*)
echo -e ${red}输入错误 ${yellow}将保持默认 ${purple}中国大陆${background}
return 0
;;
esac
}
function CheckNetwork(){
country=$(curl -sL ipinfo.io | jq .country)
if [ -n ${country} ]
then
if echo ${country} | grep -q CN
then
return 0
else
return 1
fi
else
if SelectRegion
then
return 0
else
return 1
fi
fi
}
function gitclone(){
if echo $1 | grep -q gitee
then
git clone --depth=1 $1 $2
ReturnBcak
fi
if CheckNetwork
then
MirrorNum=("gh" "ghproxy" "kkgithub" "github" "error")
else
MirrorNum=("github")
fi
for i in ${MirrorNum[@]}
do
case ${i} in
github)
if git clone --depth=1 $1 $2
then
return 0
else
rm -rf $2
fi
;;
gitclone)
GitUrl=$(echo $1 | sed 's|https://github.com|https://gitclone.com/github.com|g')
if git clone --depth=1 ${GitUrl} $2
then
return 0
else
rm -rf $2
fi
;;
kkgithub)
GitUrl=$(echo $1 | sed 's|https://github.com|https://kkgithub.com|g')
if git clone --depth=1 ${GitUrl} $2
then
return 0
else
rm -rf $2
fi
;;
gh)
GitUrl=$(echo $1 | sed 's|https://github.com|https://gh.arcticfox.top/https://github.com|g')
if git clone --depth=1 ${GitUrl} $2
then
return 0
else
rm -rf $2
fi
;;
ghproxy)
GitUrl=$(echo $1 | sed 's|https://github.com|https://mirror.ghproxy.com/https://github.com|g')
if git clone --depth=1 ${GitUrl} $2
then
return 0
else
rm -rf $2
fi
;;
error)
echo -e ${yellow}仓库克隆 ${red}失败${background}
exit 1
;;
esac
done
}
function InstallPKG(){
echo -e ${green}正在安装必要依赖 $1${background}
if [ $(command -v apt) ]
then
Update apt -y update
apt install -y $1
elif [ $(command -v apt-get) ]
then
Update apt -y update
apt-get install -y $1
elif [ $(command -v pacman) ]
then
Update pacman -Sy
pacman -S --noconfirm --needed $1
elif [ $(command -v dnf) ]
then
Update dnf -y update
dnf install -y $1
elif [ $(command -v yum) ]
then
Update yum -y update
yum install -y $1
elif [ $(command -v apk) ]
then
Update apk update
apk add --allow-untrusted --no-cache $1
elif [ $(command -v zypper) ]
then
Update zypper refresh
zypper --non-interactive install $1
else
echo -e ${red}暂不支持的发行版${background}
exit
fi
}
function CheckPKG(){
if [ ! -x "$(command -v whiptail)" ] && [ ! -x "$(command -v dialog)" ]
then
PKG="dialog ${PKG}"
fi
if [ ! -x "$(command -v git)" ]
then
PKG="git ${PKG}"
fi
if [ ! -x "$(command -v jq)" ]
then
PKG="jq ${PKG}"
fi
if [ -n ${PKG} ]
then
InstallPKG ${PKG}
fi
}
function InstallScript(){
if [ -d AFYZ ]
then
cd AFYZ
git fetch --all
git reset --hard main
git pull
else
if ! gitclone https://github.com/ArcticFox520/Yunzai-Script ./AFYZ
then
echo -e ${red} - ${yellow}出现错误${background}
exit
fi
cd AFYZ
chmod +x afyz
AF_HOME_Path="$(pwd)"
cp -f afyz /usr/local/bin/afyz
sed -i "s|AF_HOME_Path|${AF_HOME_Path}|g" /usr/local/bin/afyz
fi
echo -e ${yellow} - ${yellow}安装成功${background}
echo -e ${yellow} - ${cyan}请使用 ${green}afyz ${cyan}命令 打开脚本${background}
}
function AlpineEnv(){
if grep -i -q "Alpine" /etc/os-release
then
if [ ! -x /bin/env ]
then
ln -sf $(which env) /bin/env
fi
fi
}
echo && echo -e "
${cyan}Yunzai ${purple}Script
${white}————————————————————
${blue}欢迎您的使用
${white}————————————————————
${green}请认真阅读用户协议${background}"
echo -en "
${purple}用户协议
${white}Yunzai Script 使用协议
1.欢迎使用Yunzai Script 项目(以下简称“本项目”)。在使用本项目之前,请仔细阅读并遵守本协议的所有条款和条件。使用本项目即表示您同意受到本协议的约束。
2.使用/修改本项目即表示您同意遵守本协议中的所有条款和条件。如果您不同意本协议的任何部分,则不得使用本项目。
3.本项目是纯免费开源的,不会对您进行任何下载/克隆收费,也不会对您使用任何内容收费。禁止以任何形式出售本项目的内容。如果您的项目中有收款方式,例如众筹平台[爱发电],请勿调用本项目的内容。
4.本项目允许您对您设备上已下载的本项目文件进行本地修改,以满足您的需求。但请勿在获得本项目作者(ArcticFox520)同意之前,在包括但不限于Gitee、GitHub、GitLab、OSChina等其他源代码交流平台,QQ、微信、Discord、Telegram等其他社交媒体平台,阿里云盘,百度网盘,123盘等网络存储平台,上传播修改后的版本。
5.本项目的用户协议同样适用于本项目作者(ArcticFox520)提供的其他项目。
6.本项目不承担任何由用户使用本项目所产生的直接或间接的责任。未经本项目作者(ArcticFox520)的明确授权,任何人不得将本项目用于商业目的。
7.您可以在遵守本协议的前提下,自由地使用、修改本项目的内容。但您需要承担因您的使用、修改本项目内容而产生的任何问题和责任。
8.如果您在使用本项目时遇到任何问题或需要帮助,请通过本项目作者(ArcticFox520)提供的联系方式与其取得联系。本项目作者(ArcticFox520)将尽力为您提供帮助和支持。
9.本项目的用户协议可能会随时更新和修改。继续使用本项目,即表示您同意受到更新和修改后的协议的约束。
10.对于本项目的最终所有权和解释权归本项目的唯一作者(ArcticFox520)(https://github.com/ArcticFox520)所有。
最后,感谢您对 Yunzai Script 项目的信任与支持!
${white}————————————————————
${white}如果您${blue}同意${white}此协议 请${purple}回车${white}继续。"
read
AlpineEnv
CheckPKG
CheckNetwork
InstallScript