Al entrar en el repositorio se veia el aviso de rama experimental y, debajo, el README entero de upstream copiado: 350 lineas contando lo que ya cuenta el proyecto oficial, y mejor. Ahora la portada ensena lo que hay aqui: la tabla de que anade esta rama frente al oficial, Oasis explicado en cuatro dibujos, Karvan, las videollamadas, las identidades y como empezar desde cero, todo con esquemas propios y capturas reales. El aviso de que esto NO es Oasis oficial se mantiene arriba del todo y completo. Y al final, los enlaces al proyecto de epsylon, que es de donde sale todo. Las imagenes se enlazan a la wiki en vez de duplicarse en el repositorio, que es lo que hace tambien upstream con las suyas. El fichero se sigue leyendo al arrancar el backend (readFileSync sin try/catch), asi que lo importante es que exista: comprobado que arranca.
177 lines
7.2 KiB
Markdown
177 lines
7.2 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** · Rama: `PRUEBAS` ·
|
|
[Documentación completa](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki) ·
|
|
[Versión de Android](https://gitea.laenre.net/hacklab/OASIS_MOBILE)
|
|
|
|

|
|
|
|
---
|
|
|
|
## Lo que añade
|
|
|
|
| | Oasis oficial | Esta rama |
|
|
|---|---|---|
|
|
| **Salas efímeras** | — | Karvan: mensajes que solo viven en memoria y se autodestruyen |
|
|
| **Videollamadas** | — | Audio y vídeo por WebRTC, probado entre dos participantes |
|
|
| **Varias identidades** | Una, en `~/.ssb` | Las que quieras, con aviso si dos comparten clave |
|
|
| **Respuesta citada** | — | Responder a un mensaje concreto dentro de un chat |
|
|
| **Metadatos de las imágenes** | Se quitan solo si está `sharp` | Se quitan siempre, sin depender de nada |
|
|
| **Servidor STUN** | Uno de Google, por defecto | Ninguno. TURN propio si lo configuras |
|
|
|
|
**La interfaz no se toca**: es la del Oasis oficial, con sus mismos nombres, sus mismos
|
|
módulos y su mismo menú lateral.
|
|
|
|
---
|
|
|
|
## Qué es Oasis, en cuatro dibujos
|
|
|
|
Una red social **sin servidor**: publicas en tu propio equipo y los demás se traen una
|
|
copia. No hay cuenta, no hay contraseña y nadie puede borrarte.
|
|
|
|

|
|
|
|
Los mensajes viajan **de vecino en vecino**, así que llegan a gente con la que nunca te
|
|
has conectado. Por eso funciona incluso sin internet, entre dos equipos de la misma red.
|
|
|
|

|
|
|
|
Un **pub** es solo un nodo que no se apaga nunca. No es un servidor con tus datos: no
|
|
guarda tu identidad, no decide qué ves y no puede borrarte.
|
|
|
|

|
|
|
|
Todo lo que publicas se encadena y va **firmado con tu clave**. Nadie puede colar un
|
|
mensaje en tu nombre ni cambiar lo que dijiste.
|
|
|
|

|
|
|
|
> La explicación completa —los saltos, las tribus, el LARP, los módulos— está en
|
|
> **[Entender Oasis en diez minutos](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Entender)**.
|
|
|
|
---
|
|
|
|
## Karvan: salas que se borran solas
|
|
|
|

|
|
|
|
Lo que se dice dentro **no toca el disco**, no entra en tu registro y no se replica a
|
|
nadie. Dos relojes corren a la vez —inactividad y tiempo absoluto— y la sala muere con
|
|
el que llegue antes.
|
|
|
|

|
|
|
|
---
|
|
|
|
## Videollamadas sin terceros
|
|
|
|

|
|
|
|
El servidor solo sirve para que os encontréis: **la voz y el vídeo van directos** entre
|
|
los participantes, cifrados de extremo a extremo. Sin STUN de Google.
|
|
|
|

|
|
|
|
Probado entre dos navegadores en la misma sala: se negocia el canal, el indicador pasa
|
|
a **P2P (WebRTC)** y llega el vídeo del otro.
|
|
|
|
---
|
|
|
|
## Varias identidades en el mismo equipo
|
|
|
|

|
|
|
|
Cada una con su clave, su registro y sus contactos, en su propia carpeta. Se elige en
|
|
los ajustes y se aplica al reiniciar.
|
|
|
|

|
|
|
|
> Si dos identidades comparten clave, la lista lo avisa en rojo. Publicar desde las dos
|
|
> **parte el registro y no se arregla**.
|
|
|
|
---
|
|
|
|
## Empezar desde cero
|
|
|
|

|
|
|
|
| | |
|
|
|---|---|
|
|
| **[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 el principio |
|
|
| **[wiki.solarnethub.com](https://wiki.solarnethub.com/socialnet/overview)** | La documentación oficial, módulo por módulo |
|
|
|
|
---
|
|
|
|
## Instalar
|
|
|
|
```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`.
|
|
|
|

|
|
|
|
Oasis levanta un servidor **en tu propia máquina**: el navegador es solo la ventana. Lo
|
|
único que sale a la red es la replicación, por el puerto 8008.
|
|
|
|
### Varias identidades
|
|
|
|
```sh
|
|
OASIS_ACCOUNT=trabajo ./oasis.sh # vive en ~/.trabajo, aislada de ~/.ssb
|
|
```
|
|
|
|
> ⚠ **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.
|
|
|
|
---
|
|
|
|
## Documentación
|
|
|
|
Todo lo de arriba, en detalle, está en la
|
|
**[wiki](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki)**:
|
|
|
|
| | |
|
|
|---|---|
|
|
| [Entender Oasis](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Entender) | La red, el gossip, los saltos, los pubs, las tribus y el LARP |
|
|
| [Empezar desde cero](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Empezar) | Invitación, seguir gente, abrir tu blog o tu tienda |
|
|
| [Instalar](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Instalar) | Puesta en marcha y varias identidades |
|
|
| [Karvan](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Karvan) | Salas efímeras, paso a paso |
|
|
| [Llamadas](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Llamadas) | Cómo se llama y cómo montar un TURN |
|
|
| [Chats](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Chats) | La respuesta citada |
|
|
| [Temas](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Temas) | Cómo se ve con los cuatro temas |
|
|
| [Diferencias con móvil](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Diferencias) | Qué cambia respecto al repositorio hermano |
|
|
| [Estructura del código](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Estructura) | Dónde vive cada fichero y por qué ahí |
|
|
| [Si algo va mal](https://gitea.laenre.net/hacklab/OASIS_LINUX/wiki/Problemas) | Los fallos que han pasado de verdad |
|
|
|
|
---
|
|
|
|
## El proyecto original
|
|
|
|
Esta rama existe **gracias a** y **por encima de** el trabajo de epsylon. El código, la
|
|
arquitectura, los módulos y la red son suyos.
|
|
|
|
- **Código:** https://github.com/epsylon/oasis
|
|
- **Proyecto:** https://solarnethub.com
|
|
- **Wiki:** https://wiki.solarnethub.com/socialnet/overview
|
|
|
|
## Licencia
|
|
|
|
AGPL-3.0, la misma que el proyecto original.
|