Servidor HTTP de Archivos

Convierte tu dispositivo Android en un servidor de archivos accesible desde cualquier navegador en la misma red.

¿Qué es el Autoalojamiento?

Self-Hosted es un servidor HTTP que convierte tu dispositivo Android en un servidor de archivos accesible desde cualquier navegador en la misma red. Permite:

  • Navegar por los archivos del dispositivo desde el ordenador.
  • Descargar, subir, renombrar y eliminar archivos de forma remota.
  • Editar archivos Markdown directamente en el navegador.
  • Gestionar usuarios con roles de Admin y Visitante.

El servidor se basa en NanoHTTPD y se ejecuta como un servicio en primer plano, garantizando que el sistema no lo interrumpa.

Activación y Configuración

  1. Abre los Ajustes de Kwiq.
  2. Ve a "Self-Hosted" o toca el icono de servidor en las Quick Tools y selecciona "Ajustes".

Configura los parámetros:

  • Puerto: predeterminado 8080 (rango válido: 1024-65535).
  • Directorio raíz: predeterminado Downloads/. Toca para elegir otra carpeta.
  • Tamaño del chunk: para subir archivos grandes (predeterminado 1 MB, máximo 16 MB).
  • Mostrar archivos ocultos: activa/desactiva la visualización de archivos que empiezan con ..
  • HTTPS: actívalo para servir también el dashboard por HTTPS (certificado autofirmado, puerto predeterminado 8443).
  • Inicio de sesión biométrico: actívalo para permitir entrar con huella o rostro desde la página de inicio de sesión.
  1. Activa el interruptor "Servidor Activo" para iniciar el servidor.

Al activarlo, aparece una notificación persistente con la URL del servidor. Tócala para abrir el servidor en el navegador.

Gestión de Usuarios

En la pantalla de ajustes, puedes gestionar los usuarios que pueden acceder al servidor:

  • Añadir: toca "Añadir Usuario" y define nombre, contraseña y rol (Admin o Visitante).
  • Editar: toca un usuario existente para cambiar sus datos.
  • Eliminar: desliza o toca el icono de eliminar junto al usuario.
Rol Permisos
Admin Navegar, descargar, subir, crear carpetas, renombrar, eliminar, editar Markdown, descarga en lote, mover y fondos de pantalla
Visitor Solo navegar y descargar archivos
Advertencia por defecto, el usuario Admin tiene usuario Kwiq con contraseña vacía y el Visitante tiene usuario Visitante con contraseña vacía. Cambia las contraseñas antes de usar el servidor en redes en las que no confíes totalmente.

Accediendo al Servidor

Con el servidor activo, puedes acceder a él desde cualquier dispositivo en la misma red:

  1. Asegúrate de que el dispositivo Android y el ordenador estén en la misma red Wi-Fi.
  2. Consulta la URL del servidor en la notificación persistente o en los ajustes de Self-Hosted. Suele ser algo como http://192.168.1.100:8080.
  3. Abre esa URL en el navegador del ordenador.
  4. Inicia sesión con uno de los usuarios configurados.

Acceso por HTTPS (opcional)

