multistreaming: scenes/composition, installer build support, service updates

- multistreaming (new): RTMP ingest + multi-platform fan-out with pluggable providers (Twitch/YouTube/Kick/custom), zero-knowledge key vaults, Authelia OIDC auth, shared rooms with editor/streamer roles, single-use invites, per-account streaming grants, and scenes & composition (grid/PiP layouts, text/image overlays, per-output audio routing).
- installer: support Dockerfile build in metadata (not just image) and RSA key generation for the Authelia OIDC JWKS.
- authelia: add OIDC provider with portainer + multistreaming clients (public + PKCE).
- services: remove allprox; add nginx-proxy-manager and portainer; update lldap; regenerate catalog.
This commit is contained in:
Ezequiel C. 2026-09-02 21:18:25 +02:00
parent bb754cdd8c
commit 187379de4e
106 changed files with 21391 additions and 286 deletions

View file

@ -0,0 +1,21 @@
'use strict';
const assert = require('node:assert/strict');
const test = require('node:test');
const { randomToken, pkceChallenge } = require('../src/oidc');
test('PKCE S256 challenge is deterministic and 43 chars (base64url SHA-256)', () => {
const verifier = 'abc123';
const c1 = pkceChallenge(verifier);
const c2 = pkceChallenge(verifier);
assert.equal(c1, c2);
assert.equal(c1.length, 43);
assert.notEqual(c1, verifier);
});
test('random tokens are unique and long enough', () => {
const a = randomToken();
const b = randomToken();
assert.notEqual(a, b);
assert.ok(a.length >= 43);
});