Compartilhar arquivos com um amigo precisa ser tão difícil?

Apresentando o Pafera File Server, o pequeno servidor Android que se tornou um gerenciador de arquivos completo, visualizador de apresentação de slides e servidor de mídia
2023-04-17 22:41:37
👁️ 841
💬 0

Conteúdo

  1. Introdução
  2. Os Candidatos
  3. A solução
  4. Então, como isso funciona?
  5. Instalando o servidor
  6. Navegando pelos arquivos
  7. O Menu do Sistema
  8. O menu Arquivo
  9. Usando a apresentação de slides
  10. Configuração
  11. Planos futuros

Introdução

Uau! Isso é muito legal. Você pode compartilhar isso comigo?

Sendo um cara de tecnologia que constantemente tem novos gadgets e aplicativos, não consigo lembrar quantas vezes alguma versão da frase acima foi dita para mim em festas, reuniões ou até mesmo esperando o metrô.

No entanto, posso definitivamente lembrar quantas vezes terminamos com a seguinte troca:

Meu Claro! O que você usa?
Amigo Bom, eu tenho o aplicativo A.
Meu Hmm... Eu não tenho isso. Você tem o aplicativo B?
Amigo Não, eu também não tenho isso. Você tem o método C?
Meu Certo. Vamos tentar isso. Hmm... não está conectando. Que tal usarmos o método D?
Amigo Isso também não está funcionando.

Compartilhar um arquivo tem sido uma tarefa comum desde que os computadores se tornaram uma coisa na idade das trevas. Primeiro, programadores ansiosos olhavam alegremente para as impressões uns dos outros, depois se tornou copiar cartões perfurados. Depois, os discos magnéticos se tornaram a nova tendência quente, então a tecnologia mudou para discos ópticos, drives de flask e transferências sem fio.

No entanto, parece que ainda estamos em um estágio em que, depois de 70 anos, não conseguimos compartilhar facilmente vídeos fofos de shiba sem passar por obstáculos, baixar aplicativos estranhos ou recorrer a transferências sem fio lentas.

Que tal tentarmos algo diferente?

Os Candidatos

Mas Jim, eu compartilho arquivos todos os dias sem problemas, você diz?

Bem, vamos dar uma olhada nos métodos comuns que as pessoas usam para transferir arquivos.

Método Falhar
1. Lançamento aéreo Você pode fazer AirDrop para um telefone Android? Ok então!
2. Compartilhar nas proximidades É possível compartilhar arquivos no NearBy com um iPhone? Hmm...
3. AirDroid, SHAREit, Resilio Sync, Enviar para qualquer lugar, etc... Você vai dizer a alguém em um ponto de ônibus para instalar rapidamente o mesmo aplicativo que você só para que ele possa receber um arquivo? Tudo bem então!
4. Programa de bate-papo Muitos programas de bate-papo restringem os tipos de arquivos que você pode enviar, recompactam seus vídeos em HD e você tem que esperar o arquivo carregar lentamente e depois baixar para o dispositivo do seu amigo. Também encontramos o problema do método 3, em que você tem que ter o mesmo programa de bate-papo instalado para transferir arquivos.
5. Bluetooth Mesmo com Bluetooth 5, transferir um vídeo HD de 700 MiB é como assistir tinta secar no clima úmido da Flórida.
6. E-mail A maioria dos serviços de e-mail limita o tamanho do anexo, e é ainda mais lento do que transferir por meio de programas de bate-papo. No entanto, sempre achei as histórias de usuários de iPhone enviando arquivos por e-mail para si mesmos apenas para poderem imprimir um documento bastante divertidas. ;)
7. DropBox, OneDrive, etc... Apresenta os mesmos problemas de upload/download dos métodos 3 e 4.
8. Unidade flash USB Na verdade, é bem factível e rápido, mas você tem que se lembrar de carregar um por aí e também ter o adaptador certo para fazer a interface com o dispositivo do seu amigo. Eu mesmo mantenho um no bolso o tempo todo, mas é meio imprevisível se o dispositivo da pessoa com quem você está compartilhando suportará sua unidade.
9. Peça para seu amigo tirar uma foto/gravar um vídeo da tela do seu celular com a câmera dele! 100% de taxa de sucesso na transferência de dados de má qualidade!
O que acontece quando o compartilhamento não funciona?

