Rama de desarrollo experimental sobre el Oasis de epsylon, sin afiliacion con el proyecto original. Base: 0.9.5. Trae el modulo Karvan —salas efimeras en memoria con autodestruccion por TTL, chat que funciona sin JavaScript y llamadas de audio y video sobre WebRTC— con el enlace en el menu lateral por el mismo patron que el resto de modulos: renderKarvanLink calcado de renderPollsLink, entrada en modules_view y en la lista de /modules. Los estilos del modulo van en su propia hoja, styles/karvan.css, siguiendo el patron de highlight.css: asi se ve igual con cualquier tema, sin depender del tema movil. Sin servidores ICE de terceros: no hay STUN de fabrica, porque un STUN aprende la IP publica y el momento de cada llamada. Solo candidatos host salvo que se configure un TURN propio en oasis-config.json, con credenciales efimeras por el mecanismo REST de coturn. El codigo propio vive separado —views/fork/, backend/fork_routes.js, models/karvan_model.js y translations/fork/— de modo que sobre los ficheros de upstream solo hay enganches de una linea y cada version nueva se integra sin arrastrar nada. Respecto al arbol de Android: fuera el wrapper y main.js, que es su arranque; el tema vuelve a Dark-SNH y se restauran los modulos que en movil se recortan por peso. Verificado arrancando sin OASIS_MOBILE: nueve rutas OK, menu lateral de upstream con 27 grupos y el enlace de Karvan, cero rastro de la interfaz movil (ni hexagonos, ni topbar, ni barra inferior), y una sala creada y servida.
78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# 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`:
|
|
|
|
```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:
|
|
|
|
```sh
|
|
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.
|