La base de multicuenta ya estaba en el arranque (OASIS_ACCOUNT), pero solo se podia elegir por linea de comandos. Ahora hay una seccion en los ajustes que lista las identidades del disco, marca cual esta en uso y permite crear una. Como funciona: - accounts.js encuentra las identidades buscando directorios ~/.<algo> con un secret dentro, y lee de el su @id. - El selector anota la elegida en src/configs/active-account; ssb_config.js la usa al arrancar si no hay OASIS_ACCOUNT (que sigue mandando). - Crear una identidad solo anota el nombre: el secret lo genera ssb-config al arrancar con esa cuenta, que es quien sabe hacerlo. No se cambia en caliente a proposito: media aplicacion captura la referencia al sbot al cargarse, asi que cambiarla con el proceso vivo dejaria modulos hablando con la identidad anterior. Dos carpetas pueden tener el mismo secret copiado, y publicar desde las dos parte el registro sin arreglo posible. La lista lo detecta comparando los @id y lo avisa en rojo en las dos filas. El nombre se valida igual que en ssb_config.js: acaba en rutas de fichero y hay operaciones destructivas (el modo panico borra el directorio de la cuenta) que no deben poder apuntar fuera de sitio. |
||
|---|---|---|
| docs | ||
| scripts | ||
| src | ||
| test | ||
| .gitignore | ||
| install.sh | ||
| LICENSE | ||
| oasis.sh | ||
| package.json | ||
| README.md | ||
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.