As coisas não estão boas para nós no momento, não é mesmo?

A solução

Então, resumindo, para ser uma solução eficiente e universal, precisamos de algo que

  1. Pode ser usado em qualquer dispositivo
  2. Suporta transferências WiFi diretas sem precisar fazer upload para um servidor e vice-versa
  3. Não será possível recompactar nosso vídeo 4K para 480p.
  4. Funciona onde não conseguimos nem sinal de telefone

Agora, se ao menos houvesse algo que viesse pré-instalado em cada dispositivo, fosse projetado para acessar outros computadores com um protocolo comumente aceito e tivesse a capacidade de carregar/baixar arquivos...

Algo...

como...

um...

navegador da web!

O Windows CE suporta HTML 5? Legal!

Então, como isso funciona?

Então, como um navegador da web funciona para transferir arquivos?

Existem três etapas básicas.

  1. Conecte ambos os dispositivos à mesma rede sem fio/ponto de acesso
  2. Deixe seu amigo digitar o endereço do seu dispositivo no navegador dele
  3. Navegue, visualize, baixe e carregue o quanto quiser
Mesmo em 2023, usar o ponto de acesso do seu telefone ainda é a maneira mais rápida de transferir arquivos, especialmente se você estiver caminhando em uma montanha!

As vantagens desta abordagem são

  1. Funciona em qualquer dispositivo que tenha um navegador da web (ou seja, praticamente tudo hoje em dia)
  2. Você não precisa clicar em cada arquivo individualmente, pressionar enviar e esperar que seu amigo aceite. Seu amigo pode olhar para ver o que quer e baixar os arquivos sozinho.
  3. Você pode ter um grupo inteiro de pessoas navegando ao mesmo tempo em vez de uma por uma.

Claro, este servidor não rodará em iPhones e iPads, porque a Apple não só restringe o acesso ao sistema de arquivos em dispositivos iOS, mas também não é possível rodar programas Linux a menos que você tenha acesso root com o Cydia.

Felizmente, tudo o que você precisa é de *um* dispositivo para executar o servidor, então seus amigos da Apple ainda podem se conectar ao seu telefone Android sem problemas e ainda baixar e enviar arquivos. Além disso, eles já estão acostumados a não conseguir usar outros sistemas, já que o AirDrop só funciona para dispositivos Apple. ;)

Instalando o servidor

Para velocidade e eficiência, o Pafera File Server é um aplicativo Linux/Windows escrito em Rust, então, infelizmente, você não pode simplesmente baixá-lo da app store. Posso fazer uma versão da app store em Kotlin mais tarde se alguém estiver disposto a me pagar por isso, mas a menos que você seja Jerry Maguire, você terá que se contentar com a versão Rust por enquanto.

Felizmente, muitos programadores de código aberto muito mais inteligentes do que eu se uniram para criar aplicativos que permitem executar programas Linux no seu telefone Android com vários níveis de sucesso.

Portanto, tudo o que você precisa fazer é instalar o Termux no seu telefone, copiar e colar dois comandos e pressionar Enter algumas vezes. Não é uma instalação de um clique, mas também não é a SpaceX construindo a StarShip, e você ganhará acesso a todo um outro ecossistema de programas legais para brincar.

Este é seu cérebro sob efeito de drogas... err... telefone com Termux.

A instalação é feita da seguinte forma:

  1. Baixe o aplicativo Termux do F-Droid ou de Codeberg
  2. Inicie o aplicativo
  3. Copie e cole o seguinte no terminal e pressione Enter.

    curl -O https://pafera.com/installfileserver.sh
    
  4. Copie e cole mais um comando no terminal e pressione Enter.

    bash installfileserver.sh
    
  5. Pressione Enter no seu teclado para qualquer prompt que apareça durante o processo de atualização do pacote.
  6. Peça para seu amigo digitar o URL exibido na tela.

    Encontrando a URL entre a exibição

