Repolode
svenstaro

svenstaro/miniserve

Uma CLI em Rust, distribuída como binário único, para servir arquivos e diretórios por HTTP, com autenticação, uploads e TLS opcionais.

Estrelas
7,922
Forks
401
Issues abertas
93
Último commit
há 24 dias

O que é?

miniserve é uma ferramenta pequena de linha de comando para compartilhar arquivos por HTTP sem configurar um servidor web completo. Basta indicar um diretório ou um único arquivo para começar a servi-lo com uma listagem navegável ou, em vez disso, disponibilizar um arquivo de índice escolhido. É distribuído como um binário independente, disponível para Linux, macOS e Windows, além de poder ser instalado via Cargo, Homebrew, Docker e Podman.

Além do compartilhamento básico, atende a necessidades comuns do dia a dia: autenticação com usuário e senha (em texto simples ou com hash SHA-256/SHA-512), uploads de arquivos e pastas, criação de diretórios, exclusão de arquivos quando habilitada e downloads de pastas em tar, tar.gz ou zip, gerados sob demanda. Também pode funcionar com TLS, adicionar cabeçalhos de resposta personalizados, servir SPAs com roteamento de fallback e disponibilizar um endpoint WebDAV somente para leitura.

É desenvolvido em Rust e usa o framework web Actix. O projeto se apresenta como alternativa a opções improvisadas, como o servidor HTTP integrado do Python e o netcat, destacando o melhor tratamento de tipos MIME e a configuração mais simples no Windows.

Recursos principais

  • 01Serve um diretório ou um único arquivo com listagem navegável e opção de usar um arquivo de índice personalizado.
  • 02Oferece autenticação com usuário e senha, incluindo senhas com hash SHA-256 e SHA-512.
  • 03Permite fazer upload de arquivos, criar diretórios e, opcionalmente, excluir arquivos, com acesso restrito aos caminhos escolhidos.
  • 04Disponibiliza downloads de pastas como arquivos tar, tar.gz ou zip gerados sob demanda.
  • 05Oferece TLS, cabeçalhos de resposta personalizados, roteamento de fallback para SPAs e WebDAV somente para leitura.
  • 06Inclui filtros de busca, exibição de QR codes, temas claro e escuro e conclusões de comandos para shell.

Casos de uso

  • Compartilhar rapidamente um arquivo ISO grande ou uma pasta com alguém na mesma rede.
  • Servir localmente um site estático ou o build de uma aplicação de página única para testes.
  • Permitir que um celular envie fotos para um laptop pelo navegador.
  • Manter um compartilhamento de arquivos protegido por senha em um servidor doméstico ou como daemon via systemd.

Início rápido

  1. 1

    Obtenha o binário do miniserve (o README contém links para o Crates.io e o Docker Hub)

  2. 2

    Sirva um diretório

    miniserve linux-distro-collection/

Antes de usar

  • O arquivo ZIP é gerado na memória, então diretórios grandes podem causar erros por falta de memória.
  • TLS está disponível apenas para arquiteturas compatíveis.

Em coleções

Tópicos

Perguntas frequentes

O que é miniserve?
Uma CLI em Rust, distribuída como binário único, para servir arquivos e diretórios por HTTP, com autenticação, uploads e TLS opcionais. miniserve é uma ferramenta pequena de linha de comando para compartilhar arquivos por HTTP sem configurar um servidor web completo. Basta indicar um diretório ou um único arquivo para começar a servi-lo com uma listagem navegável ou, em vez disso, disponibilizar um arquivo de índice escolhido. É distribuído como um binário independente, disponível para Linux, macOS e Windows, além de poder ser instalado via Cargo, Homebrew, Docker e Podman.
miniserve é gratuito? Qual é a licença?
miniserve é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
miniserve ainda é mantido?
Manutenção ativa. O último commit de miniserve foi em 1 de out. de 2026.
Para que posso usar miniserve?
Compartilhar rapidamente um arquivo ISO grande ou uma pasta com alguém na mesma rede. Servir localmente um site estático ou o build de uma aplicação de página única para testes. Permitir que um celular envie fotos para um laptop pelo navegador. Manter um compartilhamento de arquivos protegido por senha em um servidor doméstico ou como daemon via systemd.
Como instalar miniserve?
Obtenha o binário do miniserve (o README contém links para o Crates.io e o Docker Hub) Sirva um diretório: miniserve linux-distro-collection/
Onde consigo miniserve?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/svenstaro/miniserve

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados