#!/bin/sh # ============================================================================ # Flipix — bootstrap do instalador de máquina. RODE NA MÁQUINA BATOCERA: # # curl -L instalador.flipix.com.br | sh # # Isto aqui só baixa o instalador de verdade (installer.py, servido pelo # servidor Flipix) e o executa. A URL curta é estática de propósito: o # instalador evolui a cada deploy do servidor, sem tocar nesta página. # ============================================================================ set -eu # Servido pelo server: __SETUP_BASE__ vira a base do request. Na cópia estática # (instalador.flipix.com.br) o marcador fica intacto → usa a base fixa abaixo. BASE="${FLIPIX_BASE:-__SETUP_BASE__}" case "$BASE" in *__SETUP_BASE__*) BASE="https://mini-manager-server-production.up.railway.app" ;; esac [ -d /userdata ] || { echo "ERRO: /userdata nao existe — rode no Batocera."; exit 1; } command -v python3 >/dev/null 2>&1 || { echo "ERRO: python3 nao encontrado."; exit 1; } DIR=/userdata/flipix-setup mkdir -p "$DIR" echo "==> Flipix: baixando o instalador de $BASE" if command -v curl >/dev/null 2>&1; then curl -fsSL "$BASE/api/agent/setup-app" -o "$DIR/installer.py.new" else wget -qO "$DIR/installer.py.new" "$BASE/api/agent/setup-app" fi [ -s "$DIR/installer.py.new" ] || { echo "ERRO: download do instalador veio vazio."; exit 1; } mv "$DIR/installer.py.new" "$DIR/installer.py" # Rodando via pipe (curl | sh), o stdin do python seria o pipe já consumido — # religa no terminal para o instalador poder perguntar (código, WiFi, menu). if [ -e /dev/tty ]; then exec python3 "$DIR/installer.py" --base "$BASE" "$@" < /dev/tty fi exec python3 "$DIR/installer.py" --base "$BASE" --auto "$@"