Servidor de arquivos portátil em Python, com uploads e downloads retomáveis, acessível por qualquer navegador e via WebDAV, SFTP, FTP, TFTP e SMB.
sigoden/dufs
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.
Alternativa open source a:Dropbox
Google Drive
Microsoft OneDrive
- Estrelas
- 10,975
- Forks
- 607
- Issues abertas
- 2
- Último commit
- há 3 dias
O que é?
Dufs é um servidor de arquivos que você inicia pela linha de comando para compartilhar um diretório por HTTP ou HTTPS. Por padrão, ele serve arquivos apenas para leitura; flags como --allow-upload, --allow-delete ou -A (permitir tudo) habilitam operações de escrita. Os visitantes têm acesso a uma interface no navegador com listagem de diretórios, uploads por arrastar e soltar, download de pastas como zip e criação e edição de arquivos.
O acesso é controlado por caminho, com regras de contas passadas por --auth, que aceitam permissões somente de leitura ou de leitura e escrita, caminhos públicos anônimos e senhas com hash sha-512. Dufs também oferece suporte a WebDAV, uploads e downloads retomáveis, pesquisa, consultas de hash sha256 e uma listagem simples em JSON ou texto puro que funciona bem com curl.
Para sites estáticos, ele pode renderizar index.html ou servir uma aplicação de página única. Pode ser instalado por meio de cargo, Homebrew, Docker ou binários pré-compilados para macOS, Linux e Windows.
Recursos principais
- 01Serve arquivos estáticos e pastas, com suporte opcional a index.html e à renderização de SPA
- 02Uploads por arrastar e soltar, além de criação, edição e pesquisa de arquivos
- 03Controle de acesso baseado em contas, com regras de leitura ou leitura e escrita por caminho
- 04Suporte a WebDAV e uploads e downloads retomáveis
- 05Download de pastas como zip e consultas de hash sha256
- 06Configuração por flags da CLI, variáveis de ambiente ou arquivo YAML
Casos de uso
- Compartilhar rapidamente uma pasta local com colegas pela rede local
- Hospedar um site estático ou uma aplicação de página única a partir de um diretório
- Oferecer uma caixa simples para outras pessoas enviarem arquivos
- Montar uma unidade de rede própria usando clientes WebDAV
Início rápido
- 1
Instalar com cargo
cargo install dufs - 2
Servir o diretório atual em modo somente leitura
dufs - 3
Permitir todas as operações, como upload, exclusão e busca
dufs -A
Antes de usar
- Alguns recursos avançados, como a autenticação Digest, não funcionam com senhas com hash.
Tópicos
Perguntas frequentes
- O que é dufs?
- 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. Dufs é um servidor de arquivos que você inicia pela linha de comando para compartilhar um diretório por HTTP ou HTTPS. Por padrão, ele serve arquivos apenas para leitura; flags como --allow-upload, --allow-delete ou -A (permitir tudo) habilitam operações de escrita. Os visitantes têm acesso a uma interface no navegador com listagem de diretórios, uploads por arrastar e soltar, download de pastas como zip e criação e edição de arquivos.
- dufs é gratuito? Qual é a licença?
- dufs é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dufs ainda é mantido?
- Manutenção ativa. O último commit de dufs foi em 22 de out. de 2026.
- Para que posso usar dufs?
- Compartilhar rapidamente uma pasta local com colegas pela rede local Hospedar um site estático ou uma aplicação de página única a partir de um diretório Oferecer uma caixa simples para outras pessoas enviarem arquivos Montar uma unidade de rede própria usando clientes WebDAV
- Como instalar dufs?
- Instalar com cargo: cargo install dufs Servir o diretório atual em modo somente leitura: dufs Permitir todas as operações, como upload, exclusão e busca: dufs -A
- Onde consigo dufs?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sigoden/dufs
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 programa de listagem de arquivos auto-hospedado que reúne vários serviços de armazenamento em nuvem e discos locais em uma única interface web e no WebDAV.
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.
Uma nuvem rápida e leve, hospedada por você, para arquivos, calendários, contatos e edição de documentos, feita em Rust com suporte a WebDAV, CalDAV e CardDAV.
Ferramenta de linha de comando para sincronizar, copiar e montar arquivos em mais de 70 provedores de armazenamento em nuvem e locais — o rsync para a nuvem.