wiki: 17 esquemas y dos paginas para entender Oasis desde cero
Mismas dos paginas nuevas que en la de movil —Entender Oasis y Empezar desde cero— con los esquemas de la red, el registro firmado, el gossip, los saltos, los pubs, apoyar contenido, los modulos, las tribus y el LARP. Los propios de esta rama van dentro de sus paginas: Karvan y su ciclo de vida, la sala entre dos equipos, la negociacion de una llamada, chats contra Karvan, las identidades y la arquitectura de escritorio, que es distinta de la de la APK y por eso tiene su propio dibujo. Se enlazan oasis-project.pub y 0asis.net.
2
Chats.md
|
|
@ -48,6 +48,8 @@ intacta sin avisar**. Aquí no depende de nada. Ver [Si algo va mal](Problemas).
|
|||
|
||||
## Chats o Karvan
|
||||
|
||||

|
||||
|
||||
Son dos cosas distintas y conviene no confundirlas:
|
||||
|
||||
| | Chats | [Karvan](Karvan) |
|
||||
|
|
|
|||
80
Empezar.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# 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
|
||||
|
||||

|
||||
|
||||
### 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é?
|
||||
|
||||

|
||||
|
||||
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, con videollamada |
|
||||
|
||||
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.
|
||||
|
||||
Para instalarlo y para tener varias identidades en el mismo equipo, **[Instalar](Instalar)**.
|
||||
137
Entender.md
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
# 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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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 |
|
||||
| **[Identidades](Instalar)** | Varias cuentas en el mismo equipo |
|
||||
| **[Respuesta citada](Chats)** | Responder a un mensaje concreto en los chats |
|
||||
|
||||
La interfaz no se toca: es la del Oasis oficial, con sus mismos nombres y sus mismos
|
||||
módulos. Lo que cambia respecto al repositorio de móvil está en
|
||||
**[Diferencias](Diferencias)**.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
|
@ -9,6 +9,8 @@ código propio se distingue del suyo y no le estorba.
|
|||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## La regla
|
||||
|
||||
**Upstream no usa ni un solo subdirectorio** en `src/views`, `src/backend`,
|
||||
|
|
|
|||
11
Home.md
|
|
@ -7,9 +7,12 @@
|
|||
|
||||

|
||||
|
||||
**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— 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.
|
||||
|
||||
La interfaz es la suya, sin tocar: el menú lateral por grupos, los mismos nombres de
|
||||
|
|
@ -34,6 +37,8 @@ categoría, los mismos módulos.
|
|||
|
||||
| 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 |
|
||||
| **[Instalar](Instalar)** | Puesta en marcha, varias identidades y avisos antes de tocar tu `~/.ssb` |
|
||||
| **[Karvan](Karvan)** | Salas efímeras: crear, invitar, cuánto viven, qué protege y qué no |
|
||||
| **[Llamadas](Llamadas)** | WebRTC sin terceros, la prueba entre dos participantes y el TURN |
|
||||
|
|
|
|||
12
Instalar.md
|
|
@ -23,8 +23,20 @@ Jobs y L.A.R.P.
|
|||
|
||||

|
||||
|
||||
## Cómo encaja todo
|
||||
|
||||

|
||||
|
||||
Oasis levanta un servidor **en tu propia máquina**. El navegador es solo la ventana: las
|
||||
páginas se generan localmente y no pasan por ningún sitio ajeno. Lo único que sale a la
|
||||
red es la replicación, por el puerto 8008.
|
||||
|
||||
---
|
||||
|
||||
## Varias identidades en el mismo equipo
|
||||
|
||||

|
||||
|
||||
Esta rama admite más de una cuenta. La variable `OASIS_ACCOUNT` decide **dónde vive
|
||||
todo**: el `secret`, la base de datos y los blobs.
|
||||
|
||||
|
|
|
|||
14
Karvan.md
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Recorrido completo, paso a paso
|
||||
|
|
@ -106,6 +108,18 @@ 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.
|
||||
|
||||
## Entre dos equipos
|
||||
|
||||

|
||||
|
||||
Una sala vive en la memoria de **un** nodo. Para que otro equipo entre en ella, la
|
||||
invitación viaja como mensaje privado de SSB y el nodo que la recibe la adopta.
|
||||
|
||||
Los mensajes siguen siendo efímeros en los dos lados, pero **la invitación no**: queda
|
||||
en tu registro que invitaste a alguien, aunque no quede qué se dijo dentro.
|
||||
|
||||
---
|
||||
|
||||
## Qué protege y qué no
|
||||
|
||||
**Protege**: los mensajes no tocan el disco, no entran en tu registro de SSB y
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
## Los botones
|
||||
|
||||

|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@
|
|||
---
|
||||
|
||||
- [Portada](Home)
|
||||
|
||||
**Oasis en general**
|
||||
- [Entender Oasis](Entender)
|
||||
- [Empezar desde cero](Empezar)
|
||||
|
||||
**Esta rama**
|
||||
- [Instalar](Instalar)
|
||||
- [Karvan · salas efímeras](Karvan)
|
||||
- [Llamadas](Llamadas)
|
||||
|
|
|
|||
BIN
img/esq/01-red.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
img/esq/02-gossip.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
img/esq/03-hops.png
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
img/esq/04-pub.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
img/esq/05-empezar.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
img/esq/06-spread.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
img/esq/07-modulos.png
Normal file
|
After Width: | Height: | Size: 163 KiB |
BIN
img/esq/08-tribus.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
img/esq/09-larp.png
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
img/esq/10-blog-shop.png
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
img/esq/11-karvan.png
Normal file
|
After Width: | Height: | Size: 148 KiB |
BIN
img/esq/12-llamadas.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
img/esq/13-chats-karvan.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
img/esq/14-registro.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
img/esq/15-identidades.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
img/esq/17-arquitectura-escritorio.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
img/esq/19-relay.png
Normal file
|
After Width: | Height: | Size: 155 KiB |