- Usa WebRTC para eliminar a etapa inicial de upload exigida por outros serviços de compartilhamento de arquivos baseados na web
- Como os dados não são armazenados em servidores intermediários, a transferência é rápida, privada e segura
- A instância hospedada do FilePizza está disponível em file.pizza
Novidades do FilePizza v2
- Nova interface com suporte a modo escuro, construída com base em tecnologias modernas de navegador
- Funciona na maioria dos navegadores móveis, incluindo o Safari no iPhone
- Transferência direta do navegador de quem envia para o navegador de quem baixa (WebRTC, sem WebTorrent), com handshake mais rápido
- Quem envia pode monitorar o progresso da transferência e interrompê-la
- Medidas reforçadas de segurança e proteção com senha e recurso de denúncia
- É possível enviar vários arquivos de uma vez, e quem baixa os recebe em um arquivo zip
- Download por streaming via Service Worker
- Armazenamento do estado do servidor em processo externo usando Redis
Stack técnica e desenvolvimento
- Next.js, Tailwind, TypeScript, React, PeerJS (para WebRTC), View Transitions, Redis (opcional)
- O código-fonte pode ser clonado do GitHub e instalado/executado com pnpm
- Também é possível compilar e executar o FilePizza com Docker
FAQ
- Como funciona a transferência de arquivos: os arquivos são transferidos diretamente do navegador de quem envia para o navegador de quem baixa. Não passam por servidor. A transferência usa WebRTC, e quem envia precisa manter a janela do navegador aberta até a conclusão da transferência.
- É possível fazer downloads simultâneos?: Sim. Basta enviar a URL curta ou longa.
- Limite de tamanho de arquivo: o quanto o navegador conseguir processar
- Se o navegador for fechado: a URL do arquivo deixa de funcionar. Se o download já tiver sido concluído, essa pessoa continua fazendo seed para quem ainda não terminou, mas novos downloads não podem ser iniciados.
- Os arquivos são criptografados?: toda comunicação WebRTC é criptografada automaticamente via DTLS. Para mais segurança, é possível adicionar uma senha ao upload.
1 comentários
Comentários do Hacker News
Eu mantenho uma longa lista de ferramentas de transferência de arquivos P2P baseadas em navegador e CLI
O navegador Opera ofereceu brevemente por volta de 2010 um recurso de transferência de arquivos P2P chamado Unite
O que normalmente me irrita nesses serviços é que eles fornecem URLs complicadas
Gostaria que houvesse uma forma de fazer descoberta de pares locais com WebRTC
Tenho receio de que aconteça com ShareDrop e Snapdrop o mesmo que aconteceu ao serem adquiridos pela LimeWire
Esse problema já deveria ter sido resolvido há décadas, mas ainda faltam soluções não comerciais que sejam robustas e seguras
O WebRTC é rápido e seguro porque os dados não ficam armazenados em um servidor intermediário
Se instalar o Transmission ou outro cliente de torrent não for um problema, prefiro a abordagem de privtracker
Gosto muito do PairDrop
Também existe o Magic Wormhole, embora não seja baseado em navegador