- Load WELIST_PING_DELEGATION_FILE into a typed OnionDelegation - Send the certificate only with v2 pings for onion hosts - Validate the onion host, expiry and delegated key against BAL_SERVER_URL and SSL_KEY_PATH at startup; disable delegation with a warning on any mismatch - Stop sending unsigned info/base_fee/version with v1 pings so v1 remains liveness-only - Document v1/v2 metadata handling and onion delegation implications - Add contrib/make_onion_delegation.py to issue certificates offline, with Ed25519 key validation and clean CLI error handling
44 lines
1.5 KiB
Bash
Executable File
44 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
. "$SCRIPT_DIR/lib.sh"
|
|
|
|
# Load local, gitignored environment overrides (e.g. BAL_PG_PASSWORD).
|
|
if [ -f "$SCRIPT_DIR/.env" ]; then
|
|
set -a
|
|
# shellcheck disable=SC1091
|
|
. "$SCRIPT_DIR/.env"
|
|
set +a
|
|
fi
|
|
|
|
WORKING_DIR=$(pwd)
|
|
|
|
export RUST_LOG=trace
|
|
|
|
export BAL_SERVER_DB_FILE="$WORKING_DIR/bal.db"
|
|
export BAL_SERVER_DB_BACKEND="postgresql"
|
|
#export BAL_PUSHER_BITCOIN_COOKIE_FILE=/~/.bitcoin/.cookie
|
|
#export BAL_PUSHER_REGTEST_COOKIE_FILE=/~/.bitcoin/regtest/.cookie
|
|
#export BAL_PUSHER_TESTNET_COOKIE_FILE=/~/.bitcoin/testnet3/.cookie
|
|
#export BAL_PUSHER_SIGNET_COOKIE_FILE=/~/.bitcoin/signet/.cookie
|
|
|
|
export BAL_PUSHER_REGTEST_ZMQ_HASHBLOCK=tcp://127.0.0.1:21332
|
|
export BAL_PUSHER_SEND_STATS=true
|
|
export WELIST_SERVER_URL=http://localhost:8086
|
|
export WELIST_SKIP_URL_VALIDATION=true
|
|
# Local development uses the legacy v1 signature, verified by the service
|
|
# against GET /.pub_key.pem: a localhost URL cannot use DNSSEC key discovery.
|
|
# v2 requires a public DNS hostname (or a v3 onion URL) with a published key.
|
|
# The WeTime service must run with WELIST_ALLOW_LEGACY_PING=true and, for
|
|
# loopback addresses, WELIST_ALLOW_LOCALHOST_PING=true.
|
|
export WELIST_PING_SIG_VERSION=1
|
|
export BAL_SERVER_URL="http://127.0.0.1:9133"
|
|
export SSL_KEY_PATH="$WORKING_DIR/private_key.pem"
|
|
|
|
if [ "$BAL_SERVER_DB_BACKEND" = "postgresql" ]; then
|
|
. "$SCRIPT_DIR/pg-server.sh"
|
|
fi
|
|
|
|
cargo run --bin=bal-pusher regtest --features=pusher
|