Agora, depois de instalar o servidor, você pode sair a qualquer momento simplesmente saindo da sessão do Termux.

E se você quiser iniciar o servidor novamente com uma senha que permita alterações, digite

./paferafileserver password=yourpasswordhere

no Termux, ou simplesmente pressione a seta para cima para escolher os comandos digitados anteriormente.

Não é tão fácil quanto simplesmente abrir suas notificações e tocar em "Compartilhamento por proximidade", mas você também não executará o servidor acidentalmente e terá muito mais funcionalidades para seus problemas.

Se você for um programador Rust, a instalação será muito mais fácil para você.

Tudo o que você precisa fazer é digitar

cargo install paferafileserver

Espere a carga fazer o seu trabalho, e voilà! Pronto!

Se você deseja executar o Pafera File Server no Windows ou Linux, os binários pré-construídos estão disponíveis abaixo em 7-Zíper arquivos.

  1. Linux (amd64)
  2. Termux no Android 7+
  3. Linux (armv7h para Debian no Userland - Android 5 e 6)
  4. Windows autônomo exe
  5. Windows completo (incluindo FFMpeg e ImageMagick)

Navegando pelos arquivos

Quando seu amigo conseguir digitar a URL do seu servidor no navegador, o telefone dele deverá ficar parecido com isso.

Pafera File Server Página inicial

Se você não vir nenhum arquivo, certifique-se de que seu amigo habilitou o JavaScript, pois usamos scripts para classificar e exibir arquivos.

Para começar, começando pelo canto superior esquerdo, temos o botão do menu do sistema, o botão dos arquivos recentes e o botão do diretório inicial.

Clicando em arquivos

Clicar em qualquer miniatura de imagem iniciará uma apresentação de slides, enquanto clicar no nome do arquivo fará o download do arquivo.

Clicar no botão de menu de um arquivo abrirá o menu de ações desse arquivo, enquanto clicar no quadrado abaixo dele selecionará o arquivo.

Para selecionar rapidamente um intervalo de arquivos, clique no botão de seleção do primeiro arquivo, depois clique no botão de menu do último arquivo e escolha "Selecionar aqui".

O Menu do Sistema

O menu pop-up do sistema

Pesquisa e Pesquisa Profunda (teclas de atalho t e f) permitem que você digite algumas letras e veja todos os arquivos que contêm essas letras.

A diferença é que a Pesquisa normal só analisa os arquivos na pasta atual, enquanto a Pesquisa Profunda analisa todas as pastas dentro dessa pasta também.

Slide Show e Deep Slide Show (Teclas de atalho z e x) seguem a mesma lógica. Escolha a que você quer com base em se você quer incluir imagens em todas as pastas dentro desta pasta ou não.

Alternar visualização (tecla de atalho v) muda da visualização normal de detalhes para uma visualização de ícones de todas as imagens e vídeos dentro desta pasta.

Classificar (Teclas de Atalho) permite que você escolha como os arquivos são ordenados. Você pode escolher entre usar o nome do arquivo, tamanho, data e diferença de tempo para classificar os arquivos. Eu pessoalmente prefiro a visualização de diferença de tempo, pois "Cinco minutos atrás" é muito mais útil para mim do que "14:55".

A visualização Arquivos Recentes (tecla de atalho e) mostrará os 512 arquivos mais recentemente alterados dentro da pasta atual e todas as pastas dentro desta. Tenha cuidado ao usar esta visualização para sua pasta home, pois pode levar um tempo para verificar todos os arquivos se você tiver centenas de milhares de arquivos pequenos para inspecionar.

Definir senha (tecla de atalho w) permitirá que seu amigo digite a senha para modificar, carregar e excluir arquivos. Sem essa senha, ninguém pode alterar nada no seu telefone, então mantenha-o seguro. Você pode defini-la na linha de comando digitando password=yaddayaddayadda ou em paferafileserver.cfg usando o formato

