- Um servidor leve para compartilhar arquivos, com expiração após um número definido de downloads ou após alguns dias
- Semelhante ao Firefox Send, que foi descontinuado, mas apenas administradores podem fazer upload de arquivos
- Permite que empresas ou pessoas compartilhem arquivos com muita facilidade e os excluam depois para economizar espaço, além de controlar quem baixa os arquivos no servidor
- Fornece API, e arquivos idênticos são deduplicados
- Pode usar AWS S3 e Backblaze B2 em vez de armazenamento local
- Pode ser personalizado com apenas conhecimento de HTML/CSS
- Inclui criptografia de ponta a ponta (E2E)
2 comentários
Há pouco tempo, precisei transferir arquivos de vários gigabytes que estavam em uma VM na nuvem para outro lugar.
Se o destino fosse o meu PC, eu teria usado uma ferramenta como croc, mas a situação era meio complicada porque no lado que receberia os arquivos era difícil usar qualquer coisa além do navegador web. Então, no começo, tentei algumas soluções de transferência de arquivos baseadas em navegador, mas elas eram lentas ou tinham o problema de não concluir a transferência no final por motivos desconhecidos.
Por isso, no fim das contas, usei o dufs para transformar a VM em um servidor de arquivos temporário. Abri uma porta apropriada no firewall, criei de forma improvisada um certificado autoassinado com o mkcert e usei nas opções de execução uma conta de usuário temporária com permissão apenas para download de arquivos.
No final, o problema foi resolvido sem dificuldades, mas fiquei pensando que teria sido ainda mais conveniente se o servidor de arquivos também gerasse o certificado autoassinado.
Ainda não usei a ferramenta apresentada aqui, mas parece que ela já vem com a função de criar certificado autoassinado embutida. Em compensação, o processo de instalação inicial parece um pouco mais complexo; talvez porque ela tenha sido pensada para ser colocada no ar uma vez e continuar em uso. De qualquer forma, quando for preciso enviar arquivos grandes ou quando for difícil usar algo além do navegador web para trocar arquivos, hospedar por conta própria um servidor de compartilhamento de arquivos também parece ser uma boa opção.
Depois do expediente, fui procurar se havia mais ferramentas parecidas com esta e encontrei o Simple Web Server e o HFS(https://www.rejetto.com/hfs/). Todas essas ferramentas oferecem suporte à geração dos próprios certificados HTTPS.
O Simple Web Server é uma ferramenta multiplataforma com GUI própria, e se destaca especialmente por permitir subir vários servidores web ao mesmo tempo. Ainda assim, no geral passa mais a sensação de ser voltado para desenvolvimento de frontend web do que propriamente para servir arquivos.
Por exemplo, ele até permite upload de arquivos, mas é preciso chamar diretamente o método HTTP PUT, e a página de índice fornecida por padrão não traz nenhum recurso de upload embutido. Além disso, embora suporte HTTP Basic Auth, ele aceita apenas uma única conta de usuário. E, embora possa ser uma desvantagem pequena, por ser baseado em Electron o instalador passa de 100 MiB.
O HFS parece ser uma ferramenta mais especializada em compartilhamento de arquivos pela web. Ao executá-lo, a interface de administração aparece no navegador padrão, e há recursos como criação de múltiplas contas com permissões detalhadas diferentes, limitação de velocidade de upload/download, logging e até funções como GeoIP e Dynamic DNS. Além de permitir gerar certificados autoassinados, ele ainda tem até uma opção para renovar certificados Let's Encrypt automaticamente.
A propósito, o executável distribuído já inclui o runtime do Node.js, e o tamanho fica em pouco mais de 40 MiB. Se isso incomodar e o Node.js já estiver instalado,
npx hfs@latestjá basta.Daqui para frente, se eu estiver numa situação em que seja difícil usar outra ferramenta no lado que vai receber os arquivos e eu precise subir meu próprio servidor de arquivos, acho que escolheria este primeiro.