From 8990bfb26cabe44f4df77bd0803722ba43edddcd Mon Sep 17 00:00:00 2001 From: SITO Date: Wed, 19 Aug 2026 00:40:51 +0200 Subject: [PATCH] wiki: documentacion de la version de escritorio MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cinco paginas: portada, Karvan, llamadas, instalacion y estado. Con captura propia de la interfaz de escritorio, que es la del proyecto original —menu lateral por grupos— y no la rejilla de hexagonos del movil. Mismo aviso que en la wiki de movil: rama experimental, sin afiliacion, con enlace al repositorio oficial de epsylon y la indicacion de que los fallos se reportan aqui. Repetido en la cabecera de cada pagina. Karvan y Llamadas se comparten con la wiki de movil porque el modulo es el mismo; solo cambia el apartado de permisos, que en escritorio los pide el navegador y no hace falta envoltorio. La pagina de instalacion avisa de lo unico que puede destruir algo: ejecutar esta rama y el Oasis oficial a la vez con la misma identidad parte el registro para siempre. --- Home.md | 85 +++++++++++++++++++++++++++++++- Instalar.md | 42 ++++++++++++++++ Karvan.md | 68 ++++++++++++++++++++++++++ Llamadas.md | 97 +++++++++++++++++++++++++++++++++++++ Roadmap.md | 24 +++++++++ img/01-escritorio-menu.png | Bin 0 -> 63522 bytes 6 files changed, 315 insertions(+), 1 deletion(-) create mode 100644 Instalar.md create mode 100644 Karvan.md create mode 100644 Llamadas.md create mode 100644 Roadmap.md create mode 100644 img/01-escritorio-menu.png diff --git a/Home.md b/Home.md index cdb8d0e..2e4c666 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,84 @@ -init \ No newline at end of file +# Oasis para escritorio — rama de desarrollo experimental + +> # ⚠ ESTO NO ES OASIS OFICIAL +> +> Esta wiki documenta una **rama de desarrollo experimental** mantenida por el +> hacklab, **sin afiliación** con el proyecto original. +> +> ## El Oasis oficial es el de epsylon: https://github.com/epsylon/oasis +> +> Si quieres **usar Oasis de verdad, instala el oficial**. Lo que se documenta aquí +> puede romperse, cambiar de forma incompatible o desaparecer sin aviso. No está +> auditado y no tiene garantía de ninguna clase. +> +> **Los fallos de esta rama se reportan aquí, nunca a epsylon.** + +Versión base: **Oasis 0.9.5**. Rama: `PRUEBAS`. + +--- + +## Qué añade respecto al oficial + +Una sola cosa, pero grande: **Karvan**, un módulo de salas efímeras con llamadas. + +![Oasis de escritorio con el menú lateral](img/01-escritorio-menu.png) + +El resto es Oasis 0.9.5 tal cual. La interfaz es la del proyecto original: el menú +lateral por grupos, no la rejilla de hexágonos, que es de la versión para móvil. + +| | | +|---|---| +| **[Karvan](Karvan)** | Salas que viven solo en memoria y se autodestruyen | +| **[Llamadas](Llamadas)** | Audio y vídeo sobre WebRTC, sin servidores de terceros | +| **[Instalar](Instalar)** | Igual que el oficial | +| **[Estado](Roadmap)** | Qué funciona y qué no | + +--- + +## Instalación + +Exactamente igual que el Oasis oficial: + +```sh +cd src/server && npm install +cd ../.. && ./oasis.sh +``` + +Karvan aparece en el menú lateral, en el grupo de comunicación, junto a los chats. Se +puede apagar desde `/modules` como cualquier otro módulo. + +--- + +## Relación con la versión para móvil + +Hay un repositorio hermano, **OASIS_MOBILE**, con la versión de Android: misma base y +mismo módulo Karvan, pero con una interfaz distinta pensada para el pulgar. + +El código de Karvan es el mismo en ambos. Lo que cambia es el enganche: aquí un enlace +en el menú lateral siguiendo el patrón del proyecto original, allí una rejilla de +hexágonos. + +--- + +## Cómo está organizado el código + +El código propio vive separado de los ficheros del proyecto original: + +``` +src/models/karvan_model.js las salas y su ciclo de vida +src/views/karvan_view.js la interfaz de la sala +src/backend/fork_routes.js las rutas del módulo +src/backend/turnCredentials.js credenciales efímeras para TURN +src/client/public/js/karvan.js el cliente WebRTC del navegador +src/client/assets/styles/karvan.css los estilos del módulo +``` + +Sobre los ficheros de upstream solo hay **enganches de una línea**. El motivo: +epsylon publica una versión cada dos a cuatro días, y así cada una se integra sin +arrastrar nada. + +--- + +## Licencia + +AGPL-3.0, la misma que el proyecto original. diff --git a/Instalar.md b/Instalar.md new file mode 100644 index 0000000..caf845c --- /dev/null +++ b/Instalar.md @@ -0,0 +1,42 @@ +# Instalar + +> ⚠ Rama experimental, no oficial. El Oasis oficial es +> https://github.com/epsylon/oasis · [Volver a la portada](Home) + +Igual que el Oasis oficial, porque es el mismo árbol con un módulo más. + +```sh +git clone https://gitea.laenre.net/hacklab/OASIS_LINUX.git +cd OASIS_LINUX/src/server && npm install +cd ../.. && ./oasis.sh +``` + +Abre `http://localhost:3000`. + +## Activar Karvan + +Viene activado. Si no lo ves en el menú lateral, míralo en `/modules`. + +## Configurar un TURN + +Solo si quieres llamadas fuera de tu red local. En `src/configs/oasis-config.json`: + +```json +"rtc": { + "stun": ["stun:tu.pub:3478"], + "turn": { "urls": ["turn:tu.pub:3478"], "secret": "", "ttlSec": 3600 }, + "relayOnly": false +} +``` + +De fábrica está vacío: **sin servidores de terceros**. Ver [Llamadas](Llamadas) para +el porqué y para cómo endurecer coturn. + +## Si vienes del Oasis oficial + +Tu identidad y tus datos están en `~/.ssb` y esta rama los usa igual. Aun así, **haz +copia de seguridad antes de probar**: es una rama experimental. + +> ⚠ **No ejecutes esta rama y el Oasis oficial a la vez con la misma identidad.** +> Publicar desde dos sitios con el mismo `secret` **parte tu registro y lo deja +> inservible para siempre**. No es recuperable. diff --git a/Karvan.md b/Karvan.md new file mode 100644 index 0000000..62d7983 --- /dev/null +++ b/Karvan.md @@ -0,0 +1,68 @@ +# Karvan — salas efímeras + +> ⚠ Rama experimental, no oficial. El Oasis oficial es +> https://github.com/epsylon/oasis · [Volver a la portada](Home) + +Salas de chat que **viven solo en memoria** y se destruyen solas. Nada se escribe en +disco ni en el registro de SSB. + + +## Cómo funciona + +Al crear una sala eliges cuánto vive. A partir de ahí: + +- **Se autodestruye por inactividad** (30 minutos por defecto) y **por tiempo + absoluto** (2 horas), lo que ocurra antes. El plazo absoluto no se renueva con la + actividad: la sala muere igual. +- Al vencer, **se borra todo**: mensajes, señales y la lista de miembros. +- Si reinicias Oasis, las salas desaparecen. Es lo correcto: solo existían en memoria. + +## Quién puede entrar + +**Quien tenga el enlace.** El identificador de la sala son 72 bits al azar y es la +única credencial que existe. No hay lista de miembros ni permisos. + +Esto es deliberado —así una sala se comparte pegando un enlace— pero conviene tenerlo +claro: **cualquiera con el enlace entra**, y quien esté dentro puede pasárselo a otro. + +Para invitar a un contacto sin pegar el enlace en ningún sitio, el botón de invitación +le manda un **mensaje privado de SSB** con el enlace dentro. + +## Límites + +Existen para que una sala no pueda tumbar el nodo: + +| | | +|---|---| +| Mensajes que se conservan | 250 (los más recientes) | +| Salas a la vez | 100 | +| Miembros por sala | 50 | +| Tamaño de señalización | 16 KiB | +| Texto por mensaje | 2000 caracteres | + +## Funciona sin JavaScript + +El chat es utilizable **con JavaScript desactivado**: escribir manda un formulario y +la página se recarga sola cada diez segundos para traer los mensajes nuevos. + +Con JavaScript activado se añade un canal directo entre navegadores, y entonces los +mensajes llegan al instante sin pasar por el servidor. + +## Qué protege y qué no + +**Protege**: los mensajes no tocan el disco, no entran en tu registro de SSB y +desaparecen solos. No queda rastro que replicar ni que incautar después. + +**No protege**: + +- El **servidor ve los mensajes** que pasan por él. Solo el canal directo entre + navegadores queda fuera de su alcance. +- Mientras la sala existe, sus **metadatos existen** en memoria: quién está dentro, + cuándo se creó. +- El **relay entre dispositivos** sí publica mensajes privados de SSB, que **son + permanentes**. Es lo que permite que una sala funcione entre tu móvil y tu + ordenador, pero conviene saberlo: eso ya no es efímero. +- Quien tenga el enlace entra, como se explica arriba. + +Karvan sirve para conversaciones que no quieres conservar. **No es una herramienta +contra un adversario que ya controla tu dispositivo o el servidor.** diff --git a/Llamadas.md b/Llamadas.md new file mode 100644 index 0000000..b574a14 --- /dev/null +++ b/Llamadas.md @@ -0,0 +1,97 @@ +# Llamadas de audio y vídeo + +> ⚠ Rama experimental, no oficial. El Oasis oficial es +> https://github.com/epsylon/oasis · [Volver a la portada](Home) + +Dentro de una sala de [Karvan](Karvan) hay un botón de llamada. El audio y el vídeo +van **directamente entre los participantes** por WebRTC, cifrados de extremo a extremo +por el propio protocolo. + +## Permisos de cámara y micrófono + +En escritorio los pide el navegador directamente, la primera vez que inicias una +llamada. No hay nada especial que configurar. + +En la versión de Android hizo falta un envoltorio propio para poder concederlos; aquí +no aplica. + +## Sin servidores de terceros + +Casi todas las aplicaciones con WebRTC traen configurado un servidor STUN público, +normalmente de Google. **Aquí no hay ninguno.** + +El motivo: un servidor STUN aprende **la IP pública y el momento exacto de cada +consulta**. Con la configuración habitual, cada llamada le estaría diciendo a Google +que ese usuario está llamando ahora. En un proyecto con esta postura sobre la +privacidad, no se sostiene. + +Por defecto solo se usan **candidatos host**: funciona en la misma red local y con +routers domésticos amables. Se prefiere degradar a nada antes que a un tercero. + +## Si necesitas atravesar NAT + +Con datos móviles o detrás de CGNAT hará falta un servidor TURN. La configuración va +en `oasis-config.json`: + +```json +"rtc": { + "stun": ["stun:tu.pub:3478"], + "turn": { + "urls": ["turn:tu.pub:3478"], + "secret": "", + "ttlSec": 3600 + }, + "relayOnly": false +} +``` + +Con `secret` se generan credenciales que **caducan solas** (mecanismo REST de coturn): +no hay usuarios que dar de alta y una credencial filtrada vale una hora. + +Con `relayOnly: true` **toda** la media pasa por el TURN, de modo que ningún +participante ve la dirección IP del otro. Cuesta ancho de banda del servidor, pero es +lo que hay que activar si los participantes no deberían conocer sus IPs. + +### Si montas el TURN, endurécelo + +Un TURN mal configurado es un **relay abierto** hacia la red interna del servidor. +Como mínimo, en `turnserver.conf`: + +``` +use-auth-secret +static-auth-secret=<32 bytes aleatorios, fichero con permisos 600> +realm= +fingerprint + +no-loopback-peers +no-multicast-peers +denied-peer-ip=10.0.0.0-10.255.255.255 +denied-peer-ip=172.16.0.0-172.31.255.255 +denied-peer-ip=192.168.0.0-192.168.255.255 +denied-peer-ip=169.254.0.0-169.254.255.255 +denied-peer-ip=100.64.0.0-100.127.255.255 +denied-peer-ip=127.0.0.0-127.255.255.255 +denied-peer-ip= + +user-quota=12 +total-quota=1200 +max-bps=1500000 +``` + +La última línea de `denied-peer-ip` es la que casi todo el mundo olvida: +`no-loopback-peers` impide llegar a `127.0.0.1`, **pero no impide que alguien pida un +relay hacia la IP pública de tu propia máquina** y alcance así tu puerto de SSB o tu +servidor web. Sin esa línea, tu TURN es una puerta a tus propios servicios. + +Compruébalo con `turnutils_uclient` contra una IP privada y contra la IP pública del +servidor: **las dos deben fallar**. + +## Limitaciones honestas + +- **Un participante = un nodo.** Dos pestañas del mismo Oasis comparten identidad y no + se enlazan entre sí. Para probar de verdad hacen falta dos nodos distintos. +- **Sin TURN, con datos móviles casi nunca conectará.** El CGNAT de los operadores lo + impide. +- La señalización pasa por el servidor de la sala: un servidor comprometido podría + colocarse en medio. La media va cifrada extremo a extremo, pero **quien controla la + señalización controla con quién crees que hablas**. diff --git a/Roadmap.md b/Roadmap.md new file mode 100644 index 0000000..cfa5155 --- /dev/null +++ b/Roadmap.md @@ -0,0 +1,24 @@ +# Estado + +> ⚠ Rama experimental, no oficial. El Oasis oficial es +> https://github.com/epsylon/oasis · [Volver a la portada](Home) + +## Hecho + +- Base **Oasis 0.9.5**, al día con el proyecto oficial. +- **[Karvan](Karvan)** con su enlace en el menú lateral, siguiendo el mismo patrón que + el resto de módulos. +- Estilos del módulo en su propia hoja, para que se vea igual con cualquier tema. +- **Sin STUN de terceros**, con configuración para TURN propio. + +## Sin empezar + +- Poner en marcha un TURN en un pub. +- Varias identidades en el mismo equipo con cambio desde la interfaz. +- Empaquetado `.deb` de esta rama. + +## Diferencias con la versión para móvil + +La versión de Android lleva además una interfaz propia (hexágonos, barra de accesos +rápidos) y algunos módulos recortados por peso. Aquí no: la interfaz es la del +proyecto original y están todos los módulos. diff --git a/img/01-escritorio-menu.png b/img/01-escritorio-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..98f3bcb9a850c6991b1f7bc8c1e2a9dd5d49ce22 GIT binary patch literal 63522 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