{
  "password":"yaddayaddayadda"
}

Nova pasta (tecla de atalho o) solicitará o nome da nova pasta a ser criada dentro da pasta atual.

Mostrar arquivos ocultos (tecla de atalho i) alternará a exibição de arquivos e pastas que começam com pontos, que é o que o Unix usa para indicar que esses arquivos normalmente não devem ser visíveis para o usuário.

Ativar o Download com um clique (tecla de atalho k) permitirá que você baixe um arquivo instantaneamente clicando nele, em vez de exibi-lo no navegador.

Mostrar teclas de atalho (tecla de atalho h) mostrará quais teclas podem ser usadas na visualização de pastas e na visualização de apresentação de slides.

Zoom In (tecla de atalho .) e Zoom Out (tecla de atalho ,) mudarão o tamanho de tudo na tela. Use-os para personalizar sua página se os tamanhos padrão do seu sistema não forem do seu agrado.

O menu Arquivo

O menu pop-up do arquivo

Selecionar para Aqui permite que você selecione todos os arquivos entre os que você selecionou anteriormente e desta vez. É bem útil como uma substituição para evitar substituir o menu do botão direito para copiar links tanto no desktop quanto no celular.

Selecionar Tudo (Tecla de Atalho a) e Selecionar Nenhum (Tecla de Atalho n) são autoexplicativos. Apenas tenha cuidado ao usá-los para excluir todos os arquivos que você realmente deseja excluir todos os arquivos.

Enviar (tecla de atalho g) abrirá uma janela de digitalização onde você poderá ver todos os outros dispositivos executando o Pafera File Server na sua rede.

Enviando arquivos para outro servidor

Observe que todos os dispositivos devem estar na mesma sub-rede e rodando na mesma porta, então se você estiver em 192.168.0.100 e o dispositivo para o qual você está tentando enviar estiver em 192.168.1.100, então o scanner não detectará o outro dispositivo. Claro, você sempre pode simplesmente fazer login no servidor desse dispositivo e carregar arquivos usando seu navegador.

Para simplificar, todos os arquivos que você envia para outro dispositivo são coletados em uma pasta chamada "Recebidos" na raiz do servidor. Posso mudar isso mais tarde, mas, por enquanto, é útil ter todos os novos arquivos aparecendo na mesma pasta, onde você pode movê-los para o local apropriado mais tarde.

O novo arquivo na pasta Recebido

Baixar (tecla de atalho l), Renomear (tecla de atalho r), Mover (tecla de atalho m), Copiar (tecla de atalho c), Excluir (tecla de atalho d) e Excluir Permanentemente (p) podem funcionar em vários arquivos ao mesmo tempo, exceto para download em navegadores móveis, onde você só pode baixar um arquivo por vez. Só tome cuidado, porque Excluir Permanentemente realmente significa Permanente Excluir. Sempre armazene uma cópia dos seus arquivos importantes em outro dispositivo antes de tocar no botão excluir.

Undelete (tecla de atalho u) é usado somente para arquivos que foram deletados uma vez e, portanto, têm a extensão ".deleted". não pode traga de volta arquivos permanentemente deletados. Eles não estão definhando. Eles já passaram. Esses arquivos não existem mais. Eles são ex-arquivos.

Usando a apresentação de slides

A interface de apresentação de slides. Tudo na parte inferior é clicável.

Entre os principais recursos que as pessoas sempre pedem em um navegador de arquivos está uma boa apresentação de slides. Quando você carrega cerca de 6.000 fotos do seu filho no seu telefone para mostrar a estranhos aleatórios, não é difícil entender o porquê. ;) A maioria dos clientes SMB não tem pré-visualizações de imagens ou apresentações de slides, então tentar encontrar uma determinada imagem usando o aplicativo Arquivos do iPhone é bastante frustrante de usar.

O recurso Apresentação de Slides no Pafera File Server pode ser ativado de algumas maneiras diferentes:

  1. Clique na miniatura de uma imagem.
  2. Selecione "Apresentação de slides" no menu do sistema.
  3. Selecione "Deep Slide Show" no menu do sistema.
  4. Faça uma pesquisa ou uma busca profunda para escolher os arquivos que você deseja exibir e então clique na miniatura da primeira imagem.

