Files
luci-app-openclaw/scripts/upload_openlist.sh
2026-03-13 14:07:53 +08:00

50 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# ============================================================================
# 上传构建产物到 OpenList 软件源
# ============================================================================
set -e
if [ -z "$OPENLIST_TOKEN" ]; then
echo "错误: 未提供 OPENLIST_TOKEN 环境变量"
exit 1
fi
DIST_DIR="${1:-dist}"
if [ ! -d "$DIST_DIR" ]; then
echo "错误: 产物目录不存在: $DIST_DIR"
exit 1
fi
API_URL="https://list.910501.xyz/api/packages"
UPLOAD_FILES=$(find "$DIST_DIR" -type f -name "*.run" -o -name "*.ipk" 2>/dev/null)
if [ -z "$UPLOAD_FILES" ]; then
echo "错误: 在 $DIST_DIR 中没有找到 .run 或 .ipk 文件"
exit 1
fi
echo "找到以下文件准备上传:"
echo "$UPLOAD_FILES"
for file in $UPLOAD_FILES; do
filename=$(basename "$file")
echo "--------------------------------------------------"
echo "正在上传: $filename"
RESPONSE=$(curl -s -X POST "$API_URL" \
-H "Authorization: Bearer $OPENLIST_TOKEN" \
-F "file=@$file")
HTTP_CODE=$(echo "$RESPONSE" | grep -o 'HTTP/1.1 [0-9]*' | awk '{print $2}')
if echo "$RESPONSE" | grep -q '"success":true' || echo "$RESPONSE" | grep -q 'ok'; then
echo "✅ 上传成功: $filename"
else
echo "❌ 上传失败: $filename"
echo "返回内容: $RESPONSE"
exit 1
fi
done
echo "=================================================="
echo "🎉 所有文件已成功上传至 OpenList!"