wiki: 18 esquemas y dos paginas para entender Oasis desde cero

Faltaba la parte de arriba: alguien que llega sin saber que es SSB no tenia por
donde empezar. Ahora hay dos paginas antes de la rama:

  Entender Oasis  la red sin servidor, el registro firmado, el gossip, los
                  saltos, los pubs, apoyar contenido, los modulos, las tribus
                  y las nueve casas del LARP
  Empezar de cero conseguir invitacion, seguir gente, abrir blog o tienda

Los esquemas son dibujos propios en negro, amarillo y naranja, generados con
un script para poder rehacerlos cuando cambie algo. Los datos salen del codigo
de upstream, no de memoria: las nueve casas del LARP con sus nombres reales,
las 625 rutas de backend.js, el valor 2 de hops por defecto.

Los especificos de la rama van dentro de sus paginas: el ciclo de vida de una
sala de Karvan, la sala entre dos dispositivos, como se negocia una llamada,
chats contra Karvan, varias identidades, la interfaz de movil por dentro y que
hay dentro de la APK.

Y se enlazan oasis-project.pub para buscar pub con invitacion y 0asis.net para
empezar desde cero, que es lo que preguntaria cualquiera al llegar.
SITO 2026-08-20 00:14:35 +02:00
parent b06fdfb042
commit 837aaf8aa4
28 changed files with 251 additions and 3 deletions

@ -59,6 +59,8 @@ de serie se quitan antes de guardarlas.
## Chats o Karvan
![Chats o Karvan](img/esq/13-chats-karvan.png)
Son dos cosas distintas y conviene no confundirlas:
| | Chats | [Karvan](Karvan) |

@ -6,6 +6,8 @@
La APK se construye con un **proyecto Gradle propio**, en `android/`. Ya no se parte
del APK oficial como molde.
![Qué hay dentro de la APK](img/esq/16-arquitectura-movil.png)
## Qué se reutiliza y qué es nuevo
Tres bibliotecas nativas se toman tal cual del APK existente:

78
Empezar.md Normal file

