diff --git a/allinone b/allinone new file mode 100644 index 0000000..376602d --- /dev/null +++ b/allinone @@ -0,0 +1,47 @@ +#!/bin/sh /etc/rc.common + +# 说明: allinone 服务管理脚本 +# 使用: /etc/init.d/allinone {start|stop|restart|status} + +START=99 # 启动优先级 +STOP=10 # 停止优先级 + +SERVICE_NAME="allinone" +SERVICE_BINARY="/tmp/allinone/allinone_linux_arm64" +PID_FILE="/var/run/$SERVICE_NAME.pid" + +start() { + echo "正在启动 $SERVICE_NAME 服务..." + if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then + echo "$SERVICE_NAME 已经运行,PID: $(cat $PID_FILE)" + else + nohup "$SERVICE_BINARY" > /dev/null 2>&1 & + echo $! > "$PID_FILE" + echo "$SERVICE_NAME 启动完成,PID: $(cat $PID_FILE)" + fi +} + +stop() { + echo "正在停止 $SERVICE_NAME 服务..." + if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then + kill $(cat "$PID_FILE") + rm -f "$PID_FILE" + echo "$SERVICE_NAME 已停止" + else + echo "$SERVICE_NAME 未运行" + fi +} + +restart() { + echo "正在重启 $SERVICE_NAME 服务..." + stop + start +} + +status() { + if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then + echo "$SERVICE_NAME 正在运行,PID: $(cat $PID_FILE)" + else + echo "$SERVICE_NAME 未运行" + fi +} diff --git a/allinone-update.sh b/allinone-update.sh new file mode 100644 index 0000000..c8583e1 --- /dev/null +++ b/allinone-update.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +URL="https://pan.v1.mk/api/fs/list" + +DATA='{"path": "/每期视频中用到的文件分享/allinone二进制文件/"}' + +response=$(curl -s -X POST -H "Content-Type: application/json" -d "$DATA" "$URL") + +if echo "$response" | grep -q '"code":200'; then + file_info=$(echo "$response" | jq -r '.data.content[] | select(.name | contains("allinone_linux_arm64") and endswith(".zip")) | .name') + + if [ -n "$file_info" ]; then + echo "找到文件: $file_info" + + xxxx=$(echo "$file_info" | grep -oE '[0-9]+') + + echo "提取的 xxxx 值: $xxxx" + + download_url="https://pan.v1.mk/p/每期视频中用到的文件分享/allinone二进制文件/$file_info" + echo "开始下载: $download_url" + + tmp_dir="/tmp/allinone-update" + mkdir -p "$tmp_dir" + + curl -o "$tmp_dir/$file_info" "$download_url" + + echo "下载完成,开始停止服务..." + + /etc/init.d/allinone stop + + echo "服务已停止,开始解压..." + + unzip -o "$tmp_dir/$file_info" -d /tmp/allinone + + echo "更新完成!" + + echo "正在修改权限..." + chmod 777 /tmp/allinone/allinone_linux_arm64 + + echo "正在恢复服务..." + /etc/init.d/allinone start + echo "服务已恢复运行!" + + echo "清理临时目录..." + rm -rf "$tmp_dir" + echo "临时目录已删除!" + else + echo "未找到符合条件的文件" + fi +else + echo "请求失败,响应内容: $response" +fi