nginx-module-device-type

Device detection module for NGINX

License: BSD Vendor: GetPageSpeed LLC https://nginx-extras.getpagespeed.com/modules/device-type/

Availability

Distro aarch64 noarch x86_64 Version
RHEL 10 1.28.2+1.0.1
RHEL 9 1.28.2+1.0.1
RHEL 8 1.28.2+1.0.1
RHEL 7 1.28.2+1.0.1
RHEL 6

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

CentOS/RHEL 10
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install nginx-module-device-type
CentOS/RHEL 9
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install nginx-module-device-type
CentOS/RHEL 8
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install nginx-module-device-type
CentOS/RHEL 7
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