====== miniserve ======
Herramienta en línea de comandos para servir ficheros y directorios por HTTP de forma simple y rápida.
* [[https://github.com/svenstaro/miniserve|Repositorio de código]]
{{ https://raw.githubusercontent.com/svenstaro/miniserve/master/screenshot.png |}}
===== Características =====
* Fácil de usar
* Solo un fichero sin dependencias.
* Soporte de autenticación
* Muy rápido
* Descarga de directorios (posibilidad de comprimir al vuelo en ''.tar.gz'' o ''.zip'')
* Subida de ficheros
* Creación de directorios
* Temas de colores
* Generación de códigos QR
* TLS
* Soporta la generación de ficheros ''README.md'' como GitHub.
===== Instalación =====
Todo está contenido en un único ficehro binario / ejecutable, así que basta con descargarlo y ejecutarlo con las opciones que queramos
==== Docker ====
Ejemplo de fichero ''docker-compose.yml'' para usar con Docker Compose:
services:
miniserve:
image: docker.io/svenstaro/miniserve
container_name: miniserve
environment:
MINISERVE_TITLE: compartir
MINISERVE_COLOR_SCHEME: archlinux
MINISERVE_PORT: 8080
MINISERVE_DIRS_FIRST: true
MINISERVE_HIDE_VERSION_FOOTER: true
ports:
- "8889:8080"
volumes:
- "./data:/data"
command: " /data"
restart: unless-stopped
Al crear el contenedor con el [[informatica:sistemas_operativos:virtualizacion:docker:docker_compose|Compose]] anterior, compartiremos el contenido del directorio ''data'' del host a través de la red por el puerto 8889 del host.
===== Uso =====
==== Compartir con usuario y contraseña ====
miniserve --auth pepito:123 directorio-protegido/
Si usamos Docker, la variable de entorno correspondiente es ''MINISERVE_AUTH''. Por ejemplo:
MINISERVE_AUTH: "pepito:123"
==== Mostrar comando wget para descargar recursivamente ====
miniserve --show-wget-footer directorio-a-compartir/
Se mostrará el comando ''wget'' necesario para descargar el directorio actual de forma recursiva.
Si usamos Docker, la variable de entorno correspondiente es ''MINISERVE_SHOW_WGET_FOOTER''
==== Subida de archivos ====
Es posible subir ficheros a una instancia de **miniserve** mediante:
miniserve --upload-files /directorio/subidas
Si usamos Docker, la variable de entorno correspondiente es ''MINISERVE_ALLOWED_UPLOAD_DIR''