vpn/scripts/fetch-engine-artifacts.sh

36 lines
1.3 KiB
Bash
Executable file

#!/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