Rama experimental de Oasis para escritorio con Karvan (salas efimeras y llamadas). NO oficial: el oficial es github.com/epsylon/oasis
Find a file
SITO 9cadc45c1d estructura: los ficheros de la rama, donde los pondria el dev
Upstream no usa ni un solo subdirectorio en src/views, src/backend, src/models,
src/client/assets/styles ni translations: todo plano. La rama habia creado dos
(views/fork/ y translations/fork/), que es lo que mas se separaba de su forma de
organizar el codigo. Se deshacen, y los ficheros pasan a llamarse como los suyos:

  views/fork/hive_nav.js          -> views/hive_views.js      (como main_views.js)
  views/fork/identities.js        -> views/identities_view.js (como *_view.js)
  translations/fork/i18n_fork.js  -> translations/i18n_fork.js (junto a i18n.js)
  backend/fork_routes.js          -> backend/karvan_routes.js (familia karvan_*)

Ademas se retira una ruta duplicada: /legacy/export estaba declarada dos veces,
en backend.js (la del dev) y en el fichero de rutas de la rama, con el mismo
cuerpo salvo un && defensivo. Nacio cuando el formulario se paso a GET; al
devolverlo a POST quedo como copia exacta. Con ella se van legacyModel y
onboardingModel, que ya no hacia falta inyectar.

La cabecera del fichero de rutas explica ahora por que sigue existiendo, con los
datos medidos y no de memoria: backend.js concentra 625 rutas y se reescribe en
cada release (+833/-286 en la 0.9.2, +266/-31 en la 0.9.1), asi que una ruta
anadida en medio entra en conflicto cada vez.

Quedan diez ficheros propios, todos siguiendo la convencion de upstream, y
+247 lineas repartidas en 21 ficheros suyos (sin contar OasisMobile.css, que es
el tema de la rama).

Comprobado tras mover: arranque, las siete rutas principales, el selector de
identidades con sus siete entradas y su aviso, crear sala y enviar mensaje en
Karvan, y la exportacion de identidad por la ruta del dev.
2026-08-19 20:38:26 +02:00
docs Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
scripts Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
src estructura: los ficheros de la rama, donde los pondria el dev 2026-08-19 20:38:26 +02:00
test Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
.gitignore modules: karvan en su sitio alfabetico 2026-08-19 10:31:36 +02:00
install.sh Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
LICENSE Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
oasis.sh Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
package.json Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00
README.md Oasis 0.9.5 con Karvan para escritorio 2026-08-19 00:35:08 +02:00

OASIS_LINUX — rama de desarrollo experimental

⚠ ESTO NO ES OASIS OFICIAL

Esta es una rama de desarrollo experimental mantenida por el hacklab, no afiliada al proyecto original.

El repositorio oficial de Oasis es el de epsylon: https://github.com/epsylon/oasis

Si quieres usar Oasis de verdad, instala el oficial. Lo que hay 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.

Qué añade esta rama

Karvan — salas efímeras

Salas de chat que viven solo en memoria y se autodestruyen solas:

  • TTL de inactividad (30 min) y absoluto (2 h), configurables al crear la sala.
  • Nada se escribe en disco ni en el log SSB: al vencer el plazo, la sala y sus mensajes desaparecen.
  • Anillo de 250 mensajes, 100 salas simultáneas, 50 miembros por sala.
  • El identificador de sala son 72 bits y es la única credencial: quien tiene el enlace, entra. No hay lista de miembros que valga.
  • Invitación a un contacto por mensaje privado SSB.
  • Funciona sin JavaScript: enviar y recibir van por formulario y recarga. Con JavaScript se añade un canal directo entre pares.

Llamadas de audio y vídeo

Sobre el mismo WebRTC del chat. En escritorio el navegador pide los permisos de cámara y micrófono directamente.

Sin servidores de terceros: no hay ningún STUN de fábrica. Un servidor STUN aprende la IP pública y el momento de cada llamada, así que no se pone ninguno. Por defecto solo hay candidatos host, que funcionan en la misma red y con NAT amable. Si tu nodo tiene TURN propio, se configura en oasis-config.json:

"rtc": {
  "stun": ["stun:tu.pub:3478"],
  "turn": { "urls": ["turn:tu.pub:3478"], "secret": "<static-auth-secret>", "ttlSec": 3600 },
  "relayOnly": false
}

Con secret se emiten credenciales efímeras por el mecanismo REST de coturn. Con relayOnly toda la media pasa por el TURN y ningún par ve la IP del otro.

Qué NO tiene respecto al oficial

  • Módulo de IA: fuera. El modelo son unos 4 GB.
  • housing: portado pero apagado por defecto.

Instalación

Igual que el oficial:

cd src/server && npm install
cd ../.. && ./oasis.sh

Relación con upstream

Esta rama sigue las versiones de epsylon de cerca. El código propio vive separado (src/views/fork/, src/backend/fork_routes.js, src/models/karvan_model.js y las traducciones en translations/fork/) para que integrar cada versión nueva no arrastre la interfaz de la rama. Sobre los ficheros de upstream solo hay enganches de una línea.

Licencia

AGPL-3.0, la misma que el proyecto original.