Servidor HTTP de Arquivos

Transforme seu dispositivo Android em um servidor de arquivos acessível de qualquer navegador na mesma rede.

O que é o Self-Hosted?

O Self-Hosted é um servidor HTTP que transforma seu dispositivo Android em um servidor de arquivos acessível de qualquer navegador na mesma rede. Ele permite:

  • Navegar pelos arquivos do dispositivo do computador.
  • Baixar, enviar, renomear e excluir arquivos remotamente.
  • Editar arquivos Markdown diretamente no navegador.
  • Gerenciar usuários com papéis de Admin e Visitante.

O servidor é baseado em NanoHTTPD e roda como um foreground service, garantindo que não seja interrompido pelo sistema.

Ativação e Configuração

  1. Abra as Configurações do Kwiq.
  2. Vá em "Self-Hosted" ou toque no ícone de servidor nas Quick Tools e selecione "Configurações".

Configure os parâmetros:

  • Porta: padrão 8080 (intervalo válido: 1024-65535).
  • Diretório raiz: padrão Downloads/. Toque para escolher outra pasta.
  • Tamanho do chunk: para upload de arquivos grandes (padrão 1 MB, máximo 16 MB).
  • Mostrar arquivos ocultos: ative/desative a exibição de arquivos que começam com ..
  • HTTPS: ative para também servir o dashboard por HTTPS (certificado autoassinado, porta padrão 8443).
  • Login biométrico: ative para permitir entrar com impressão digital ou rosto pela página de login.
  1. Ative a chave "Servidor Ativo" para iniciar o servidor.

Ao ativar, uma notificação persistente aparece com a URL do servidor. Toque nela para abrir o servidor no navegador.

Gerenciamento de Usuários

Na tela de configuração, você pode gerenciar os usuários que podem acessar o servidor:

  • Adicionar: toque em "Adicionar Usuário" e defina nome, senha e papel (Admin ou Visitante).
  • Editar: toque em um usuário existente para alterar seus dados.
  • Remover: deslize ou toque no ícone de excluir ao lado do usuário.
Papel Permissões
Admin Navegar, baixar, enviar, criar pastas, renomear, excluir, editar Markdown, download em lote, mover e wallpapers
Visitor Apenas navegar e baixar arquivos
Atenção por padrão, o usuário Admin tem usuário Kwiq com senha vazia e o Visitante tem usuário Visitante com senha vazia. Altere as senhas antes de usar o servidor em redes que você não confia totalmente.

Acessando o Servidor

Com o servidor ativo, você pode acessá-lo de qualquer dispositivo na mesma rede:

  1. Certifique-se de que o dispositivo Android e o computador estão na mesma rede Wi-Fi.
  2. Veja a URL do servidor na notificação persistente ou nas configurações do Self-Hosted. Geralmente algo como http://192.168.1.100:8080.
  3. Abra essa URL no navegador do computador.
  4. Faça login com um dos usuários configurados.

Acesso por HTTPS (opcional)

