Servidor estático sencillo de archivos escrito en Rust, con listado de directorios, cargas, autenticación básica y HTTPS opcional.
svenstaro/miniserve
CLI de Rust en un solo binario para servir archivos y directorios por HTTP al instante, con autenticación, subidas y TLS opcionales.
- Estrellas
- 7,922
- Forks
- 401
- Issues abiertos
- 93
- Último commit
- hace 24 días
¿Qué es?
miniserve es una herramienta pequeña de línea de comandos para compartir archivos por HTTP sin configurar un servidor web propiamente dicho. Solo tienes que indicarle un directorio o un archivo y comenzará a servirlo con un listado navegable, o bien servirá un archivo de índice específico. Se distribuye como un único binario independiente, disponible para Linux, macOS y Windows, y a través de Cargo, Homebrew, Docker y Podman.
Además de servir archivos de forma básica, cubre necesidades habituales para usos puntuales: autenticación con nombre de usuario y contraseña (en texto plano o con hash SHA-256/SHA-512), subida de archivos y carpetas, creación de directorios, eliminación de archivos si se habilita y descarga de carpetas sobre la marcha en formato tar, tar.gz o zip. También puede funcionar con TLS, añadir encabezados de respuesta personalizados, servir SPAs con enrutamiento de respaldo y exponer un endpoint WebDAV de solo lectura.
Está desarrollado con Rust y el framework web Actix. El proyecto se presenta como una alternativa a opciones para usos puntuales, como el servidor HTTP integrado de Python y netcat, y destaca una mejor gestión de tipos MIME y una configuración más sencilla en Windows.
Funciones clave
- 01Sirve un directorio o un solo archivo con un listado navegable y un archivo de índice personalizado opcional.
- 02Admite autenticación con nombre de usuario y contraseña, incluidas contraseñas con hash SHA-256 y SHA-512.
- 03Permite subir archivos, crear directorios y, de forma opcional, eliminarlos; las operaciones se limitan a las rutas elegidas.
- 04Descarga carpetas como archivos tar, tar.gz o zip generados sobre la marcha.
- 05Ofrece TLS, encabezados de respuesta personalizados, enrutamiento de respaldo para SPAs y WebDAV de solo lectura.
- 06Incluye filtros de búsqueda, visualización de códigos QR, temas claros y oscuros, y autocompletado para shell.
Casos de uso
- Compartir rápidamente una ISO grande o una carpeta con alguien de la misma red.
- Servir localmente un sitio estático o la compilación de una aplicación de una sola página para probarla.
- Permitir que un teléfono suba fotos a una computadora portátil a través del navegador.
- Configurar un recurso compartido de archivos protegido con contraseña en un servidor doméstico o como daemon mediante systemd.
Inicio rápido
- 1
Obtén el binario de miniserve (el README incluye enlaces a Crates.io y Docker Hub)
- 2
Publica un directorio
miniserve linux-distro-collection/
Antes de usarlo
- El archivo ZIP se genera en memoria, por lo que los directorios grandes pueden provocar errores por falta de memoria.
- TLS solo está disponible para las arquitecturas compatibles.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es miniserve?
- CLI de Rust en un solo binario para servir archivos y directorios por HTTP al instante, con autenticación, subidas y TLS opcionales. miniserve es una herramienta pequeña de línea de comandos para compartir archivos por HTTP sin configurar un servidor web propiamente dicho. Solo tienes que indicarle un directorio o un archivo y comenzará a servirlo con un listado navegable, o bien servirá un archivo de índice específico. Se distribuye como un único binario independiente, disponible para Linux, macOS y Windows, y a través de Cargo, Homebrew, Docker y Podman.
- ¿miniserve es gratuito? ¿Qué licencia tiene?
- miniserve es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿miniserve sigue mantenido?
- Mantenimiento activo. El último commit de miniserve fue el 1 oct 2026.
- ¿Para qué puedo usar miniserve?
- Compartir rápidamente una ISO grande o una carpeta con alguien de la misma red. Servir localmente un sitio estático o la compilación de una aplicación de una sola página para probarla. Permitir que un teléfono suba fotos a una computadora portátil a través del navegador. Configurar un recurso compartido de archivos protegido con contraseña en un servidor doméstico o como daemon mediante systemd.
- ¿Cómo se instala miniserve?
- Obtén el binario de miniserve (el README incluye enlaces a Crates.io y Docker Hub) Publica un directorio: miniserve linux-distro-collection/
- ¿Dónde consigo miniserve?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/svenstaro/miniserve
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Servidor WebDAV genérico y extensible, escrito en Python sobre WSGI, que puede ejecutarse de forma independiente o integrarse en otras aplicaciones WSGI.
Un servidor de archivos distintivo escrito en Rust para servir contenido estático, subir archivos, buscar, controlar el acceso y usar WebDAV.
Un único binario de Rust para inspeccionar, evaluar, generar y convertir certificados y conexiones TLS, como alternativa más sencilla a la CLI de OpenSSL.
Herramienta de búsqueda de expresiones regulares por líneas (rg) que recorre directorios y respeta las reglas de .gitignore de forma predeterminada.
Un comando cd más inteligente que aprende cuáles son tus directorios más usados y te permite acceder a ellos con unas pocas teclas, en los principales shells.