Stanze audio & video LiveKit

Stanze audio e video per i gruppi NIP-29 tramite un server LiveKit: endpoint dei token, firma JWT e metadati del gruppo che pubblicizzano le stanze.

Configurazione

  1. Imposta relay.livekit_url, relay.livekit_api_key e relay.livekit_api_secret nel file di configurazione.
  2. Aggiungi il tag livekit ai metadati di un gruppo tramite una modifica kind:9002 di un amministratore.
  3. I client ottengono un JWT da /.well-known/nip29/livekit/<group-id> con autenticazione NIP-98 (una chiave pubblica bannata con banpubkey NIP-86 viene rifiutata).
  4. Il relay pubblica una lista partecipanti kind:39004 per ogni gruppo livekit, aggiornata ogni relay.livekit_participants_interval_secs (15 predefinito) e subito quando LiveKit invia webhook a /.well-known/nip29/livekit/webhook — punta webhook.urls del server LiveKit lì e fai corrispondere webhook.api_key a relay.livekit_api_key (il relay verifica il payload firmato; gli eventi persi sono riconciliati dal polling). Disattivare la modalità LiveKit di un gruppo cancella la lista.

Verifica del supporto

sh
curl -i http://127.0.0.1:8080/.well-known/nip29/livekit

204 significa che il server delle stanze è abilitato.

Configurazione

toml
[relay]
livekit_url = "wss://livekit.example.com"
livekit_api_key = "..."
livekit_api_secret = "..."
livekit_participants_interval_secs = 15
Tip
Le impostazioni di LiveKit sono fissate all’avvio — modificarle richiede un riavvio.