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
- Abra as Configurações do Kwiq.
- 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.
- 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 |
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:
- Certifique-se de que o dispositivo Android e o computador estão na mesma rede Wi-Fi.
- 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. - Abra essa URL no navegador do computador.
- 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:
- Ao tocar, uma notificação é enviada ao dispositivo — toque nela para abrir o prompt biométrico do sistema.
- Autentique com sua impressão digital ou rosto; o navegador detecta o resultado automaticamente e faz o login.
- 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:
- Conecte o dispositivo Android ao computador via USB ou Wi-Fi (ADB).
- Crie um display virtual com scrcpy:
- No dispositivo, o display virtual aparecerá como uma tela secundária.
- Abra o Modo Desktop do Kwiq e arraste a janela para o display virtual.
- 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.
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.
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.