ZapretKVN-android/scripts/verify-core-version.sh
2026-07-22 14:44:50 +03:00

30 lines
930 B
Shell
Executable file

#!/usr/bin/env bash
set -euo pipefail
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# shellcheck disable=SC1090,SC1091
source "$PROJECT_ROOT/core.properties"
: "${CORE_TAG:?Missing CORE_TAG}"
: "${CORE_COMMIT:?Missing CORE_COMMIT}"
SING_BOX_CLI="${1:-$PROJECT_ROOT/core-build/output/sing-box}"
if [[ ! -x "$SING_BOX_CLI" ]]; then
echo "sing-box CLI is not executable: $SING_BOX_CLI" >&2
exit 1
fi
VERSION_OUTPUT="$($SING_BOX_CLI version)"
printf '%s\n' "$VERSION_OUTPUT"
VERSION_LINE="$(sed -n 's/^sing-box version //p' <<<"$VERSION_OUTPUT")"
REVISION_LINE="$(sed -n 's/^Revision: //p' <<<"$VERSION_OUTPUT")"
if [[ "$VERSION_LINE" != "${CORE_TAG#v}" ]]; then
echo "Embedded core version mismatch: $VERSION_LINE" >&2
exit 1
fi
if [[ "$REVISION_LINE" != "$CORE_COMMIT" ]]; then
echo "Embedded core revision mismatch: $REVISION_LINE" >&2
exit 1
fi
echo "Pinned core identity verified."