Hola. Primero, para que sepan con quién hablan: no soy programador de oficio. Soy administrador de TI de 47 años, osea old school. Lo mío son servidores, redes, respaldos y usuarios. Sé leer código y entiendo de arquitectura, pero nunca he trabajado escribiendo software.
Hace un tiempo me picó una idea: tengo espacio repartido entre Google Drive, OneDrive, un bucket S3 y un Nextcloud. ¿Por qué no puedo usar todo eso como un solo disco, con redundancia, como un RAID de toda la vida? Así que me puse a construirlo, desarrollándolo con Claude como compañero de programación. Yo pongo la idea, las decisiones de diseño, las pruebas y el uso diario. La IA me ayuda a escribir e implementar el código.
Qué es MultiDrive
- Une varios servicios en la nube (S3/B2/R2/Wasabi/Storj, WebDAV/Nextcloud, Google Drive, OneDrive) en un único volumen virtual.
- En Windows se monta como una unidad más (lectura y escritura, vía WinFsp). En Linux también se monta, y en Android aparece dentro de la app de Archivos.
- Tiene semántica tipo RAID: espejo, striping y paridad por erasure coding (Reed-Solomon). Por ejemplo, con
rs:4,2 puedes perder dos proveedores enteros y seguir leyendo todo.
- Cifrado de conocimiento cero: los proveedores solo ven trozos cifrados. La frase de paso no se guarda en ninguna parte.
- Escrito en Rust, con 356 tests. Es software libre (AGPL-3.0), sin versión de pago.
En qué estado está
Es una alfa. El núcleo funciona y lo uso a diario: cifrado, RAID, troceado, árbol de metadatos copy-on-write y rescate. Google Drive y OneDrive pasan la suite de conformidad contra cuentas reales. La app de Android está en pruebas internas de Google Play. Faltan piezas, y no es lugar para guardar la única copia de nada.
Por qué lo publico aquí
Justamente porque no soy programador, sé que hay cosas que no estoy viendo. Me gustaría mucho:
- Revisión de código, sobre todo de quien sepa Rust. ¿Hay malas prácticas, código poco idiomático o cosas que un dev con experiencia haría distinto?
- Revisión del diseño criptográfico y del manejo de credenciales. Es la parte que más me preocupa tener mal.
- Gente que lo pruebe en Windows, Linux o Android y me cuente qué se rompe.
- Opinión honesta sobre si esto aporta algo frente a
rclone union o mergerfs, o si estoy reinventando la rueda.
- Y si a alguien le interesa colaborar, bienvenido. Hay issues abiertos.
También me interesa su opinión sobre lo otro: ¿qué piensan de un proyecto así, hecho por alguien de infraestructura con ayuda de IA? No pretendo venderlo como algo que no es. Me parece una forma interesante de llevar ideas a la práctica, pero quiero escuchar a quienes programan de verdad.
🔗 Código: https://github.com/lmoraperez/multidrive
🌐 Sitio y video de 30 s: https://multidrive.net
📱 Pruebas de Android: https://multidrive.net/#probarla
Gracias por leer. Cualquier crítica, por dura que sea, me sirve.