WebRTC sem jargão

Como funciona a transferência de arquivos P2P

P2P significa que os dispositivos tentam criar um caminho direto entre si. No Senddfile, o WebRTC fornece esse canal no navegador; o servidor auxilia a conexão, mas não armazena o conteúdo do arquivo.

Transferir por P2P

O que P2P quer dizer aqui

Depois que remetente e destinatário entram na mesma sessão, seus navegadores negociam uma conexão WebRTC. Quando a rede permite, os bytes do arquivo seguem pelo DataChannel de um par para o outro.

Duas etapas, dois tipos de dado

1. Signaling pelo servidor

Firestore troca SDP, candidatos ICE e o código temporário necessários para estabelecer a sessão.

2. Conteúdo pelo DataChannel

Nome, metadados de controle e bytes do arquivo trafegam entre os navegadores; nem o nome nem o conteúdo são armazenados no Firestore.

Criptografado em trânsito com DTLS

WebRTC protege o DataChannel durante a transmissão usando DTLS. Isso protege o conteúdo no caminho da rede, mas o código ainda deve ser compartilhado somente com o destinatário certo.

O que o Senddfile observa

A infraestrutura usa dados técnicos para conectar os dispositivos, acompanhar o estado da transferência e diagnosticar problemas. Eles podem incluir informações de rede, navegador, tempos e quantidade de bytes, mas os registros operacionais e de diagnóstico não incluem o nome, o conteúdo nem o código da transferência.

Leia a política de privacidade

Limitações do modelo direto

  • Os dois dispositivos precisam estar online durante toda a transferência.
  • Sem armazenamento, não existe download posterior quando o remetente sai.
  • O recebimento usa memória: 300 MiB no mobile e 1 GiB no desktop são limites preventivos.
  • Sem TURN, algumas redes corporativas, VPNs e NATs restritivos podem impedir a conexão.

Quando P2P faz sentido

Prefira P2P

Quando as duas pessoas estão online, querem evitar cadastro e não precisam hospedar o arquivo para acesso futuro.

Prefira armazenamento

Quando o destinatário precisa baixar depois, várias pessoas precisam do mesmo arquivo ou a conexão direta não é possível.