@ -0,0 +1,78 @@
# Empezar desde cero
> Para quien acaba de instalar Oasis y ve una pantalla vacía ·
> [Volver a la portada](Home)
La primera vez desconcierta: no hay nada que leer, nadie a quien seguir y ningún botón
de "buscar amigos". Es normal. Esto se arregla en cinco minutos.
---
## Los seis pasos
![De cero a estar dentro](img/esq/05-empezar.png)
### Lo que hace falta de verdad
Solo dos cosas: **una invitación de un pub** y **seguir a alguien**. Sin lo primero no
te ve nadie fuera de tu wifi; sin lo segundo, tu pantalla seguirá vacía aunque estés
conectado.
### Dónde conseguir la invitación
En **[oasis-project.pub](https://oasis-project.pub)** hay un directorio de pubs con su
estado y su código de invitación. Eliges uno, copias el código y lo pegas en Oasis:
**Invites → pegar**.
Si prefieres empezar leyendo, **[0asis.net](https://0asis.net)** explica el proyecto
desde el principio.
### Y si no quieres pub
No hace falta. Dos equipos en la misma wifi se encuentran solos. Para un hacklab, una
casa okupa o una asamblea, la red funciona igual de puertas adentro y sin salir a
internet.
---
## Ya estoy dentro. ¿Y ahora qué?
![Tu blog y tu tienda](img/esq/10-blog-shop.png)
Lo primero que hace casi todo el mundo es escribir. Después, según para qué te haya
traído esto:
| Si quieres… | Enciende | Y verás |
|---|---|---|
| Publicar textos largos | **Blogs** | Un blog propio, sin dominio ni hosting |
| Vender o intercambiar | **Shops** | Una tienda con precios en ECOin |
| Organizar a un grupo | **Tribus** | Un grupo cerrado con llave propia |
| Debatir | **Foros** | Hilos con votación |
| Coordinar tareas | **Tasks**, **Projects** | Listas y proyectos compartidos |
| Hablar sin dejar rastro | **[Karvan](Karvan)** | Salas que se borran solas |
Todo eso vive **en tu disco** y se replica a quien te sigue. No hay que pagar hosting,
ni dominio, ni comisiones.
---
## Un aviso antes de publicar
Lo que sale de tu equipo **no se puede retirar del todo**. Puedes borrarlo de tu vista,
pero quien ya lo replicó lo tiene en su disco.
No es un fallo: es la consecuencia de que no haya un servidor central que pueda decidir
qué desaparece. Conviene tenerlo presente **antes** de escribir, no después.
---
## Los tres sitios que vas a necesitar
| | |
|---|---|
| **[oasis-project.pub](https://oasis-project.pub)** | Directorio de pubs, con invitaciones y estado de cada uno |
| **[0asis.net](https://0asis.net)** | El proyecto explicado desde cero |
| **[wiki.solarnethub.com](https://wiki.solarnethub.com/socialnet/overview)** | La documentación oficial, módulo por módulo |
Y si algo no arranca o se ve raro, mira **[Si algo va mal](Problemas)**: están los
fallos que han pasado de verdad y cómo se arreglan.

133
Entender.md Normal file

@ -0,0 +1,133 @@
# Entender Oasis en diez minutos
> Esta página explica **la red**, no esta rama. Si ya sabes cómo funciona SSB, salta
> directamente a [Karvan](Karvan) o a [Llamadas](Llamadas) ·
> [Volver a la portada](Home)
Oasis no se parece a las redes que ya conoces, y por eso cuesta la primera media hora.
Cuando cae, cae del todo.
---
## 1. No hay servidor. Hay copias
![Qué es Oasis](img/esq/01-red.png)
Cuando publicas algo, no lo subes a ningún sitio: lo escribes en **tu propio disco**.
Lo que ocurre después es que otras personas se traen una copia.
Eso cambia tres cosas de golpe:
- **No hay cuenta.** Tu identidad es una clave que se genera en tu equipo. No hay
correo, ni contraseña, ni nadie que pueda cerrártela.
- **No hay caída del servicio.** Si el pub se apaga, sigues teniendo todo tu Oasis.
- **No hay borrado real.** Lo que se replicó, replicado está. Esto es importante y se
explica más abajo.
---
## 2. Tu registro es una cadena firmada
![Tu registro](img/esq/14-registro.png)
Cada cosa que publicas se encadena a la anterior y va firmada con tu clave. Nadie puede
colar un mensaje en medio, ni cambiar lo que dijiste, sin que la cadena se rompa a la
vista de todos.
Y de aquí sale el único peligro serio de todo Oasis: **si publicas desde dos sitios con
la misma clave**, se crean dos eslabones con el mismo número, la red ve la bifurcación
y deja de replicar ese registro. La identidad se pierde y no se recupera.
Por eso una copia de seguridad se guarda, no se usa a la vez.
---
## 3. Los mensajes viajan de vecino en vecino
![Cómo llega un mensaje](img/esq/02-gossip.png)
Se llama **gossip**, como el rumor: cada nodo le cuenta a sus vecinos lo que ha
recibido. No hace falta que dos personas se conecten entre sí, ni siquiera que estén
encendidas a la vez.
Por eso Oasis funciona **sin internet**: dos móviles en la misma wifi se encuentran
solos y se pasan lo que tienen.
---
## 4. Los saltos deciden cuánto te traes
![Los saltos](img/esq/03-hops.png)
Un salto es una persona de distancia. Con **2** —el valor de fábrica— te descargas a
quien sigues y a quien siguen ellos.
No es un permiso: no da acceso a nada. Solo dice cuánto material guardas en tu disco
para poder leerlo sin conexión.
---
## 5. Un pub es un nodo que no se apaga
![Qué es un pub](img/esq/04-pub.png)
Es la pieza que más se malinterpreta. Un pub **no es un servidor con tus datos**: es un
vecino que está siempre encendido y que, por eso, resulta cómodo para sincronizar y
para que gente nueva entre.
Encontrarás pubs con su invitación en **[oasis-project.pub](https://oasis-project.pub)**.
---
## 6. Lo que llega lejos es lo que la gente repite
![Apoyar algo](img/esq/06-spread.png)
No hay algoritmo que decida qué ves. Cuando apoyas algo, **publicas en tu propio
registro** que eso merece la pena, y por eso llega a quien te sigue.
Es un gesto con tu firma detrás, no un contador en una base de datos ajena.
---
## 7. Todo lo demás son módulos
![Los módulos](img/esq/07-modulos.png)
Oasis no es un muro con publicaciones: son casi cincuenta herramientas —foros, mercado,
tareas, mapas, tienda, parlamento— y enciendes las que uses.
### Dos que conviene conocer
![Tribus](img/esq/08-tribus.png)
Una **tribu** es un grupo con llave propia: lo que se publica dentro viaja cifrado por
la red y solo lo entienden sus miembros. Los pubs lo repiten sin poder leerlo.
![Las nueve casas](img/esq/09-larp.png)
El **L.A.R.P.** parece un juego y es la forma que tiene la red de organizarse: se entra
en una casa, se proponen cosas, se vota, y de ahí salen los gobiernos del Parlamento.
Todo el mundo empieza en ACADEMIA.
---
## Lo que esta rama añade encima
Hasta aquí, Oasis. Lo que cambia en esta rama:
| | |
|---|---|
| **[Karvan](Karvan)** | Salas que no guardan nada y se autodestruyen |
| **[Llamadas](Llamadas)** | Audio y vídeo directos, sin servidores de terceros |
| **[La interfaz](Interfaz)** | Panal de hexágonos pensado para el pulgar |
| **[Identidades](Identidades)** | Varias cuentas en el mismo móvil |
---
## Para seguir leyendo
- **[0asis.net](https://0asis.net)** — el sitio del proyecto, para empezar desde cero
- **[oasis-project.pub](https://oasis-project.pub)** — directorio de pubs con invitaciones
- **[wiki.solarnethub.com](https://wiki.solarnethub.com/socialnet/overview)** — la documentación oficial, módulo por módulo
- **[github.com/epsylon/oasis](https://github.com/epsylon/oasis)** — el código del proyecto original

11
Home.md

@ -7,9 +7,12 @@
![Las cuatro novedades](img/00-novedades.png)
**Esta wiki solo cuenta lo que esta rama hace distinto.** Lo demás —qué es SSB, cómo
funcionan los pubs, para qué sirve cada módulo de Oasis— está en la
[wiki del proyecto oficial](https://wiki.solarnethub.com/socialnet/overview), y no
**¿Es la primera vez que oyes hablar de Oasis?** Empieza por
**[Entender Oasis en diez minutos](Entender)**: la red, los pubs, los saltos y el
registro, explicados con esquemas. Y luego **[Empezar desde cero](Empezar)**.
El resto de esta wiki cuenta **solo lo que esta rama hace distinto**. Lo demás está en
la [wiki del proyecto oficial](https://wiki.solarnethub.com/socialnet/overview), y no
tiene sentido repetirlo peor.
---
@ -42,6 +45,8 @@ tiene sentido repetirlo peor.
| Página | Qué cuenta |
|---|---|
| **[Entender Oasis](Entender)** | La red, el gossip, los saltos, los pubs y el registro, con esquemas |
| **[Empezar desde cero](Empezar)** | Conseguir invitación, seguir gente, abrir tu blog o tu tienda |
| **[Karvan](Karvan)** | Salas efímeras: crear, invitar, cuánto viven, qué protege y qué no |
| **[Llamadas](Llamadas)** | Cómo se llama, por qué la APK oficial no puede, y el TURN |
| **[La interfaz](Interfaz)** | El panal, los filtros y la barra, botón por botón |

@ -9,6 +9,8 @@ base de datos— cuelga de ella y vive en su propia carpeta.
Esta rama permite tener **varias en el mismo móvil** y elegir con cuál entrar. Está en
**Personal → Settings → Identities**.
![Varias identidades](img/esq/15-identidades.png)
---
<img src="img/24-identidades.png" width="300" align="right">

@ -10,6 +10,8 @@ dos **filtros** arriba y una **barra de accesos rápidos** abajo.
Nada de esto usa JavaScript en el cliente: son enlaces, `<details>` y formularios,
igual que el resto de Oasis.
![La interfaz por dentro](img/esq/18-interfaz.png)
---
## 1. El panal de hexágonos

@ -6,6 +6,8 @@
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 Karvan](img/esq/11-karvan.png)
---
## Recorrido completo, paso a paso
@ -153,6 +155,20 @@ pregunta por el módulo antes de responder, igual que las de upstream.
---
## Entre dos dispositivos
![Una sala entre dos dispositivos](img/esq/19-relay.png)
Una sala vive en la memoria de **un** nodo. Para que tu portátil entre en una sala que
creaste en el móvil, la invitación viaja como mensaje privado de SSB y el otro nodo la
adopta.
Ahí está el matiz que conviene tener claro: los mensajes siguen siendo efímeros en los
dos lados, pero **la invitación no**. Queda en tu registro que invitaste a alguien a una
sala, aunque no quede rastro de qué se dijo dentro.
---
## Lo mismo en el ordenador
Karvan está también en

@ -7,6 +7,8 @@ Dentro de una sala de [Karvan](Karvan) hay un botón de llamada. El audio y el v
van **directamente entre los participantes** por WebRTC, cifrados de extremo a extremo
por el propio protocolo.
![Cómo funciona una llamada](img/esq/12-llamadas.png)
## Cómo se llama, paso a paso
### 1. Pulsar Call

@ -6,6 +6,12 @@
---
- [Portada](Home)
**Oasis en general**
- [Entender Oasis](Entender)
- [Empezar desde cero](Empezar)
**Esta rama**
- [La interfaz](Interfaz)
- [Karvan · salas efímeras](Karvan)
- [Llamadas](Llamadas)

BIN
img/esq/01-red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
img/esq/02-gossip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

BIN
img/esq/03-hops.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
img/esq/04-pub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

BIN
img/esq/05-empezar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

BIN
img/esq/06-spread.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

BIN
img/esq/07-modulos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
img/esq/08-tribus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

BIN
img/esq/09-larp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
img/esq/10-blog-shop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
img/esq/11-karvan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

BIN
img/esq/12-llamadas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

BIN
img/esq/13-chats-karvan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
img/esq/14-registro.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
img/esq/15-identidades.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
img/esq/18-interfaz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

BIN
img/esq/19-relay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB