Repolode
polius

polius/FileSync

Um app web auto-hospedado que envia arquivos de um navegador para vários outros em tempo real, via WebRTC ponto a ponto e sem limite de tamanho.

Estrelas
1,892
Forks
188
Issues abertas
1
Último commit
anteontem

O que é?

O FileSync permite que um dispositivo compartilhe arquivos com vários destinatários ao mesmo tempo. Quem envia cria uma sala e compartilha um link ou código QR; os destinatários abrem o link no navegador, sem instalar nada nem criar uma conta. É possível proteger as salas com senha.

Os arquivos são transferidos diretamente entre os navegadores por WebRTC criptografado. Um servidor de sinalização apenas ajuda os pares a se conectar, e um relay TURN é usado quando não é possível estabelecer uma conexão direta. Os arquivos recebidos são gravados em disco à medida que chegam, mantendo o uso de memória estável independentemente do tamanho do arquivo. Se uma transferência for interrompida, a conexão é restabelecida e ela continua de onde parou.

O projeto é distribuído como uma única imagem Docker. A configuração HTTPS usa Caddy com um domínio, o que habilita no navegador os métodos de gravação em streaming. HTTP simples funciona para testes locais, mas exige que o arquivo inteiro seja armazenado em memória.

Recursos principais

  • 01Os arquivos são transferidos diretamente entre navegadores por WebRTC criptografado.
  • 02Grava os arquivos recebidos em disco por streaming, evitando que arquivos grandes esgotem a memória.
  • 03Retoma automaticamente as transferências interrompidas.
  • 04Envia um arquivo para vários dispositivos por meio de um link ou código QR compartilhado da sala.
  • 05Usa um relay TURN quando uma conexão direta é bloqueada.
  • 06Os destinatários não precisam instalar nada nem criar contas; as salas podem ser protegidas com senha.

Casos de uso

  • Enviar arquivos grandes para um grupo de colegas ou clientes sem fazer upload para um serviço de nuvem de terceiros.
  • Compartilhar arquivos em uma rede doméstica ou de escritório, ou entre redes, por meio de uma instância auto-hospedada.
  • Transferir arquivos entre seu próprio celular e computadores pelo navegador.

Início rápido

  1. 1

    Baixe deploy/docker-compose.yml do repositório

  2. 2

    Inicie o FileSync com o Docker Compose

    docker compose up -d
  3. 3

    Abra http://localhost no navegador da máquina que está executando o Docker

Antes de usar

  • A opção HTTP serve apenas para testes locais rápidos e não é indicada para produção.
  • Em HTTP sem criptografia, os arquivos recebidos são armazenados integralmente na memória; por isso, transferências grandes podem consumir memória demais.
  • Para uso em produção, é necessário usar HTTPS com seu próprio domínio e uma configuração do Caddy.
  • É preciso liberar no firewall as portas 80/443 e 3478, além do intervalo de portas UDP 50000–50100.

Em coleções

Tópicos

Perguntas frequentes

O que é FileSync?
Um app web auto-hospedado que envia arquivos de um navegador para vários outros em tempo real, via WebRTC ponto a ponto e sem limite de tamanho. O FileSync permite que um dispositivo compartilhe arquivos com vários destinatários ao mesmo tempo. Quem envia cria uma sala e compartilha um link ou código QR; os destinatários abrem o link no navegador, sem instalar nada nem criar uma conta. É possível proteger as salas com senha.
FileSync é gratuito? Qual é a licença?
FileSync é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
FileSync ainda é mantido?
Manutenção ativa. O último commit de FileSync foi em 5 de nov. de 2026.
Para que posso usar FileSync?
Enviar arquivos grandes para um grupo de colegas ou clientes sem fazer upload para um serviço de nuvem de terceiros. Compartilhar arquivos em uma rede doméstica ou de escritório, ou entre redes, por meio de uma instância auto-hospedada. Transferir arquivos entre seu próprio celular e computadores pelo navegador.
Como instalar FileSync?
Baixe deploy/docker-compose.yml do repositório Inicie o FileSync com o Docker Compose: docker compose up -d Abra http://localhost no navegador da máquina que está executando o Docker
Onde consigo FileSync?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/polius/FileSync

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

Projetos relacionados