Rama de desarrollo experimental sobre el Oasis de epsylon, sin afiliacion con el proyecto original. Base: 0.9.5. Trae el modulo Karvan —salas efimeras en memoria con autodestruccion por TTL, chat que funciona sin JavaScript y llamadas de audio y video sobre WebRTC— con el enlace en el menu lateral por el mismo patron que el resto de modulos: renderKarvanLink calcado de renderPollsLink, entrada en modules_view y en la lista de /modules. Los estilos del modulo van en su propia hoja, styles/karvan.css, siguiendo el patron de highlight.css: asi se ve igual con cualquier tema, sin depender del tema movil. Sin servidores ICE de terceros: no hay STUN de fabrica, porque un STUN aprende la IP publica y el momento de cada llamada. Solo candidatos host salvo que se configure un TURN propio en oasis-config.json, con credenciales efimeras por el mecanismo REST de coturn. El codigo propio vive separado —views/fork/, backend/fork_routes.js, models/karvan_model.js y translations/fork/— de modo que sobre los ficheros de upstream solo hay enganches de una linea y cada version nueva se integra sin arrastrar nada. Respecto al arbol de Android: fuera el wrapper y main.js, que es su arranque; el tema vuelve a Dark-SNH y se restauran los modulos que en movil se recortan por peso. Verificado arrancando sin OASIS_MOBILE: nueve rutas OK, menu lateral de upstream con 27 grupos y el enlace de Karvan, cero rastro de la interfaz movil (ni hexagonos, ni topbar, ni barra inferior), y una sala creada y servida.
84 lines
2.7 KiB
Bash
84 lines
2.7 KiB
Bash
#!/bin/sh
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
MODE=$1
|
|
MODEL_PATH="$CURRENT_DIR/src/AI/oasis-42-1-chat.Q4_K_M.gguf"
|
|
CONFIG_FILE="$CURRENT_DIR/src/configs/oasis-config.json"
|
|
|
|
case " $* " in *" --debug "*) export OASIS_DEBUG=1 ;; esac
|
|
|
|
show_help() {
|
|
cat <<'EOF'
|
|
Usage: sh oasis.sh [mode] [-- <option>=<value> ...]
|
|
|
|
Modes:
|
|
gui Launch the Oasis web GUI (default).
|
|
server Launch only the Oasis backend in headless / pub mode.
|
|
help, -h Show this help message.
|
|
|
|
PUB admin commands (require the sbot to be running: sh oasis.sh server):
|
|
whoami Print this PUB id
|
|
invite [N] Create an invite code (default uses=1)
|
|
name <text> Set this PUB display name
|
|
announce <host> [port] Publish a pub address (default port=8008)
|
|
follow <feedId> Follow another PUB / feed
|
|
status Show peer / replication status
|
|
gossip List known gossip peers
|
|
|
|
GUI options (forwarded to the backend):
|
|
--host=<ip> Hostname / IP the web UI listens on (default: localhost).
|
|
Use 0.0.0.0 to expose on a VPS.
|
|
--port=<n> Port for the web UI (default: 3000).
|
|
--allow-host=<host> Extra hostname allowed when behind a reverse proxy.
|
|
--public Public-hosting mode: disables POST and redacts content
|
|
from people who haven't opted in to public hosting.
|
|
--offline Don't try to connect to Oasis peers / pubs.
|
|
--no-open Don't auto-open a browser tab on launch (useful on a VPS).
|
|
--debug Verbose logging.
|
|
|
|
Examples:
|
|
sh oasis.sh
|
|
sh oasis.sh server
|
|
sh oasis.sh invite 100
|
|
sh oasis.sh name "My PUB"
|
|
sh oasis.sh announce mypub.example.com
|
|
sh oasis.sh --host=0.0.0.0 --port=8080 --no-open
|
|
EOF
|
|
}
|
|
|
|
if [ -f "$CONFIG_FILE" ]; then
|
|
if [ -f "$MODEL_PATH" ]; then
|
|
sed -i.bak 's/"aiMod": *"off"/"aiMod": "on"/' "$CONFIG_FILE"
|
|
else
|
|
sed -i.bak 's/"aiMod": *"on"/"aiMod": "off"/' "$CONFIG_FILE"
|
|
fi
|
|
rm -f "$CONFIG_FILE.bak"
|
|
fi
|
|
|
|
case "$MODE" in
|
|
help|-h|--help)
|
|
show_help
|
|
exit 0
|
|
;;
|
|
server|pub)
|
|
if [ -f "$CONFIG_FILE" ]; then
|
|
sed -i.bak 's/"aiMod": *"on"/"aiMod": "off"/' "$CONFIG_FILE"
|
|
sed -i.bak 's/"aiNavMod": *"on"/"aiNavMod": "off"/' "$CONFIG_FILE"
|
|
rm -f "$CONFIG_FILE.bak"
|
|
fi
|
|
cd "$CURRENT_DIR/src/server" || exit 1
|
|
exec node SSB_server.js start
|
|
;;
|
|
whoami|invite|name|announce|follow|status|gossip)
|
|
exec node "$CURRENT_DIR/scripts/oasis-pub.js" "$@"
|
|
;;
|
|
gui)
|
|
shift
|
|
cd "$CURRENT_DIR/src/backend" || exit 1
|
|
exec node backend.js "$@"
|
|
;;
|
|
*)
|
|
cd "$CURRENT_DIR/src/backend" || exit 1
|
|
exec node backend.js "$@"
|
|
;;
|
|
esac
|