Enviar arquivos do celular para um servidor, NAS ou Raspberry Pi
Última verificação
A maioria das ferramentas de compartilhamento pelo navegador precisa de uma aba aberta no lado que recebe. Um servidor doméstico, NAS, Raspberry Pi ou VM na nuvem não tem tela nem navegador. A caixa de entrada de linha de comando do tosstome foi feita exatamente para essa máquina.
Configure a caixa de entrada
No servidor (Node.js 22 ou mais recente):
tosstome listen --dir /srv/inbox
Ele mostra um link e um QR code no terminal:
- Escaneie o QR code com o celular ou copie o link para ele.
- Adicione a página à tela inicial do celular.
- Abra, escolha os arquivos e toque em Enviar. Eles são gravados em
/srv/inbox.
Quando o celular está na mesma rede que o servidor, os arquivos vão direto para ele por essa rede e nunca saem dela. De qualquer outro lugar, eles vão diretamente quando as duas redes permitem, ou por um relay que não guarda nada.
O link da caixa de entrada continua o mesmo após reinicializações, então o ícone na tela inicial segue funcionando. Para mostrá-lo de novo depois, execute tosstome url. Para descartar o link antigo e criar um novo, execute tosstome listen --new.
Como a caixa de entrada é protegida
- O link contém uma chave secreta de envio depois do
#. Os navegadores nunca enviam essa parte do link ao servidor na requisição da página; a chave é passada depois, dentro da conexão WebSocket. - O servidor guarda apenas hashes SHA-256 das chaves.
- O lado do servidor usa uma chave de agente separada, que nunca sai de
~/.config/tosstome/inbox.json. - Chaves de envio erradas bloqueiam quem envia, nunca a conexão do próprio servidor.
- Os nomes de arquivo vindos de quem envia são reduzidos a um nome simples dentro da pasta de destino. Os arquivos são gravados como
.parte renomeados quando completos, então um script que observa a pasta nunca vê um arquivo pela metade.
Também visível na rede local
tosstome listen --nearby
Com --nearby, o servidor também aparece na lista Nesta rede dos navegadores da mesma rede, e qualquer pessoa em casa pode enviar a ele sem o link. Esses arquivos vão para uma subpasta nearby/ separada, porque qualquer pessoa nessa rede pode enviá-los.
Execute como serviço
Para uma máquina que deve sempre aceitar arquivos, execute o comando sob o que mantém seus outros serviços ativos, como uma unidade systemd, um contêiner Docker ou o tmux. Adicione --json para obter um evento JSON por linha (ready, offer, file, error), útil para logs ou scripts.
[Unit]
Description=tosstome inbox
After=network-online.target
[Service]
ExecStart=/usr/bin/env tosstome listen --dir /srv/inbox --json
Restart=always
User=media
[Install]
WantedBy=multi-user.target
Enviar pelo terminal de outro computador
tosstome send report.pdf photos.zip --to "INBOX_LINK"
Coloque o link entre aspas, pois ele contém um #, que os shells tratam como comentário.
Perguntas
O servidor precisa de IP público ou portas abertas?
Não. A caixa de entrada faz uma conexão WebSocket de saída para o toss2.me e espera por ali, então funciona atrás de roteadores domésticos, NAT e firewalls que permitem HTTPS de saída.
Em casa, os arquivos passam pela internet?
Não. Só a configuração curta da conexão passa pelo toss2.me. Quando o celular e o servidor estão na mesma rede, os arquivos vão direto entre eles por WebRTC, então a velocidade é limitada pelo seu Wi-Fi ou Ethernet. A página mostra se a transferência foi direta ou pelo relay.
O que acontece se o servidor estiver offline quando eu enviar?
Nada é enviado e nada é armazenado. A página do celular avisa que a caixa de entrada está offline.
Outras pessoas podem enviar para a minha caixa de entrada?
Só quem tem o link. Se ele vazar, execute tosstome listen --new para substituí-lo; o link antigo deixa de funcionar.
Existe limite de tamanho de arquivo?
O tosstome não define limite. O navegador que recebe mantém o arquivo na memória até você salvar. Por isso, para arquivos de vários gigabytes, a caixa de entrada da linha de comando é o melhor receptor, pois grava direto no disco.
Relacionados
- A ferramenta de linha de comando do tosstome
- Enviar arquivos do celular para o computador
- PairDrop vs tosstome
- Como o tosstome funciona
Experimente agora
Abra o toss2.me em dois dispositivos. Sem app, sem conta e sem guardar nada.
Enviar um arquivo agora