Independentemente de como você iniciar a apresentação de slides, haverá um botão de exclusão na parte superior com o nome da imagem atual e uma barra de ferramentas na parte inferior contendo funções de randomização, rotação, saída, avanço e retrocesso.

Se você quiser ir para um determinado número de imagem, basta clicar na posição da imagem na barra de ferramentas, digitar o número desejado e prosseguir a partir daí.

Escolhendo um número para ir

A apresentação de slides suporta gestos de deslizar, que são, na verdade, meu método preferido para navegar no telefone. Tudo o que você precisa fazer é deslizar o polegar ligeiramente para a esquerda para ir para a imagem anterior, para a direita para ir para a próxima imagem, para cima para excluir a imagem atual ou para baixo para sair da apresentação de slides.

Se você estiver em um laptop ou tiver um teclado Bluetooth conectado ao seu telefone, usar a apresentação de slides se torna ainda mais fácil.

Seta para a esquerda Imagem anterior
Seta para a direita Próxima imagem
Seta para cima Apagar imagem
Seta para baixo/Escape Sair da apresentação de slides
r Imagem aleatória
g Ir para o número da imagem
q Girar 90 graus no sentido anti-horário
e Girar 90 graus no sentido horário

Configuração

O Pafera File Server pode ser configurado a partir de um arquivo JSON chamado paferafileserver.cfg na mesma pasta, ou a partir de argumentos de linha de comando no formato key=value. Se ambos forem especificados, os argumentos de linha de comando substituirão as configurações do arquivo de configuração.

Uma linha de comando comum é

paferafileserver [hostname=localhost] [serverroot=/home/jim] [password=password] [ip=0.0.0.0] [port=9999]

Portanto, se você quisesse servir o diretório de imagens de Jim a todos os visitantes na porta 5000, você usaria

paferafileserver serverroot=/home/jim/Pictures port=5000

Se você não especificar serverroot, o padrão será seu diretório inicial.

Se você não especificar o IP e a porta, o padrão será 0.0.0.0:9999.

Além disso, as seguintes opções podem ser digitadas na linha de comando para desabilitar determinada funcionalidade, mesmo que o usuário tenha a senha correta.

disabledelete
disablerename
disablemove
disablecopy
disablenewfolder
disabledelete
disablepermanentdelete
disablesend
disableupload

Todos os argumentos da linha de comando também podem ser especificados em um arquivo JSON chamado paferafileserver.cfg na pasta atual, como

{
  "hostname":               "JimsLaptop",
  "password":               "SecretPassword12345",
  "disabledelete":          1,
  "disablepermanentdelete": 1
}

Você pode escolher o método que funciona melhor para você.

No Windows, geralmente é mais fácil criar um atalho para o executável e especificar seus argumentos no atalho.

Para o Termux no Android, a maneira mais fácil de iniciar o executável é instalar o aplicativo Termux Widget do F-Droid e configurar sua linha de comando dentro do script do widget.

Planos futuros

Não há mais mudanças planejadas neste momento, pois este foi apenas um projeto introdutório divertido para brincar com Rust, mas se outra pessoa quisesse

  1. Escreva versões Kotlin/Swift para lançar nas lojas de aplicativos
  2. Traduza este aplicativo para vários idiomas
  3. Crie vários temas CSS
  4. Implementar um algoritmo semelhante ao rsync para backup e restauração
  5. Ou qualquer outra coisa que você possa pensar

Eu certamente apreciaria qualquer adição a este projeto simples.

Como sempre, espero que vocês achem este aplicativo útil, e se quiserem personalizá-lo para seus próprios propósitos, estou sempre disponível como consultor técnico. Divirtam-se!

Sobre o autor

Jim programa desde que ganhou um IBM PS/2 nos anos 90. Até hoje, ele ainda prefere escrever HTML e SQL à mão, e foca em eficiência e correção em seu trabalho.