Mejoras en ux y seguridad, nuevas propuestas para oasis apk
Find a file
2026-10-19 14:35:46 +02:00
.gitea/workflows android: release --public, version de package.json y libnode comprimida 2026-10-19 02:00:40 +02:00
android android: la APK se monta sobre la oficial del dev 2026-10-19 14:12:18 +02:00
docs menu: el boton atras de Android cierra la hoja 2026-10-19 14:29:07 +02:00
src tabletas: el limite de ancho no ganaba a otra regla; ahora si 2026-10-19 14:35:46 +02:00
.gitignore android: la APK se monta sobre la oficial del dev 2026-10-19 14:12:18 +02:00
GUIA_DE_DESARROLLO.md menu: el boton atras de Android cierra la hoja 2026-10-19 14:29:07 +02:00
main.js llamadas: lo que hay de verdad; SSB_server.js como en la APK oficial 2026-10-19 13:55:16 +02:00
package.json upstream: integrar Oasis 1.3.3 2026-10-19 00:30:25 +02:00
README.md navegacion: al abrir, la actividad; los modulos en la pestaña Menu 2026-10-19 14:23:43 +02:00

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

Si vas a desarrollar, lee antes la guía de desarrollo. Ahí está qué se puede tocar y qué no. En corto: el backend, el middleware, los modelos y las traducciones son de epsylon y no se tocan; lo nuestro va en hojas, vistas y rutas propias.

Versión base: Oasis 1.3.3 · Rama: PRUEBAS · Documentación completa · Versión de escritorio

Oasis Mobile: lanzador, filtros y barra de atajos

⬇ Descargar la APK · Android 7 o superior, 64 bits · se instala junto al Oasis oficial sin pisarlo

Novedades de esta versión

  • Al día con Oasis 1.3.3: karma en el perfil, salas con directo, fotos selladas en chats privados y tribus, visibilidad de menciones y las traducciones nuevas.
  • Arranca en modo acampada: chats, teléfono, salas, pads, foro, wiki, tribus, parlamento, votaciones y eventos. El resto se enciende en Módulos o en Ajustes → Workflows.
  • Las llamadas son las de Oasis. Fuera Karvan, el módulo propio de salas: ahora se usan el Teléfono y las Salas del dev, con su levantar la mano, grabación y emisión.
  • La APK se monta sobre la oficial: se coge la del dev, se le cambia el backend por el de la rama y se le da otro nombre de paquete. Así trae todo lo nativo del dev (el puente de audio y cámara, las notificaciones de llamada) y convive con la oficial.
  • Al abrir se ve la actividad, no un menú. Los módulos están en la quinta pestaña de abajo, Menú, que abre una hoja desde abajo en cualquier pantalla.
  • Votaciones como en asamblea: al crear una se elige Sí/No, semáforo (verde, amarillo, rojo) o termómetro (del 1 al 5). Los resultados salen en barras.
  • Borrar pide confirmación. Antes la X de una tribu la borraba de un toque.
  • Iconos que se entienden en el lanzador y en la barra, en vez de letras del alfabeto vai. La barra marca dónde estás y se esconde al escribir.
  • Tribus en filas: doce comisiones caben en tres pantallas, no en diez. Dentro de una tribu, las secciones van en una tira de fichas.
  • Módulos con interruptores, agrupados como en el lanzador. Si entras en una sección apagada, te lo dice y la enciendes de un toque.
  • Pantallas más aprovechadas: un margen de 14 px en vez de los 74 que se sumaban, una sola letra para botones, buscador en una línea y el buzón en pocas líneas por mensaje.
  • Fotos más seguras: si una foto no se puede limpiar de metadatos (ubicación, cámara…), no se sube y se avisa.
  • DNS: primero el resolutor del sistema, que respeta la VPN y el DNS privado de Android; los públicos quedan de respaldo.

Lo que añade

Oasis oficial Esta rama
Llamadas y salas Teléfono y Salas, con micrófono y cámara Los mismos, tal cual
Interfaz de móvil El menú de escritorio en una pantalla pequeña Tema Acampada, lanzador con iconos, fichas, barra de cuatro atajos
Primer arranque Casi sesenta módulos encendidos Modo acampada: lo justo para organizarse
Votaciones Seis opciones fijas en una tabla Sí/No, semáforo o termómetro, con barras
Varias identidades Una por instalación Varias en el mismo móvil, con aviso si dos comparten clave
App Android La del dev La del dev, con el backend de la rama y paquete propio (net.laenre.oasis)
Metadatos de las fotos Se quitan solo si está sharp; en Android nunca Se quitan siempre: GPS, marca, modelo, número de serie

Los nombres de las categorías, los módulos y el resto de la aplicación son los de epsylon, sin tocar. Con el tema OasisMobile se ve el del propio dev.


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.

Qué es Oasis

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 móviles en la misma wifi.

Cómo llega un mensaje

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.

Qué es un pub

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.

Tu registro

