آخر نشاط 1 month ago

1Panel 第三方 App Store 同步更新脚本

wojack's Avatar wojack عدّل هذا المقطع 1 month ago. الانتقال إلى التعديل

1 file changed, 42 insertions

1panel-appstore.sh(تم إنشاء الملف)

@@ -0,0 +1,42 @@
1 + #!/bin/bash
2 + # 1Panel 第三方应用商店同步脚本(轻量优化版)
3 + # 仅同步应用,不执行镜像替换
4 +
5 + # 启用严格模式:遇到错误、未定义变量、管道错误时立即退出
6 + set -euo pipefail
7 +
8 + # 设置字段分隔符,防止文件名含空格或换行符时出错
9 + IFS=$'\n\t'
10 +
11 + # 配置路径
12 + GIT_REPO="https://cnb.cool/Liiiu/appstore" # 第三方应用商店地址
13 + TMP_DIR="/opt/1panel/resource/apps/local/appstore-localApps"
14 + LOCAL_APPS_DIR="/opt/1panel/resource/apps/local"
15 +
16 + # 确保脚本退出时自动清理临时目录(即使中途出错也会执行)
17 + # trap 'rm -rf "$TMP_DIR"' EXIT
18 + trap 'echo "🧹 清理临时目录: $TMP_DIR"; rm -rf "$TMP_DIR"' EXIT
19 +
20 + # 开始克隆应用商店仓库
21 + echo "📥 Cloning appstore repo..."
22 + git clone "$GIT_REPO" "$TMP_DIR"
23 +
24 + # 创建本地应用目录(如果不存在)
25 + mkdir -p "$LOCAL_APPS_DIR"
26 +
27 + # 遍历所有应用并同步到本地
28 + for app_path in "$TMP_DIR/apps/"*; do
29 + # 跳过非目录项
30 + [ -d "$app_path" ] || continue
31 +
32 + app_name=$(basename "$app_path")
33 + local_app_path="$LOCAL_APPS_DIR/$app_name"
34 +
35 + echo "🔁 Updating app: $app_name"
36 + # 如果本地已存在同名应用,先删除
37 + [ -d "$local_app_path" ] && rm -rf "$local_app_path"
38 + # 复制新版本应用
39 + cp -r "$app_path" "$local_app_path"
40 + done
41 +
42 + echo "✅ Sync completed."

wojack's Avatar wojack عدّل هذا المقطع 10 months ago. الانتقال إلى التعديل

لا توجد تغييرات

AhHui عدّل هذا المقطع 10 months ago. الانتقال إلى التعديل

لا توجد تغييرات

AhHui عدّل هذا المقطع 10 months ago. الانتقال إلى التعديل

لا توجد تغييرات

AhHui عدّل هذا المقطع 10 months ago. الانتقال إلى التعديل

1 file changed, 42 insertions

sync-1panel-appstore.sh(تم إنشاء الملف)

@@ -0,0 +1,42 @@
1 + #!/bin/bash
2 + # 1Panel 第三方应用商店同步脚本(轻量优化版)
3 + # 仅同步应用,不执行镜像替换
4 +
5 + # 启用严格模式:遇到错误、未定义变量、管道错误时立即退出
6 + set -euo pipefail
7 +
8 + # 设置字段分隔符,防止文件名含空格或换行符时出错
9 + IFS=$'\n\t'
10 +
11 + # 配置路径
12 + GIT_REPO="https://cnb.cool/gyhwd.top/1panel-appstore" # 第三方应用商店地址
13 + TMP_DIR="/opt/1panel/resource/apps/local/appstore-localApps"
14 + LOCAL_APPS_DIR="/opt/1panel/resource/apps/local"
15 +
16 + # 确保脚本退出时自动清理临时目录(即使中途出错也会执行)
17 + # trap 'rm -rf "$TMP_DIR"' EXIT
18 + trap 'echo "🧹 清理临时目录: $TMP_DIR"; rm -rf "$TMP_DIR"' EXIT
19 +
20 + # 开始克隆应用商店仓库
21 + echo "📥 Cloning appstore repo..."
22 + git clone "$GIT_REPO" "$TMP_DIR"
23 +
24 + # 创建本地应用目录(如果不存在)
25 + mkdir -p "$LOCAL_APPS_DIR"
26 +
27 + # 遍历所有应用并同步到本地
28 + for app_path in "$TMP_DIR/apps/"*; do
29 + # 跳过非目录项
30 + [ -d "$app_path" ] || continue
31 +
32 + app_name=$(basename "$app_path")
33 + local_app_path="$LOCAL_APPS_DIR/$app_name"
34 +
35 + echo "🔁 Updating app: $app_name"
36 + # 如果本地已存在同名应用,先删除
37 + [ -d "$local_app_path" ] && rm -rf "$local_app_path"
38 + # 复制新版本应用
39 + cp -r "$app_path" "$local_app_path"
40 + done
41 +
42 + echo "✅ Sync completed."
أحدث أقدم