nginx-module-device-type
Device detection module for NGINX
Description
Comprehensive device detection at the NGINX edge. Classifies HTTP requests by device type, browser, operating system, and bot classification using 3,600+ regex patterns. Exposed Variables (22 total): - Device type: $device_type (mobile/tablet/desktop/tv/console/car/wearable/camera/peripheral/bot) - Device booleans: $is_mobile, $is_tablet, $is_desktop, $is_bot, $is_tv, $is_console, $is_wearable - Device details: $device_brand, $device_model - Browser: $browser_name, $browser_version, $browser_family, $browser_engine - OS: $os_name, $os_version, $os_family - Bot: $bot_name, $bot_category, $bot_producer, $is_ai_crawler - JSON: $device_json (complete detection result) Key Features: - Client Hints support (Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform) - AI crawler detection for 50+ AI bots (GPTBot, ClaudeBot, etc.) - Bot categorization: search_engine, ai_crawler, crawler, monitoring, scraper - Zero configuration: load module, use variables - All regexes compiled once at NGINX startup - Per-request caching prevents redundant detection - PCRE with JIT support for optimal performance To enable this module after installation, add the following to /etc/nginx/nginx.conf and reload NGINX: load_module modules/ngx_http_device_type_module.so; Alternatively, you can enable all installed modules by placing this line at the top of /etc/nginx/nginx.conf: include /usr/share/nginx/modules/*.conf;
Compatible with all RHEL-based distributions, including CentOS, AlmaLinux, Oracle Linux, Rocky Linux, etc.
Install
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm sudo dnf -y install nginx-module-device-type
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm sudo dnf -y install nginx-module-device-type
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm sudo dnf -y install nginx-module-device-type
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm sudo yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm sudo yum -y install nginx-module-device-type