La explicación completa —los saltos, las tribus, el LARP, los módulos— está en Entender Oasis en diez minutos.


Llamadas y salas

Llamadas: las del dev, con el móvil enchufado

El Teléfono (llamadas de uno a uno, con buzón de voz) y las Salas (hasta cincuenta personas, con vídeo, levantar la mano, grabación y emisión) son de Oasis. En Android el sonido y la cámara no los maneja Node: el servidor se conecta a un puente nativo de la app (.audio_bridge), que graba, reproduce, saca fotogramas de la cámara y emite ficheros.

Ese puente está en la app Android del dev, que no tiene el código publicado. Por eso la APK de esta rama se monta sobre la oficial: se queda con su app tal cual y solo cambia lo que corre dentro (el backend con nuestra capa) y el nombre del paquete. Probado en el emulador: se entra en una sala y el micrófono graba.

En la barra de arriba, junto al avatar, está el botón de No molestar del Teléfono.


La interfaz

La interfaz por dentro

La actividad al abrir, tribus, una votación de semáforo, módulos, ajustes, la barra de atajos, las salas del dev y el menú con el tema OasisMobile del dev.

Casi sesenta módulos no caben en la pantalla de un teléfono. Al abrir la app se ve la actividad, lo que ha pasado en la red. Abajo hay cuatro atajos que eliges tú y una quinta pestaña fija, Menú, que abre desde abajo una hoja con todos los módulos por secciones, como el cajón de apps del móvil. Está en todas las pantallas. Por qué así, y no un menú arriba o una hamburguesa: docs/ESTUDIO_NAVEGACION.md.

Solo aparecen los módulos activos. En Ajustes → Workflows se eligen de golpe: el de acampada deja lo justo para organizarse. En el móvil un workflow cambia los módulos, no el aspecto: el aspecto se elige en Ajustes → Tema (Acampada u OasisMobile).


Cómo está hecha la rama

Cómo va la rama encima de Oasis

Oasis lo desarrolla epsylon y saca versión casi cada día. Para no tener que rehacer la rama en cada una, lo nuestro va en ficheros propios: hojas de estilo, unas pocas vistas, un router que va delante del suyo y el envoltorio de Android. El backend, el middleware, los modelos y las traducciones son suyos y no se tocan. Las normas están en la guía de desarrollo y las cifras en docs/FRONTERA_UPSTREAM.md.


Empezar desde cero

De cero a estar dentro

oasis-project.pub Directorio de pubs, con invitaciones y estado de cada uno
0asis.net El proyecto explicado desde el principio
wiki.solarnethub.com La documentación oficial, módulo por módulo

Instalar

La APK no está en ninguna tienda: se descarga de las releases de este repositorio y se instala a mano, con orígenes desconocidos activado. Se instala junto al Oasis oficial sin pisarlo —el identificador es net.laenre.oasis—, así que puedes tener los dos y comparar.

Necesita unos 350 MB libres. El primer arranque tarda entre 15 y 60 segundos porque descomprime el servidor.

Verifica la huella de la firma antes de instalar una APK bajada de un servidor propio: apksigner verify --print-certs

Compilar

La APK se monta sobre la oficial de la misma versión. Hace falta Java 17 o más y las build-tools de Android (zipalign y apksigner); apktool se baja solo.

cd android
./scripts/sobre_oficial.sh      # baja la oficial, le pone el backend de la rama, la firma
# para publicar, con la clave del hacklab:
OASIS_KEYSTORE=... OASIS_KEYSTORE_PASS=... OASIS_KEY_ALIAS=... ./scripts/sobre_oficial.sh

Sale en android/build/sobre-oficial/oasis-<versión>-hacklab.apk. Sin clave se firma con la de depuración y queda depurable, para poder inspeccionarla desde chrome://inspect.

El proyecto Gradle propio de android/ (release.sh, Android Studio) sigue ahí, pero ya no es el camino: no tiene el puente de audio y en él no hay llamadas.

Qué hay dentro de la APK


Documentación

Para desarrollar, en el propio repositorio:

GUIA_DE_DESARROLLO.md Qué se toca, qué no y cómo hacer cada cosa
docs/FRONTERA_UPSTREAM.md Cuánto cambia el dev en cada versión, medido
docs/USABILIDAD_PAD.txt Pruebas de usabilidad en el móvil

Todo lo de arriba, en detalle, está en la wiki:

Entender Oasis La red, el gossip, los saltos, los pubs, las tribus y el LARP
Empezar desde cero Invitación, seguir gente, abrir tu blog o tu tienda
Llamadas Teléfono y Salas en el móvil
La interfaz Botón por botón
Identidades Varias cuentas en el mismo móvil
Compilar la APK Y cómo se publica una versión
Estructura del código Dónde vive cada fichero y por qué ahí
Si algo va mal Los fallos que han pasado de verdad
Qué NO tiene Lo que falta respecto al oficial, sin adornos

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.

Licencia

AGPL-3.0, la misma que el proyecto original.