Ir al contenido
TurboDL

Avanzado

Arquitectura

Las piezas de TurboDL y cómo funciona el motor.

Las piezas

motor compartido   biblioteca Rust, sin interfaz
turbodl            aplicación egui
turbodl-cli        línea de comandos
turbodl-mcp        servidor MCP (rmcp)
extensiones        Chrome y Firefox
perfiles           perfil por defecto y JSON Schema

El motor

MóduloFunción
engine/probePrimera petición: tamaño, rangos de bytes, nombre, ETag; reintentos de red
engine/planSegmentos restaurados desde el estado o divididos desde cero
engine/workerUna conexión por segmento, escrituras agrupadas (256 KiB), reintentos con esperas crecientes
engine/splitterDivisión inicial y nueva división del segmento restante más grande
engine/finishDestino, estado guardado cada 2 s, finalización, historial
resumeArchivo .part.turbodl sin secretos, escrito de forma atómica
request / authPetición, cabeceras ${VAR}, cookies Netscape, Basic
resolversGoogle Drive
statsHistorial history.jsonl, agregados y observaciones

Las interfaces no reciben ningún mensaje por bloque recibido: leen una instantánea a su ritmo, lo que mantiene la pantalla fluida sea cual sea la velocidad.

La aplicación de escritorio

MóduloFunción
queueLista de descargas, cola de espera, guardado en downloads.json
bridgeInstancia única y host nativo para las extensiones
i18nTextos de la interfaz en inglés, francés y español; el inglés sirve de respaldo
theme + iconsTemas claro/oscuro teñidos por el color de acento, fuente de iconos Phosphor
updateBúsqueda de versión, descarga del paquete con el motor, suma de comprobación, sustitución de archivos con vuelta atrás
uiVentanas y diálogos

Decisiones técnicas

  • Rust: sin recolector de basura ni bloqueo global, un programa nativo por plataforma.
  • egui: interfaz inmediata dibujada por la GPU, sin navegador integrado.
  • rustls: TLS sin depender de OpenSSL.