Este proyecto es una demo de cómo usar el plugin node-device-detector en un servidor Express para detectar dispositivos, sistemas operativos, navegadores y más a partir del User-Agent, y restringir el acceso según una configuración editable desde un formulario web.
- Detecta tipo de dispositivo, marca, modelo, sistema operativo, navegador y tipo de cliente.
- Permite configurar restricciones desde un formulario web con selects dinámicos.
- Muestra el motivo del bloqueo cuando el acceso es restringido.
- Todo el frontend está separado en vistas EJS.
- Node.js 18 (desarrollado y probado con esta versión)
- npm
- Clona este repositorio o descarga los archivos.
- Si usas nvm, cambia a Node 18:
nvm use 18
- Instala las dependencias:
npm install
- Inicia el servidor:
O si prefieres recarga automática:
node index.js
npx nodemon index.js
- Abre tu navegador y visita:
- http://localhost:3000/formulario para configurar los bloqueos.
- http://localhost:3000/ para ver la detección y si el acceso está permitido o restringido.
- Puedes bloquear por:
- Tipo de dispositivo (ej: smartphone, tablet, desktop...)
- Marca (ej: Apple, Samsung, etc)
- Modelo (escribe los modelos separados por coma)
- Sistema operativo
- Navegador
- Tipo de cliente
- El formulario muestra todas las opciones posibles extraídas del plugin.
index.js: Lógica principal del servidor y la detección.views/: Plantillas EJS para el frontend.config.json: Archivo donde se guarda la configuración de bloqueos.
- El campo de modelos es de texto libre porque el plugin no expone un listado completo de modelos.
- Si tienes problemas con dependencias, asegúrate de usar Node.js 18.
MIT