Files
aidanpark--openclaw-android/update.sh
T
2026-07-13 13:16:30 +08:00

58 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# update.sh - Thin wrapper that downloads and runs update-core.sh
# Usage: curl -sL https://raw.githubusercontent.com/AidanPark/openclaw-android/main/update.sh | bash
# or: oaupdate (after initial install)
set -euo pipefail
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
REPO_BASE_ORIGIN="https://raw.githubusercontent.com/AidanPark/openclaw-android/main"
REPO_BASE="$REPO_BASE_ORIGIN"
LOGFILE="$HOME/.openclaw-android/update.log"
# Ensure curl is available
if ! command -v curl &>/dev/null; then
echo -e "${RED}[FAIL]${NC} curl not found. Install it with: pkg install curl"
exit 1
fi
# GitHub mirror fallback for restricted networks
resolve_repo_base() {
if curl -sI --connect-timeout 3 "$REPO_BASE_ORIGIN/oa.sh" >/dev/null 2>&1; then
REPO_BASE="$REPO_BASE_ORIGIN"; return 0
fi
local mirrors=(
"https://ghfast.top/$REPO_BASE_ORIGIN"
"https://ghproxy.net/$REPO_BASE_ORIGIN"
"https://mirror.ghproxy.com/$REPO_BASE_ORIGIN"
)
for m in "${mirrors[@]}"; do
if curl -sI --connect-timeout 3 "$m/oa.sh" >/dev/null 2>&1; then
echo -e "${YELLOW}[MIRROR]${NC} Using mirror for GitHub downloads"
REPO_BASE="$m"; return 0
fi
done
return 1
}
resolve_repo_base
# Prepare log directory
mkdir -p "$HOME/.openclaw-android"
# Download update-core.sh
TMPFILE=$(mktemp "${PREFIX:-/tmp}/tmp/update-core.XXXXXX.sh" 2>/dev/null) || TMPFILE=$(mktemp /tmp/update-core.XXXXXX.sh)
trap 'rm -f "$TMPFILE"' EXIT
if ! curl -sfL "$REPO_BASE/update-core.sh" -o "$TMPFILE"; then
echo -e "${RED}[FAIL]${NC} Failed to download update-core.sh"
exit 1
fi
# Execute and save output to log
bash "$TMPFILE" 2>&1 | tee "$LOGFILE"
echo ""
echo -e "${YELLOW}Log saved to $LOGFILE${NC}"