Además del HTTP simple, el servidor también puede servir el dashboard por HTTPS para una conexión cifrada:

  • Activa HTTPS en los ajustes de Self-Hosted. Se genera automáticamente un certificado autofirmado en el dispositivo — nada que instalar o configurar.
  • Puerto HTTPS: predeterminado 8443. Cuando está activo, la pantalla de ajustes muestra la URL HTTPS (p. ej. https://192.168.1.100:8443) con un botón de copiar, junto a la dirección HTTP y el código QR.
  • El navegador mostrará un aviso de seguridad porque el certificado es autofirmado — es lo esperado. Usa "Avanzado" → "Continuar" para acceder.
  • HTTP y HTTPS funcionan al mismo tiempo: activar HTTPS no apaga HTTP.
  • El navegador interno de Kwiq (búsqueda web, búsqueda de fondos) confía automáticamente en ese certificado, así que las páginas HTTPS se abren sin avisos dentro de la app.

Si prefieres, usa el código QR: en la pantalla de ajustes o mediante el acceso directo en las Quick Tools (mantener pulsado), se muestra un código QR. Escanéalo con otro dispositivo para abrir la URL automáticamente.

Autenticación y Usuarios

El servidor usa autenticación basada en sesión con tokens:

  • Al iniciar sesión, se genera un token criptográficamente aleatorio (64 caracteres hex) y se almacena en una cookie llamada kwiq_token.
  • El token expira tras 24 horas, exigiendo un nuevo inicio de sesión.
  • Las sesiones se almacenan en memoria (un MAP sincronizado).
  • Rutas públicas (sin autenticación): /login, /api/login, /favicon.ico, /__static/*, /__wallpaper/*.

Inicio de sesión biométrico

Si está activado en los ajustes, la página de inicio de sesión también ofrece un botón "Entrar con biometría" para el usuario Admin:

  1. Al tocarlo, se envía una notificación al dispositivo — tócala para abrir el prompt biométrico del sistema.
  2. Autentícate con tu huella o rostro; el navegador detecta el resultado automáticamente e inicia sesión.
  3. Si cancelas o no hay biometría configurada en el dispositivo, solo usa el inicio de sesión normal con usuario y contraseña.

Al cerrar sesión, el token se elimina y el usuario es redirigido a la página de inicio de sesión.

Operaciones con Archivos

Los usuarios Admin pueden realizar las siguientes operaciones desde la interfaz web:

Subir

Sube archivos en partes (chunks) con soporte de reanudación. El tamaño del chunk se configura en las preferencias.

Descargar

Descarga archivos individuales o múltiples archivos como ZIP (descarga en lote).

Crear Carpetas

Crea nuevas carpetas en el directorio actual.

Crear Notas

Crea archivos de texto (.txt) o Markdown (.md) directamente en el servidor.

Renombrar / Eliminar

Renombra o elimina archivos y carpetas individualmente o en lote.

Editor Markdown

Edita archivos Markdown con guardado directo en el servidor vía /save-markdown.

Uso con scrcpy

Para usar el Modo Escritorio de Kwiq desde el ordenador, puedes reflejar una pantalla virtual con scrcpy:

  1. Conecta el dispositivo Android al ordenador por USB o Wi-Fi (ADB).
  2. Crea una pantalla virtual con scrcpy:
  3. En el dispositivo, la pantalla virtual aparecerá como una pantalla secundaria.
  4. Abre el Modo Escritorio de Kwiq y arrastra la ventana a la pantalla virtual.
  5. En el ordenador, la ventana de scrcpy muestra el Modo Escritorio en acción.

La pantalla virtual sigue activa después de cerrar scrcpy, así que también es una forma de preparar el Escritorio para una pantalla externa.

Consejo scrcpy requiere cable USB o ADB por Wi-Fi y, a cambio, ofrece la menor latencia disponible para usar el Modo Escritorio desde el ordenador.

Código QR y Acceso Rápido

Con el servidor activo, puedes usar el acceso directo en las Quick Tools (mantener pulsado el icono de Self-Hosted) para:

  • Ver el código QR de la URL del servidor — escanéalo con otro dispositivo para abrirla automáticamente.
  • Copiar la URL al portapapeles.

Esto es especialmente útil para compartir el acceso con otras personas en la misma red sin tener que escribir la dirección IP.

Menú de Apps

El encabezado del dashboard incluye un botón Menú de Apps que lista todas las aplicaciones instaladas con sus iconos. Puedes abrir aplicaciones, ver detalles, buscar en Play Store o desinstalarlas directamente desde el navegador.

  • Haz clic en cualquier app para abrirla inmediatamente en el dispositivo.
  • Clic derecho (o pulsación larga en pantallas táctiles) para abrir un menú contextual con opciones adicionales.
  • Detalles de la App (en PC): muestra información del paquete, versión, fecha de instalación, permisos y más en un modal en el navegador.
  • Detalles de la App (en el teléfono): abre la pantalla de información del sistema Android en el dispositivo.
  • Buscar en Play Store: abre la página de Play Store en una nueva pestaña del navegador.
  • Buscar en la web: realiza una búsqueda web de la app en una nueva pestaña del navegador.
  • Desinstalar: envía una solicitud de desinstalación al dispositivo, que muestra el diálogo del sistema.
  • Instalar APK: haz clic en el botón de subir junto al menú de apps, selecciona un archivo APK de tu ordenador, y se subirá al dispositivo y se enviará al instalador del sistema, que muestra el diálogo estándar de confirmación en el teléfono. Aprébalo allí para completar la instalación. Si Kwiq aún no tiene permiso para instalar desde fuentes desconocidas, el dashboard te pedirá abrir la configuración del sistema primero.
  • Apps Ocultos: haz clic en el icono de ojo visibility junto al botón de instalar para alternar la visualización de apps ocultas. Las apps ocultas aparecen atenuadas con una insignia de ojo. La alternancia se sincroniza con el launcher en el teléfono.

El menú de apps obtiene la lista en tiempo real con iconos codificados en base64, sin solicitudes HTTP adicionales. La búsqueda filtra la lista mientras escribes.

Búsqueda de Fondos de Pantalla

La página de Fondos de Pantalla del dashboard incluye una búsqueda por proveedores que refleja el selector de fondos de pantalla de la app Kwiq. Puedes buscar imágenes en todos los proveedores integrados — Wallhaven, Unsplash, Pixabay, Pexels, Safebooru, Wikimedia Commons, Openverse, Picsum Photos, LoremFlickr y la biblioteca Kwiq — con los mismos filtros.

  • Elige un proveedor en el menú desplegable — cada proveedor muestra su propio conjunto de filtros, igual que en la app.
  • Filtros: orientación (retrato/paisaje/cualquiera) más los específicos: Wallhaven (categoría, pureza, ordenación, orden, rango de toplist, resolución y muestras de color), Pixabay (tipo, orden, búsqueda segura), Unsplash (orden) y Pexels (tamaño).
  • Vista previa: los resultados se cargan en una cuadrícula con el nombre del autor y miniatura. Las miniaturas las sirve un proxy del servidor, por lo que funcionan incluso sin conexión directa al proveedor.
  • Añadir al slot: cada resultado tiene su propio botón "Añadir al slot" con selector de slot (Claro/Oscuro x Retrato/Paisaje) — la imagen se descarga y entra en el slot elegido al instante.
  • Modo lote: marca las casillas de varios resultados, elige un slot y pulsa "Añadir seleccionados" para descargarlos todos a la vez.
  • Paginación: pulsa "Cargar más" para seguir navegando por los resultados del proveedor.
  • Claves de API: los proveedores que requieren clave (Unsplash, Pixabay, Pexels) reutilizan las claves configuradas en Ajustes de Kwiq > Claves de API. Si un proveedor necesita clave y no hay ninguna, la búsqueda avisa.

Todo pasa por el mismo repositorio de proveedores que usa la app, así que los resultados y filtros se comportan exactamente igual que en el selector.

Consejos y Solución de Problemas

No puedo acceder

Verifica que ambos dispositivos estén en la misma red Wi-Fi. Confirma que el puerto configurado no esté bloqueado por un firewall o el router.

La IP cambia todo el tiempo

Configura una IP fija (estática) para el dispositivo Android en los ajustes de red Wi-Fi.

El servidor se detuvo solo

Verifica que Kwiq no esté siendo cerrado por el sistema. Puede ser necesario excluir la app de la optimización de batería en los ajustes de Android.