#!/usr/bin/env bash set -Eeuo pipefail umask 077 [[ $(id -u) == 0 ]] || { echo '请使用 sudo bash 运行安装脚本' >&2; exit 1; } [[ $(uname -s) == Linux ]] || { echo '仅支持 Linux' >&2; exit 1; } case "$(uname -m)" in aarch64|arm64) arch=arm64; expected=19b4b58d93e507d4862a29e95076a16726af13224cedabc0db5a2e687703ea8e ;; x86_64|amd64) arch=amd64; expected=c8b841d361922f317b096ea0f014513702f0d9f22248c2600dbca36a4a609223 ;; *) echo '仅支持 ARM64 / AMD64' >&2; exit 1 ;; esac base=${SCRCPYPROXY_DOWNLOAD_BASE:-https://ny-1s.enzonix.com/bucket-1776-2431/scrcpyproxy/v0.4.2} temp_dir=$(mktemp -d /tmp/scrcpyproxy-download.XXXXXX) cleanup() { case "$temp_dir" in /tmp/scrcpyproxy-download.*) rm -rf -- "$temp_dir" ;; esac; } trap cleanup EXIT echo "正在下载 scrcpyproxy linux-$arch(包含两个内核和路由数据)…" if ! curl --fail --location --retry 5 --retry-delay 3 --connect-timeout 15 --max-time 900 "$base/scrcpyproxy-linux-$arch.tar.gz" -o "$temp_dir/package.tar.gz"; then echo '下载失败。可下载对应架构的 .run 文件,复制到设备离线安装;也可设置 SCRCPYPROXY_DOWNLOAD_BASE 使用镜像。' >&2 exit 1 fi echo "$expected $temp_dir/package.tar.gz" | sha256sum -c - mkdir "$temp_dir/package" tar -xzf "$temp_dir/package.tar.gz" -C "$temp_dir/package" --no-same-owner bash "$temp_dir/package/install-local.sh" "$@"