Files
2026-04-26 16:44:21 +00:00

65 lines
2.1 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ELECTRUM_VERSION="${1:-4.7.2}"
echo ">>> Installing Electrum ${ELECTRUM_VERSION}"
WORKDIR="/tmp/electrum"
mkdir -p "$WORKDIR"
cd "$WORKDIR"
BASE_URL="https://download.electrum.org/${ELECTRUM_VERSION}"
TARBALL="Electrum-${ELECTRUM_VERSION}.tar.gz"
SIG_FILE="${TARBALL}.asc"
FINGERPRINT_THOMASV='6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6'
FINGERPRINT_SOMBERNIGHT='0EED CFD5 CAFB 4590 6734 9B23 CA9E EEC4 3DF9 11DC'
FINGERPRINT_EMZY='9EDA FF80 E080 6596 04F4 A76B 2EBB 056F D847 F8A7'
PUB_THOMASV='https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/ThomasV.asc'
PUB_SOMBERNIGHT='https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/sombernight_releasekey.asc'
PUB_EMZY='https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/Emzy.asc'
echo ">>> Importing signing keys..."
for pubkey_url in "$PUB_THOMASV" "$PUB_SOMBERNIGHT" "$PUB_EMZY"; do
wget -q "$pubkey_url"
done
for key_file in *.asc; do
gpg --import "$key_file"
rm -f "$key_file"
done
echo ">>> Downloading Electrum ${ELECTRUM_VERSION}..."
wget -q "${BASE_URL}/${TARBALL}"
wget -q "${BASE_URL}/${SIG_FILE}"
echo ">>> Verifying GPG signature..."
VERIFY_OUTPUT=$(gpg --verify "$SIG_FILE" "$TARBALL" 2>&1 || true)
echo "$VERIFY_OUTPUT"
echo "$VERIFY_OUTPUT" | grep -q "Good signature" \
|| { echo "ERROR: GPG verification failed — no good signature found" >&2; exit 1; }
MATCHED=0
for fp in "$FINGERPRINT_THOMASV" "$FINGERPRINT_SOMBERNIGHT" "$FINGERPRINT_EMZY"; do
if echo "$VERIFY_OUTPUT" | grep -qF "$fp"; then
echo ">>> Fingerprint matched: ${fp}"
MATCHED=1
break
fi
done
[ "$MATCHED" -eq 1 ] \
|| { echo "ERROR: no trusted fingerprint found in verify output" >&2; exit 1; }
echo ">>> Creating venv and installing Electrum..."
python3 -m venv --system-site-packages /opt/electrum
/opt/electrum/bin/pip install --quiet --use-pep517 "${WORKDIR}/${TARBALL}"
ln -sf /opt/electrum/bin/electrum /usr/bin/electrum
rm -rf "$WORKDIR"
echo ">>> Done: Electrum ${ELECTRUM_VERSION} installed"
echo ">>> Try: electrum --help"