REBELION_EN_LA_GRANJA/02_device_lab/install-apk.sh
s1to 74bfbe9437 Rebelión en la granja — investigación y laboratorio de dispositivos
Investigación sobre granjas de dispositivos y automatización completa para
levantar un laboratorio Android sobre un chasis de blades Debian.

Conclusión que ordena el repositorio: el cuello de botella nunca fue el
cómputo sino la identidad. Desde que la atestación de dispositivo pasó de
estadística a criptográfica, un servidor no puede hacerse pasar por un
teléfono — le falta una clave grabada en fábrica que ningún software produce.

Contenido:

- 01_investigacion/ — capa de identidad (verificación telefónica, eSIM,
  reputación de IP, atestación por hardware, correlación entre cuentas),
  mercado y players, stack técnico, marco legal en la UE
- 02_device_lab/ansible/ — Ansible para 16 blades: preflight de solo lectura
  que identifica el hardware por DMI, despliegue de redroid en Docker y
  control de flota por adb. Solo ansible.builtin, sin colecciones externas
- docs/ — requisitos, costes y repaso de seguridad con 11 hallazgos
- 03_charla/ — guion para HackMadrid / Hackmeeting València

Estado: la automatización está escrita pero SIN ejecutar contra hardware.
YAML validado, plantillas renderizadas en ambos modos de red y fleet.sh
comprobado con bash -n. El modelo de blade sigue sin confirmar.
2026-08-08 19:42:14 +02:00

19 lines
535 B
Bash
Executable file

#!/usr/bin/env bash
# Instala un APK en todas las instancias redroid conectadas.
# Uso: ./install-apk.sh ruta/al/app.apk
set -euo pipefail
APK="${1:?uso: $0 <ruta.apk>}"
[[ -f "$APK" ]] || { echo "no existe: $APK" >&2; exit 1; }
mapfile -t DEVICES < <(adb devices | awk '/^127\.0\.0\.1:[0-9]+\tdevice$/ {print $1}')
if [[ ${#DEVICES[@]} -eq 0 ]]; then
echo "no hay dispositivos conectados — ejecuta ./connect.sh primero" >&2
exit 1
fi
for dev in "${DEVICES[@]}"; do
echo "== $dev =="
adb -s "$dev" install -r "$APK"
done