Além do HTTP simples, o servidor também pode servir o dashboard por HTTPS para uma conexão criptografada:

  • Ative o HTTPS nas configurações do Self-Hosted. Um certificado autoassinado é gerado automaticamente no dispositivo — nada para instalar ou configurar.
  • Porta HTTPS: padrão 8443. Quando ativo, a tela de configurações mostra a URL HTTPS (ex.: https://192.168.1.100:8443) com um botão de copiar, ao lado do endereço HTTP e do QR Code.
  • O navegador mostrará um aviso de segurança porque o certificado é autoassinado — isso é esperado. Use "Avançado" → "Prosseguir" para continuar.
  • HTTP e HTTPS funcionam ao mesmo tempo: ativar o HTTPS não desliga o HTTP.
  • O navegador interno do Kwiq (busca web, busca de wallpapers) confia automaticamente nesse certificado, então páginas HTTPS abrem sem avisos dentro do app.

Se preferir, use o QR Code: na tela de configuração ou pelo atalho nas Quick Tools (toque longo), um QR Code é exibido. Escaneie com outro dispositivo para abrir a URL automaticamente.

Autenticação e Usuários

O servidor usa autenticação baseada em sessão com tokens:

  • Ao fazer login, um token criptograficamente aleatório (64 caracteres hex) é gerado e armazenado em um cookie chamado kwiq_token.
  • O token expira após 24 horas, exigindo novo login.
  • As sessões são armazenadas em memória (MAP sincronizado).
  • Rotas públicas (sem autenticação): /login, /api/login, /favicon.ico, /__static/*, /__wallpaper/*.

Login biométrico

Se ativado nas configurações, a página de login também oferece um botão "Entrar com biometria" para o usuário Admin:

  1. Ao tocar, uma notificação é enviada ao dispositivo — toque nela para abrir o prompt biométrico do sistema.
  2. Autentique com sua impressão digital ou rosto; o navegador detecta o resultado automaticamente e faz o login.
  3. Se você cancelar ou não houver biometria configurada no aparelho, é só usar o login normal com usuário e senha.

Ao fazer logout, o token é removido e o usuário é redirecionado para a página de login.

Operações com Arquivos

Usuários Admin podem realizar as seguintes operações pela interface web:

Upload

Upload de arquivos em partes (chunks) com suporte a retomada. O tamanho do chunk é configurado nas preferências.

Download

Download de arquivos individuais ou múltiplos arquivos como ZIP (batch download).

Criar Pastas

Cria novas pastas no diretório atual.

Criar Notas

Cria arquivos de texto (.txt) ou Markdown (.md) diretamente no servidor.

Renomear / Excluir

Renomeia ou exclui arquivos e pastas individualmente ou em lote.

Editor Markdown

Edite arquivos Markdown com salvamento direto no servidor via /save-markdown.

Uso com scrcpy

Para usar o Modo Desktop do Kwiq a partir do computador, você pode espelhar um display virtual com o scrcpy:

  1. Conecte o dispositivo Android ao computador via USB ou Wi-Fi (ADB).
  2. Crie um display virtual com scrcpy:
  3. No dispositivo, o display virtual aparecerá como uma tela secundária.
  4. Abra o Modo Desktop do Kwiq e arraste a janela para o display virtual.
  5. No computador, a janela do scrcpy mostra o Modo Desktop em ação.

O display virtual continua ativo depois que o scrcpy é fechado, então esse também é um jeito de preparar o Desktop para uma tela externa.

Dica o scrcpy exige cabo USB ou ADB por Wi-Fi e, em troca, entrega a menor latência disponível para usar o Modo Desktop a partir do computador.

QR Code e Acesso Rápido

Com o servidor ativo, você pode usar o atalho nas Quick Tools (toque longo no ícone do Self-Hosted) para:

  • Ver o QR Code da URL do servidor — escaneie com outro dispositivo para abrir automaticamente.
  • Copiar a URL para a área de transferência.

Isso é especialmente útil para compartilhar o acesso com outras pessoas na mesma rede sem precisar digitar o endereço IP.

Menu de Apps

O cabeçalho do dashboard inclui um botão Menu de Apps que lista todos os aplicativos instalados com seus ícones. Você pode abrir apps, ver detalhes, pesquisar na Play Store ou desinstalá-los diretamente do navegador.

  • Clique em qualquer app para abri-lo imediatamente no dispositivo.
  • Clique direito (ou toque longo em telas sensíveis ao toque) para abrir um menu de contexto com opções adicionais.
  • Detalhes do App (no PC): exibe informações do pacote, versão, data de instalação, permissões e mais em um modal no navegador.
  • Detalhes do App (no celular): abre a tela de informações do sistema Android no dispositivo.
  • Buscar na Play Store: abre a página da Play Store em uma nova aba do navegador.
  • Buscar na web: faz uma pesquisa na web pelo app em uma nova aba do navegador.
  • Desinstalar: envia uma solicitação de desinstalação para o dispositivo, que exibe o diálogo do sistema.
  • Instalar APK: clique no botão de upload ao lado do menu de apps, escolha um arquivo APK do seu computador, e ele será enviado ao dispositivo e submetido ao instalador do sistema, que exibe o diálogo padrão de confirmação no celular. Aprove lá para concluir a instalação. Se o Kwiq ainda não tiver permissão para instalar de fontes desconhecidas, o dashboard pede para você abrir as configurações do sistema primeiro.
  • Apps Ocultos: clique no ícone de olho visibility ao lado do botão de instalar para alternar a exibição de apps ocultos. Apps ocultos aparecem com opacidade reduzida e um selo de olho. A alternância sincroniza com o launcher no celular.

O menu de apps obtém a lista em tempo real com ícones codificados em base64, sem requisições HTTP extras. A busca filtra a lista enquanto você digita.

Pesquisa de Papéis de Parede

A página de Papéis de Parede do dashboard inclui uma pesquisa por provedores que espelha o seletor de papéis de parede do app Kwiq. Você pode pesquisar imagens em todos os provedores embutidos — Wallhaven, Unsplash, Pixabay, Pexels, Safebooru, Wikimedia Commons, Openverse, Picsum Photos, LoremFlickr e a biblioteca Kwiq — com os mesmos filtros.

  • Escolha um provedor no menu suspenso — cada provedor mostra seu próprio conjunto de filtros, exatamente como no app.
  • Filtros: orientação (retrato/paisagem/qualquer) mais os específicos: Wallhaven (categoria, pureza, ordenação, ordem, período do toplist, resolução e amostras de cor), Pixabay (tipo, ordem, busca segura), Unsplash (ordem) e Pexels (tamanho).
  • Pré-visualização: os resultados carregam em uma grade com nome do autor e miniatura. As miniaturas são servidas por um proxy do servidor, então funcionam mesmo sem conexão direta com o provedor.
  • Adicionar ao slot: cada resultado tem seu próprio botão "Adicionar ao slot" com seletor de slot (Claro/Escuro x Retrato/Paisagem) — a imagem é baixada e entra no slot escolhido imediatamente.
  • Modo em lote: marque as caixas de seleção de vários resultados, escolha um slot e toque em "Adicionar selecionados" para baixar todos de uma vez.
  • Paginação: toque em "Carregar mais" para continuar navegando pelos resultados do provedor.
  • Chaves de API: provedores que exigem chave (Unsplash, Pixabay, Pexels) reutilizam as chaves configuradas em Configurações do Kwiq > Chaves de API. Se um provedor precisa de chave e nenhuma está definida, a busca avisa.

Tudo roda pelo mesmo repositório de provedores usado pelo app, então resultados e filtros se comportam exatamente como no seletor.

Dicas e Solução de Problemas

Não consigo acessar

Verifique se os dois dispositivos estão na mesma rede Wi-Fi. Confirme se a porta configurada não está bloqueada por firewall ou pelo roteador.

IP muda toda hora

Configure um IP fixo (estático) para o dispositivo Android nas configurações de rede Wi-Fi.

Servidor parou sozinho

Verifique se o Kwiq não está sendo fechado pelo sistema. Pode ser necessário excluir o app da otimização de bateria nas configurações do Android.