Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

cotton

Cotton Cloud es una nube de archivos auto-alojada con almacenamiento content-addressed, encriptación AES-GCM streaming por defecto y frontend React. Usa backend .NET Core para alto rendimiento en cifrado y compresión inline.

Ficha actualizada 25 sept 2026, 21:03 · upstream 25 sept 2026, 20:48 · release 0.5.14

00

Qué es cotton

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Cotton Cloud es una solución de almacenamiento auto-alojada diseñada para ser rápida, eficiente y predecible. Utiliza un modelo de almacenamiento content-addressed con chunks y manifiestos, separando el contenido del layout para permitir deduplicación y navegación rápida en árboles grandes. El backend está construido con ASP.NET Core y EF Core, ejecutando la lógica de cifrado AES-GCM streaming, compresión y procesamiento de medios directamente en memoria gestionada.

La interfaz es una SPA desarrollada con React, TypeScript y Vite, conectada al servidor mediante SignalR para actualizaciones en tiempo real. El sistema soporta archivos grandes mediante lecturas por rango sin reensamblaje completo, permitiendo previews y streaming de medios desde el almacenamiento chunked. Incluye gestión de versiones, compartir enlaces expirables y autenticación robusta (TOTP, passkeys, OIDC).

Es un proyecto open source en etapa beta con documentación técnica disponible. Destaca por su enfoque en integridad activa, verificación de hashes de manifiestos en segundo plano y recuperación segura de datos sin corrupción silenciosa. Requiere hardware capaz de manejar cargas de cifrado intensivo, aunque el rendimiento suele estar limitado por la memoria RAM más que por CPU.

CASOS DE USO
  • Auto-alojamiento de nube personal con cifrado por defecto
  • Gestión segura de archivos grandes y medios sin descarga completa
  • Sincronización de carpetas con clientes WebDAV (rclone)
  • Almacenamiento persistente con deduplicación basada en hash SHA-256
  • Compartición de enlaces expirables con previews integrados
PUNTOS DESTACADOS
  • Encriptación AES-GCM streaming por defecto sin penalización de rendimiento
  • Compresión inline antes del cifrado para optimizar almacenamiento
  • Modelo content-addressed que permite deduplicación y restauración eficiente
  • Frontend React con actualizaciones en tiempo real vía SignalR
  • Soporte nativo para previews de medios (video, audio, 3D) sin descargar archivos completos
  • Backend .NET Core optimizado para alto rendimiento en operaciones de E/S
PRECAUCIONES
  • Proyecto en etapa beta con documentación técnica aún en desarrollo
  • Dependencia de herramientas externas como FFmpeg/ffprobe para generación de previews
  • Notificaciones backend limitadas a inglés y ruso según README actual
  • Requiere runtime .NET Core si no se utiliza el contenedor Docker oficial
  • Gestión de sesiones y revocación requiere configuración manual de OIDC o SMTP externo
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

.NETimage
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Se recomienda desplegar mediante el contenedor Docker oficial disponible. El backend corre sobre ASP.NET Core con Kestrel, por lo que es necesario instalar .NET Runtime si no se usa la imagen Docker. Asegurar al menos 4 núcleos CPU y 2GB RAM para rendimiento óptimo en cifrado. Configurar SMTP o Cloud Cotton Mail para notificaciones de seguridad. Verificar compatibilidad del backend con el sistema de archivos local o S3 compatible según configuración.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.jsPHP
SERVICIOS
PostgreSQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLRedis
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.