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.
This commit is contained in:
s1to 2026-08-08 19:42:14 +02:00
commit 74bfbe9437
42 changed files with 2989 additions and 0 deletions

151
README.md Normal file
View file

@ -0,0 +1,151 @@
# Rebelión en la granja
Investigación y laboratorio sobre **granjas de dispositivos**: qué son realmente, quién las
fabrica, qué se puede montar con hardware propio y qué no, y por qué la partida técnica ya está
decidida.
Incluye la automatización completa para levantar un **laboratorio de dispositivos Android** sobre
un chasis de blades Debian — legal, reutilizable y sin un solo móvil físico.
Arrancado el 2026-08-07 a raíz de dos webs del sector:
[phonefarmbox.com](https://www.phonefarmbox.com/) y [genfarmer.com](https://genfarmer.com/).
---
## La conclusión, por delante
> **El cuello de botella nunca fue el cómputo. Fue la identidad.**
>
> Desde que la atestación de dispositivo pasó de ser estadística a ser **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. Por eso el mercado vende cajas con teléfonos físicos de 400 $ en lugar
> de software para tu rack.
>
> Lo que queda es un problema de SIMs, de reputación de IP y de correlación entre cuentas. Y ahí es
> exactamente donde pega la policía.
El desarrollo está en **[01_investigacion/capa_identidad.md](01_investigacion/capa_identidad.md)**,
que es el documento central del repositorio.
---
## Qué hay aquí
### 📄 [docs/](docs/) — léelo antes de encender nada
| | |
|---|---|
| [requisitos.md](docs/requisitos.md) | Eléctrico, físico, hardware, red, tiempo. Con checklist de bloqueantes |
| [costes.md](docs/costes.md) | La luz es el coste real: ~340 €/mes 24/7, ~56 €/mes por ventanas |
| [seguridad.md](docs/seguridad.md) | 11 hallazgos, uno crítico. Incluye los que introduce este propio código |
### 🔍 [01_investigacion/](01_investigacion/) — el análisis
| | |
|---|---|
| [capa_identidad.md](01_investigacion/capa_identidad.md) | **El documento central.** Verificación telefónica, por qué la eSIM no vale, reputación de IP, atestación por hardware y la correlación entre cuentas |
| [mercado_y_players.md](01_investigacion/mercado_y_players.md) | Los tres negocios bajo el mismo nombre, quién juega en Europa, TikTok vs Instagram |
| [stack_tecnico.md](01_investigacion/stack_tecnico.md) | redroid, Cuttlefish, Waydroid, GADS — y por qué el rack no resuelve el caso social |
| [legal_ue.md](01_investigacion/legal_ue.md) | DSA, Operación SIMCARTEL, riesgo penal en España |
| [fuentes.md](01_investigacion/fuentes.md) | Enlaces |
### 🔧 [02_device_lab/](02_device_lab/) — el laboratorio
| | |
|---|---|
| [ansible/](02_device_lab/ansible/) | **La automatización completa**: preflight, despliegue de los 16 blades y control de flota |
| [hardware_m1000e.md](02_device_lab/hardware_m1000e.md) | El chasis, sus límites y la palanca (RAM) |
| [README.md](02_device_lab/README.md) | Montaje de un solo nodo, a mano, para entender las piezas |
### 🎤 [03_charla/](03_charla/) — divulgación
Guion de 6 puntos para HackMadrid / Hackmeeting València.
---
## Especificaciones
### Arquitectura
```
Dell PowerEdge M1000e — chasis de blades, 16 slots (8 arriba + 8 abajo)
├── blade-01 ................ COORDINADOR
│ └── adb + fleet único punto de control de toda la flota
└── blade-02 .. blade-16 .... NODOS DE CARGA (15)
└── Debian 12 pelado
└── Docker
└── N × redroid Android 13 en contenedor
8 GB/blade → 3 instancias → ~45 Android
32 GB/blade → 14 instancias → ~210 Android
```
**No hay móviles físicos.** Cada "dispositivo" es un contenedor
[redroid](https://github.com/remote-android/redroid-doc): Android real sobre el kernel del blade.
Debian va **directo sobre el hierro**. Sin Proxmox, sin VMs, sin LXC anidado — con 8 GB por blade,
cada capa de hipervisor se come una instancia Android entera.
### Stack
| Capa | Tecnología |
|---|---|
| Hardware | Dell PowerEdge M1000e, 16 blades, 8 GB/blade |
| SO | Debian 12 bookworm |
| Kernel | `binder_linux` con devices `binder,hwbinder,vndbinder` (Debian no trae binderfs) |
| Contenedores | Docker CE + Compose v2 |
| Android | redroid 13 (memfd, sin ashmem) |
| Orquestación | Ansible — solo `ansible.builtin`, sin colecciones externas |
| Control | adb sobre TCP + `fleet` |
| Red | `portmap` (NAT) o `macvlan` (IP real de LAN por el switch FlexIO) |
### Números
| | |
|---|---|
| Capacidad | ~45 Android (~210 con la RAM ampliada) |
| Consumo | 2,63,6 kW · 7085 dB · 179 kg · 10U |
| Coste 24/7 | ~340 €/mes (~4.100 €/año) |
| Coste por ventanas de 4 h/día | ~56 €/mes |
| Coste por dispositivo | 7,6 €/mes → **1,7 €/mes** con la RAM ampliada |
---
## Arranque rápido
```bash
git clone https://gitea.laenre.net/hacklab/REBELION_EN_LA_GRANJA.git
cd REBELION_EN_LA_GRANJA/02_device_lab/ansible
sudo apt install ansible
cp inventory/hosts.yml.example inventory/hosts.yml # pon las IPs reales
ansible-playbook playbooks/preflight.yml # SOLO LECTURA — no toca nada
ansible-playbook site.yml # monta la granja
ansible-playbook playbooks/status.yml
```
**Empieza por el preflight siempre.** Te dice qué blades hay dentro del chasis leyéndolo del DMI,
si esas CPUs pueden con Android x86_64, y cuántas instancias caben. Antes de gastar un minuto.
**Y antes de encender el chasis**, el inventario trae un bloque de **piloto de un nodo** para
probar el pipeline entero en un sobremesa, por 20 €/mes y sin ruido.
Guía de trabajo y siguientes pasos: **[GUIA.md](GUIA.md)**.
---
## Aviso
Este repositorio documenta cómo funcionan las granjas de dispositivos y **por qué fracasan** contra
las plataformas. La automatización que contiene levanta un laboratorio de QA para probar apps
propias.
No contiene, ni va a contener, operativa de alta masiva de cuentas: proveedores de SIM, evasión de
fingerprint o maduración de cuentas. Eso es fraude de identidad a escala, en la UE está bajo
persecución activa, y además **no funcionaría** con este hardware por lo que se explica en
[capa_identidad.md](01_investigacion/capa_identidad.md).
Contexto legal: [legal_ue.md](01_investigacion/legal_ue.md).