38 lines
939 B
Bash
Executable File
38 lines
939 B
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Change directory to the root of the project
|
|
cd "$(dirname "$0")/.."
|
|
|
|
# Use info logging by default
|
|
export RUST_LOG="${RUST_LOG:-info}"
|
|
|
|
# Default to a self-signed certificate
|
|
# TODO automatically generate if it doesn't exist.
|
|
CERT="${CERT:-dev/localhost.crt}"
|
|
KEY="${KEY:-dev/localhost.key}"
|
|
|
|
# Default to listening on localhost:4443
|
|
HOST="${HOST:-[::]}"
|
|
PORT="${PORT:-4443}"
|
|
LISTEN="${LISTEN:-$HOST:$PORT}"
|
|
|
|
# A list of optional args
|
|
ARGS=""
|
|
|
|
# Connect to the given URL to get origins.
|
|
# TODO default to a public instance?
|
|
if [ -n "${API-}" ]; then
|
|
ARGS="$ARGS --api $API"
|
|
fi
|
|
|
|
# Provide our node URL when registering origins.
|
|
if [ -n "${NODE-}" ]; then
|
|
ARGS="$ARGS --node $NODE"
|
|
fi
|
|
|
|
echo "Publish URL: https://quic.video/publish/?server=localhost:${PORT}"
|
|
|
|
# Run the relay and forward any arguments
|
|
cargo run --bin moq-relay -- --listen "$LISTEN" --cert "$CERT" --key "$KEY" --fingerprint $ARGS -- "$@"
|