Skip to content

Commit 9511c48

Browse files
authored
Merge pull request #17 from sanshu-rom/main
更新自动化脚本
2 parents a11c055 + fa7c8f1 commit 9511c48

File tree

1 file changed

+43
-17
lines changed

1 file changed

+43
-17
lines changed

autorun.sh

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,29 @@ check_node_version() {
3232
if [[ "$node_version" < "v20.0.0" ]]; then
3333
echo "Node.js版本低于20.0.0,正在安装Node.js v20以上版本..."
3434
install_node_v20
35+
npm config set registry https://registry.npmmirror.com
3536
else
3637
echo "Node.js版本符合要求(v20以上),跳过安装。"
3738
fi
3839
}
3940

4041
# 安装Node.js v20以上版本
4142
install_node_v20() {
42-
echo "正在安装Node.js v20以上版本..."
43-
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
44-
sudo apt-get update
45-
sudo apt-get install -y nodejs
46-
npm install -g cnpm --registry=https://registry.npmmirror.com
47-
echo "Node.js v20以上版本安装完成。"
43+
echo "正在安装NVM..."
44+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
45+
46+
# 启用NVM
47+
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
48+
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
49+
50+
# 安装Node.js 20.18.1
51+
echo "正在安装Node.js 20.18.1..."
52+
nvm install 20.18.1
53+
54+
# 设置默认Node.js版本
55+
nvm alias default 20.18.1
56+
57+
echo "Node.js 20.18.1安装完成。"
4858
}
4959

5060
# 检查NVM是否存在,如果不存在则安装
@@ -63,11 +73,13 @@ fi
6373
install_yarn_and_pm2() {
6474
if command -v yarn >/dev/null 2>&1; then
6575
echo "Yarn已安装,跳过Yarn安装。"
76+
yarn config set registry https://registry.yarnpkg.com
6677
else
6778
echo "Yarn未安装,正在安装Yarn..."
6879
nvm install-node # 安装最新版本的Node.js,自动选择大于v20的版本
6980
nvm use default
7081
npm install -g yarn
82+
yarn config set registry https://registry.yarnpkg.com
7183
if [ $? -ne 0 ]; then
7284
echo "Yarn安装失败,请手动安装Yarn后重试。"
7385
exit 1
@@ -129,8 +141,8 @@ get_device_ip() {
129141
# 这里使用的是ipinfo.io服务,你也可以使用其他服务
130142
IP=$(curl -s https://ipinfo.io/ip)
131143
if [ $? -eq 0 ]; then
132-
echo "= 设备IP地址:$IP"
133-
echo "= 公网IP自行打码"
144+
echo "= 设备IP地址:$IP"
145+
echo "= 公网IP自行打码"
134146
return 0
135147
else
136148
echo "无法获取设备IP地址。"
@@ -212,25 +224,25 @@ initialize_default_env() {
212224
if [ ! -f "$env_path" ]; then
213225
echo ".env文件不存在,正在使用.env.development作为模板创建..."
214226
# 提示用户输入自定义值,并设置30秒超时
215-
echo "请输入网盘入库密码(30秒内无输入则使用默认值'drpys'):"
227+
echo "请输入网盘入库密码(30秒内无输入则使用默认值'drpys'直接回车可跳过):"
216228
read -t 30 cookie_auth_code
217229
if [ -z "$cookie_auth_code" ]; then
218230
cookie_auth_code="drpys"
219231
fi
220232

221-
echo "请输入登录用户名(30秒内无输入则使用默认值'admin'):"
233+
echo "请输入登录用户名(30秒内无输入则使用默认值'admin'直接回车可跳过):"
222234
read -t 30 api_auth_name
223235
if [ -z "$api_auth_name" ]; then
224236
api_auth_name="admin"
225237
fi
226238

227-
echo "请输入登录密码(30秒内无输入则使用默认值'drpys'):"
239+
echo "请输入登录密码(30秒内无输入则使用默认值'drpys'直接回车可跳过):"
228240
read -t 30 api_auth_code
229241
if [ -z "$api_auth_code" ]; then
230242
api_auth_code="drpys"
231243
fi
232244

233-
echo "请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'):"
245+
echo "请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'直接回车可跳过):"
234246
read -t 30 api_pwd
235247
if [ -z "$api_pwd" ]; then
236248
api_pwd="dzyyds"
@@ -253,17 +265,31 @@ initialize_default_env() {
253265
fi
254266
}
255267

268+
# 定义读取.env文件参数的函数
269+
read_env_params() {
270+
# 读取.env文件中的参数值,考虑等号前后的空格
271+
COOKIE_AUTH_CODE=$(grep '^COOKIE_AUTH_CODE' .env | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d'=' -f2)
272+
API_AUTH_NAME=$(grep '^API_AUTH_NAME' .env | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d'=' -f2)
273+
API_AUTH_CODE=$(grep '^API_AUTH_CODE' .env | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d'=' -f2)
274+
API_PWD=$(grep '^API_PWD' .env | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d'=' -f2)
275+
276+
# 输出参数值
277+
echo "= 当前登录账户$API_AUTH_NAME "
278+
echo "= 当前登录密码$API_AUTH_CODE "
279+
echo "= 当前入库密码$COOKIE_AUTH_CODE "
280+
echo "= 当前订阅pwd值$API_PWD "
281+
}
282+
283+
256284
# IP显示标识
257285
has_displayed_ip=""
258286
# 显示内网和公网访问地址
259287
display_ip_addresses() {
260288
echo "=================================================="
261289
echo "= 项目主页及相关默认值提示 "
262290
echo "= 内网访问地址:http://$LOCAL_IP:5757 "
263-
echo "= 默认登录账户admin "
264-
echo "= 默认登录密码drpys "
265-
echo "= 默认入库密码drpys "
266-
echo "= 默认订阅pwd值dzyyds "
291+
# 调用read_env_params函数来显示.env中的值
292+
read_env_params
267293
echo "= 如需修改以上密码值则自行修改源码根目录.env文件 "
268294
get_device_ip
269295
if [ $? -eq 0 ]; then
@@ -504,7 +530,7 @@ while true; do
504530
if [ -z "$has_displayed_ip" ]; then # 检查是否已经显示过IP地址
505531
echo "当前仓库已经是最新的,无需更新。"
506532
display_ip_addresses
507-
has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
533+
has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
508534
fi
509535
break # 退出循环
510536
fi

0 commit comments

Comments
 (0)