4 pontos por GN⁺ 2024-03-11 | 1 comentários | Compartilhar no WhatsApp
  • LocalSend permite enviar e receber arquivos entre dispositivos na mesma rede local sem nuvem nem servidor intermediário, sendo útil para quem quer usar um recurso no estilo AirDrop em várias plataformas
  • Suporta Windows, macOS, Linux, Android e iOS, e permite iniciar a transferência de arquivos por proximidade logo após a instalação, sem conta nem login
  • Os dados transferidos não saem da rede Wi-Fi local, e todas as transferências usam criptografia HTTPS
  • Não há restrições de tipo de arquivo para fotos, vídeos, documentos, texto etc., e o local padrão de salvamento é a pasta Downloads do dispositivo, mas isso pode ser alterado nas configurações
  • Projeto gratuito e de código aberto com 70k+ estrelas no GitHub, 5M+ downloads e 100+ contribuidores, sem anúncios, rastreadores ou custos ocultos

Compartilhamento de arquivos com base em rede local

  • LocalSend é uma ferramenta multiplataforma de código aberto para compartilhar arquivos sem usar nuvem
  • As plataformas compatíveis são Windows, macOS, Linux, Android e iOS
  • O fluxo de uso é simples
    • Instale e execute o LocalSend em cada dispositivo
    • Selecione fotos, vídeos, documentos, texto ou outros tipos de arquivo
    • Toque em um dispositivo próximo para transferir pela rede local
  • Não são necessários conta, login nem servidor
  • Funciona sem conexão com a internet, e os dados não saem da rede Wi-Fi local
  • Transfere na velocidade máxima da rede Wi-Fi e não há limitação de largura de banda
  • Todas as transferências são criptografadas com HTTPS
  • Se precisar de segurança adicional, é possível ativar a confirmação por PIN
  • Por padrão, os arquivos são salvos na pasta Downloads do dispositivo, e o local de salvamento pode ser alterado nas configurações

Status do projeto e canais de suporte

  • O LocalSend é 100% gratuito e de código aberto, sem anúncios, rastreamento ou custos ocultos
  • Os indicadores públicos são 70k+ estrelas no GitHub, 5M+ downloads e 100+ contribuidores
  • A versão web está disponível em web.localsend.org
  • Comunidade e canais de suporte
    • Discord
    • Reddit
    • Mastodon
    • Discussões por idioma no GitHub Discussions: English, Deutsch, Español, Français, Italiano, 简体中文
  • Bugs podem ser reportados em GitHub Issues

