Files
tri-bootstrap-server/scripts/verify-bootstrap.sh
T
Krystie 50bd396c2b Initial commit: TRI bootstrap server
- Caddy HTTPS static file server config
- Tor hidden service (V3 onion) for anonymous access
- Bootstrap generation script (blk0001.dat + txleveldb + database)
- Dropbox upload script
- Systemd services (tor-bootstrap, caddy)
- Operator guide and verification script
2026-04-21 01:53:34 -07:00

76 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
# verify-bootstrap.sh — Verifies a bootstrap archive before publishing
# Usage: ./verify-bootstrap.sh /path/to/archive.tar.gz
set -euo pipefail
ARCHIVE="${1:?Usage: $0 /path/to/archive.tar.gz}"
echo "=== Bootstrap Archive Verifier ==="
echo "File: $ARCHIVE"
echo ""
# Check file exists
if [ ! -f "$ARCHIVE" ]; then
echo "ERROR: File not found"
exit 1
fi
# File size
SIZE=$(du -sh "$ARCHIVE" | cut -f1)
echo "Size: $SIZE"
# SHA256
SHA256=$(sha256sum "$ARCHIVE" | cut -d' ' -f1)
echo "SHA256: $SHA256"
echo ""
# Check it's a valid gzip file
if file "$ARCHIVE" | grep -q "gzip compressed"; then
echo "Format: Valid gzip (.tar.gz) ✅"
else
echo "Format: WARNING — not a gzip file!"
fi
# List contents without extracting
echo ""
echo "Archive contents:"
tar -tzvf "$ARCHIVE" 2>/dev/null | head -20 || echo "WARNING: Could not list contents"
# Check for dangerous files
echo ""
echo "Security checks:"
if tar -tzf "$ARCHIVE" 2>/dev/null | grep -q "wallet.dat"; then
echo " ❌ DANGER: wallet.dat found in archive!"
else
echo " ✅ No wallet.dat found"
fi
if tar -tzf "$ARCHIVE" 2>/dev/null | grep -q "peers.dat"; then
echo " ⚠️ peers.dat found (will be rediscovered — acceptable)"
else
echo " ✅ No peers.dat found"
fi
if tar -tzf "$ARCHIVE" 2>/dev/null | grep -q "debug.log"; then
echo " ⚠️ debug.log found (should be excluded)"
else
echo " ✅ No debug.log found"
fi
# Check blk0001.dat size
BLK_SIZE=$(tar -xzf "$ARCHIVE" -C /tmp --wildcards "blk0001.dat" --to-command="du -h" 2>/dev/null | cut -f1 || echo "NOT FOUND")
echo ""
echo "blk0001.dat size: $BLK_SIZE"
if [ "$BLK_SIZE" = "NOT FOUND" ]; then
echo " ❌ blk0001.dat not found in archive!"
elif [ "$(echo "$BLK_SIZE" | tr -d 'MGT' | cut -d. -f1)" -lt 100 ]; then
echo " ⚠️ blk0001.dat suspiciously small — check it"
else
echo " ✅ blk0001.dat size OK"
fi
echo ""
echo "SHA256 for reference:"
echo "$SHA256"