#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." mkdir -p native/android/libs LIBBOX_REPO="Leadaxe/sing-box-lx" LIBBOX_VERSION="$(tr -d '[:space:]' < native/android/libbox.version)" LIBBOX_FILE="libbox-${LIBBOX_VERSION#v}.aar" LIBBOX_BASE="https://github.com/$LIBBOX_REPO/releases/download/$LIBBOX_VERSION" download_dir="$(mktemp -d)" trap 'rm -rf "$download_dir"' EXIT echo "Fetching pinned $LIBBOX_REPO $LIBBOX_VERSION" curl -fsSL --retry 3 -o "$download_dir/$LIBBOX_FILE" "$LIBBOX_BASE/$LIBBOX_FILE" curl -fsSL --retry 3 -o "$download_dir/SHA256SUMS" "$LIBBOX_BASE/SHA256SUMS" ( cd "$download_dir" grep -E " ?$LIBBOX_FILE\$" SHA256SUMS > expected.sum sha256sum -c expected.sum ) mv "$download_dir/$LIBBOX_FILE" native/android/libs/libbox.aar echo echo "FreeTurn upstream (${FREETURN_REF:-master}):" echo " git clone --depth 1 --branch ${FREETURN_REF:-master} https://github.com/samosvalishe/free-turn-proxy.git /tmp/free-turn-proxy" echo " cd /tmp/free-turn-proxy && task build:android" echo " cp dist/freeturn.aar $PWD/native/android/libs/freeturn.aar" echo "FreeTurn is not packaged with libbox yet: both AARs contain incompatible global gomobile runtimes." echo for artifact in native/android/libs/freeturn.aar native/android/libs/libbox.aar; do if [[ -f "$artifact" ]]; then sha256sum "$artifact" else echo "MISSING $artifact" fi done