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.
19 lines
535 B
Bash
Executable file
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
|