1 comentários

 
GN⁺ 2024-03-11
Comentários do Hacker News
  • O melhor é que funciona na maioria das principais plataformas e a GUI é fácil de usar
    O app para iOS também é excelente
    Mas há alguns bugs para ficar atento: no Windows, se o LocalSend estiver rodando com a janela aberta (depois de receber algo?), ele impede o sistema de entrar em suspensão, e no Linux acontece a mesma coisa mesmo que a janela não esteja visível
    No Linux, se o LocalSend ficar ocioso com a janela visível, o gerenciador de janelas do desktop continua atualizando as áreas danificadas e usa CPU de forma anormalmente alta
    No Windows, mesmo ativando a opção “startup minimized” e configurando para iniciar com o sistema, muitas vezes a janela continua aparecendo, e considerando o problema de suspensão, também não é animador deixá-lo rodando em segundo plano

    • “Se o LocalSend ficar ocioso com a janela visível, o gerenciador de janelas do desktop gasta CPU demais”, ou seja, tem mesmo cara de Flutter
    • Acabei de instalar e, entre os apps desse tipo, foi a experiência mais sem complicação que tive
      Minha única reclamação é que o aparelho que recebe precisa estar acordado e com o app em primeiro plano para funcionar. Pelo menos no Android foi assim, mesmo com a opção de salvamento rápido ativada
      Seria ótimo se o Quick Share (antigo Nearby Share) funcionasse também no Linux. Mesmo que fosse via Chrome
    • Dá para abrir uma issue sobre isso?
    • É muito bom ter esse tipo de software multiplataforma e não proprietário para compartilhamento local de arquivos
    • Basta desativar as animações. Com as animações ligadas, o uso de CPU fica em torno de 4~7~14%, mas desligando cai para 0~2~3%
  • Há pouco tempo conversei com meu irmão sobre celulares, e ele precisa usar iPhone por causa do trabalho
    Ele é bombeiro florestal federal nos EUA e passou o verão inteiro passado trabalhando como hotshot; em áreas remotas sem sinal de celular nem roteador Wi‑Fi central, a equipe troca arquivos como mapas via AirDrop antes de se dispersar
    Achei bem interessante, mas será que essa ferramenta também consegue lidar com situações como enviar do Android para o iPhone?

    • Sim
  • A política de privacidade é ótima: https://localsend.org/#/privacy

    • A frase “A política de privacidade pode ser atualizada de tempos em tempos, e as alterações entram em vigor imediatamente após a publicação da nova política nesta página” na verdade parece uma cláusula bem ruim
    • Os termos de serviço (https://localsend.org/#/terms-of-service) não são muito bons
      Dizem: “Você declara ter pelo menos 18 anos, e a empresa não permite o uso do serviço por menores de 18 anos”
      Eu queria usar com a família, especialmente com as crianças, então isso atrapalha
    • Fora dizer que não coletam dados pessoais, não há nada sobre o que é compartilhado
  • É surpreendente que, em 2024, o AirDrop ainda seja uma grande vantagem do ecossistema Apple
    Tecnicamente, é uma das funções mais simples possíveis, mas a inovação não está na tecnologia, e sim no alinhamento de interesses que a Apple tem e os concorrentes não têm
    Isso porque os concorrentes competem entre si e ao mesmo tempo competem com a Apple

    • Se todo mundo usasse Samsung, bastaria usar algo como o Quick Share. Lock-in não é algo para elogiar
    • Se “tecnicamente é uma das coisas mais simples possíveis”, então por que não existe sequer uma “alternativa livre e de código aberto ao AirDrop” que crie com fluidez uma rede sem fio temporária entre dois dispositivos e ofereça transferência P2P de alta velocidade de verdade?
    • Um modelo de lock-in proprietário pode até te colocar na capa de alguma CEO Magazine, mas isso não é inovação
      Depois de passar anos rejeitando críticas ao cabo proprietário, a Apple passou a descrever a porta USB-C do iPhone 15 assim após a exigência da UE:
      “O novo conector USB‑C permite carregar Mac ou iPad com o mesmo cabo que você usa para carregar o iPhone 15. Você também pode usar o iPhone 15 para carregar Apple Watch ou AirPods. Diga adeus à bagunça de cabos.”
      https://www.apple.com/ca/iphone-15/
      Isso continua acontecendo porque Apple e Google seguem ampliando a diferença de funcionalidade entre computadores e celulares. No lado dos celulares, o consumidor tem muito menos opções ao usar apps e periféricos de terceiros
    • Peguei um feature phone Samsung de 2011 e fiquei surpreso ao descobrir que ele consegue trocar arquivos diretamente com um PC via Bluetooth
  • Para este software, recomendo o vídeo de instruções de uso do Techno Tim
    Ele explica os casos de uso e faz demonstrações nas principais plataformas: https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr

  • A cada poucos meses aparece uma ferramenta nova desse tipo, mas nenhuma delas consegue ser amplamente usada

    • Mesmo em 2024 ainda não existe um método geral decente para enviar arquivos entre sistemas na mesma LAN, sem falar pela internet
      Esse tipo de vazio existe não só porque não dá dinheiro resolver, nem apenas porque soluções abertas, como sempre, são difíceis de usar
      Neste caso, há dinheiro justamente em não resolver. Se existisse uma solução excelente, simples e universal, diminuiria a demanda por sistemas grandes e complexos de armazenamento em nuvem que permitem mineração de dados de todos os arquivos ou exigem assinatura
    • https://wormhole.app/ é bem bom
    • Já pensei que seria útil enviar o máximo possível de patches para esses projetos para que tivessem interoperabilidade
      Provavelmente seria algo como implementar o mesmo protocolo no maior número possível de apps
      No fim, só vai haver efeito de rede quando um protocolo suficientemente comum for usado e a maioria dos apps conseguir se comunicar entre si
      Claro, não sei se eu realmente teria tempo ou capacidade para ir tão a fundo nisso
    • Não sei o que “amplamente” quer dizer. Eu sempre uso https://www.sharedrop.io/, mas sou o único que usa
  • Estou usando com satisfação outro projeto open source chamado LANDrop
    O problema com o LocalSend é que a velocidade de transferência é baixa. Por algum motivo ele é mais lento que o LANDrop e muito mais lento que SMB ou Croc
    A detecção também tem um problema bem estranho. No meu iPad, não consigo enviar para um PC com Windows, mas do PC consigo enviar para o iPad
    Reiniciar o servidor, desativar o firewall e outras tentativas não adiantaram. Minha LAN é um pouco complexa por causa de VLANs, então pode ser um problema só meu e por isso não abri uma issue
    Mas o mais estranho é que o LANDrop não tem esse mesmo problema

  • Pela minha experiência tentando enviar arquivos de um iPhone para uma central automotiva baseada em Android, LocalSend e LANDrop foram as melhores opções
    Os outros, como Sharedrop, Snapdrop, Pairdrop e Arc, exigiam internet ou simplesmente não funcionavam direito

  • Sinto falta do Bluetooth para descoberta, e também para transferências de arquivos pequenos
    Você deixa de precisar estar na mesma rede de alguma forma, consegue detectar dispositivos próximos e hoje em dia ele também funciona bem para transferências entre notebook ↔ smartphone
    Para arquivos grandes, ainda existe a possibilidade de criar um ponto de acesso por Wi‑Fi
    A descoberta baseada em Bluetooth é o ponto forte do AirDrop. Não tenho certeza, mas parece que a Apple cria um Wi‑Fi temporário para transferências grandes e o outro dispositivo se conecta brevemente a ele
    O app Teleport [1] usa Zeroconf para descoberta, mas tem pouco suporte multiplataforma
    Configurar o Avahi é complicado, gera conflitos e ainda exige um daemon, então talvez seja melhor usar multicast diretamente
    Além disso, eu frequentemente esqueço que o Bluetooth já tem recursos de transferência de arquivos embutidos, como vCard
    Lembro que só o GNOME mostrava isso, e mesmo assim não era dentro do Nautilus
    O WebDAV é parecido e, para mim, funciona muito melhor que SMB. Só que a maioria das pessoas nem sabe que o WebDAV já vem embutido

    • A captura de tela da landing page parece dar uma cutucada na Apple por um bom motivo
      Ontem um amigo tentou fazer AirDrop de fotos do iPhone 11 Pro dele para o meu iPhone 15 Pro
      Encostamos a parte de cima dos celulares e apareceu aquela animação divertida de tremor, mas os arquivos não foram transferidos
      Depois ele tocou na minha foto no AirDrop e, do lado dele, apareceu “aguardando confirmação”, mas no meu lado não surgiu popup nenhum
      Tentamos de novo várias vezes e até reiniciamos os aparelhos, mas desistimos e no fim enviamos pelo WhatsApp, que ironicamente simplesmente funcionou
      A Apple precisa corrigir esse tipo de bug. É uma pena ver que hoje ela parece focar menos em software do que em hardware
  • Existe alguma ferramenta equivalente com frontend HTTP para que o cliente não precise instalar nada?
    Já usei apps assim no passado, mas parece que a manutenção foi interrompida e eles não funcionam mais

    • Normalmente uso Snapdrop(https://snapdrop.net) ou PairDrop(https://pairdrop.net)
    • Em LAN, costumo usar python -m http.server
      Se for chato configurar Python no host de origem ou a rede for complicada, funciona bem executar o uploadserver[1] no host de destino
      Fico receoso com ferramentas cheias de firulas com “magic” no nome que dependem de servidores de relay externos
      Mesmo quando não dependem disso, gosto do velho e simples HTTP. Não preciso de nada mais complexo e, na maioria dos casos, também não preciso de criptografia
      netcat/socat também podem ser uma solução, mas não estão tão disponíveis em todo lugar quanto Python e HTTP. E eu nunca lembro os encantamentos de linha de comando
      [1]: https://pypi.org/project/uploadserver/
    • O LocalSend oferece isso
      https://github.com/localsend/protocol?tab=readme-ov-file#51-browser-url
      Ou você quis dizer upload por um frontend HTTP?
    • Uma opção é https://github.com/akovacs/uploadserver. Basicamente, é uma versão melhor do python -m http.server 8000
      Primeiro, você sobe um servidor em um desktop ou notebook que tenha o software, e então qualquer cliente com navegador web (Android, iOS, PlayStation, Kindle etc.) pode fazer upload ou download de arquivos por uma GUI web sem instalar software cliente
      Binários pré-compilados para x86-64 Linux, Windows e Mac OS podem ser baixados em https://github.com/akovacs/uploadserver/releases/
      Ainda não há binários pré-compilados para Apple Silicon, mas eles podem ser adicionados se houver demanda suficiente, e, se quiser, também é possível compilar a partir do código-fonte com a toolchain nightly do Rust
      Em comparação com um serviço de nuvem ou com python -m http.server 8000, o servidor é escrito em Rust, é muito rápido, bastante simples (o binário compilado e stripado normalmente fica com menos de 3 MB) e transfere tudo pela LAN local
      Parece lidar muito bem com arquivos grandes de mais de 4 GB, e o software só precisa ser instalado em uma única máquina
      Para mais detalhes, veja https://news.ycombinator.com/item?id=39665095
    • Estou criando isto: https://github.com/pvik/simple-file-server/releases