OASIS_MOBILE/src/configs
SITO 841acf2a7a karvan: quitar el STUN de Google y servir la configuracion ICE del propio nodo
El cliente tenia stun.l.google.com fijo en el codigo. Un servidor STUN aprende la
IP publica y el momento de cada consulta, asi que tal cual estaba cada llamada le
avisaba a Google de que ese usuario esta llamando. En un proyecto con esta postura
sobre privacidad no se sostiene.

Por defecto ya no hay ningun servidor ICE: solo candidatos host, que funcionan en
la misma red y con NAT amable. Es mas honesto degradar a nada que degradar a un
tercero.

Se anade turnCredentials.js, siguiendo el estilo de los helpers de src/backend/:
genera credenciales efimeras con el mecanismo REST de coturn (use-auth-secret),
username = caducidad:identificador y credential = HMAC-SHA1 en base64. El feed id
hace de identificador, que es lo que distingue a quien llama en Oasis. Como coturn
valida el HMAC, las credenciales se emiten sin hablar con el servidor y caducan
solas.

La ruta GET /karvan/ice las sirve solo a loopback —la credencial va firmada con el
secreto del nodo y no debe salir de la maquina— y el cliente la pide ANTES de crear
ninguna RTCPeerConnection, porque la configuracion ICE de una conexion ya creada no
se puede cambiar de forma fiable. Con dos segundos de espera maxima y respaldo a
candidatos host.

La configuracion vive en oasis-config.json bajo rtc, vacia de fabrica, y admite tres
formas: STUN propio, TURN con secreto compartido, o credenciales estaticas. Con
relayOnly se fuerza iceTransportPolicy relay para que ningun par vea la IP del otro.

Verificado: sin configuracion devuelve iceServers vacio; con secreto emite credencial
reproducible y con caducidad; cero referencias a Google en el codigo.
2026-08-19 00:16:50 +02:00
..
agenda-config.json upstream: integrar 0.9.5 en lo que no diverge (57 ficheros) + dependencias nuevas 2026-08-18 21:42:59 +02:00
AI-history.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
banking-allocations.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
banking-eco-history.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
banking-epochs.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
config-manager.js backend: backend.js a 0.9.5, con lo que faltaba para los modulos nuevos 2026-08-18 22:57:33 +02:00
content_favorites.json upstream: integrar 0.9.5 en lo que no diverge (57 ficheros) + dependencias nuevas 2026-08-18 21:42:59 +02:00
fediverse-accounts.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
follow_state.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
media-favorites.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
oasis-config.json karvan: quitar el STUN de Google y servir la configuracion ICE del propio nodo 2026-08-19 00:16:50 +02:00
server-config.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
shared-state.js upstream: integrar 0.9.5 en lo que no diverge (57 ficheros) + dependencias nuevas 2026-08-18 21:42:59 +02:00
snh-invite-code.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00
wallet-addresses.json Oasis 0.8.7 mobile (nodejs-project baseline) 2026-07-09 09:56:30 +02:00