Um servidor simples de arquivos estáticos escrito em Rust, com listagem de diretórios, uploads, autenticação básica e HTTPS opcional.
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
Obtenha o binário do miniserve (o README contém links para o Crates.io e o Docker Hub)
- 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
Um servidor WebDAV genérico e extensível, escrito em Python sobre WSGI, que pode ser executado de forma independente ou integrado a outros apps WSGI.
Um servidor de arquivos de linha de comando diferenciado, escrito em Rust, para servir arquivos estáticos, fazer uploads, pesquisar, controlar acesso e usar WebDAV.
Um único binário Rust para inspecionar, avaliar, gerar e converter certificados e conexões TLS, como alternativa mais simples à CLI do OpenSSL.
Ferramenta de busca de expressões regulares por linha (rg) que percorre diretórios recursivamente e respeita as regras de .gitignore por padrão.
Um comando cd mais inteligente, que aprende quais diretórios você mais usa e permite acessá-los com poucas teclas em todos os principais shells.