5
use CodeIgniter\Config\BaseConfig;
8
* -------------------------------------------------------------------
10
* -------------------------------------------------------------------
12
* This file contains four arrays of user agent data. It is used by the
13
* User Agent Class to help identify browser, platform, robot, and
14
* mobile device data. The array keys are used to identify the device
15
* and the array values are used to set the actual name of the item.
17
class UserAgents extends BaseConfig
20
* -------------------------------------------------------------------
22
* -------------------------------------------------------------------
24
* @var array<string, string>
26
public array $platforms = [
27
'windows nt 10.0' => 'Windows 10',
28
'windows nt 6.3' => 'Windows 8.1',
29
'windows nt 6.2' => 'Windows 8',
30
'windows nt 6.1' => 'Windows 7',
31
'windows nt 6.0' => 'Windows Vista',
32
'windows nt 5.2' => 'Windows 2003',
33
'windows nt 5.1' => 'Windows XP',
34
'windows nt 5.0' => 'Windows 2000',
35
'windows nt 4.0' => 'Windows NT 4.0',
36
'winnt4.0' => 'Windows NT 4.0',
37
'winnt 4.0' => 'Windows NT',
38
'winnt' => 'Windows NT',
39
'windows 98' => 'Windows 98',
40
'win98' => 'Windows 98',
41
'windows 95' => 'Windows 95',
42
'win95' => 'Windows 95',
43
'windows phone' => 'Windows Phone',
44
'windows' => 'Unknown Windows OS',
45
'android' => 'Android',
46
'blackberry' => 'BlackBerry',
51
'ppc mac' => 'Power PC Mac',
52
'freebsd' => 'FreeBSD',
56
'sunos' => 'Sun Solaris',
58
'apachebench' => 'ApacheBench',
65
'openbsd' => 'OpenBSD',
67
'unix' => 'Unknown Unix OS',
68
'symbian' => 'Symbian OS',
72
* -------------------------------------------------------------------
74
* -------------------------------------------------------------------
76
* The order of this array should NOT be changed. Many browsers return
77
* multiple browser types so we want to identify the subtype first.
79
* @var array<string, string>
81
public array $browsers = [
87
// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
88
'Opera.*?Version' => 'Opera',
90
'MSIE' => 'Internet Explorer',
91
'Internet Explorer' => 'Internet Explorer',
92
'Trident.* rv' => 'Internet Explorer',
94
'Firefox' => 'Firefox',
95
'Chimera' => 'Chimera',
96
'Phoenix' => 'Phoenix',
97
'Firebird' => 'Firebird',
99
'Netscape' => 'Netscape',
100
'OmniWeb' => 'OmniWeb',
101
'Safari' => 'Safari',
102
'Mozilla' => 'Mozilla',
103
'Konqueror' => 'Konqueror',
107
'hotjava' => 'HotJava',
109
'IBrowse' => 'IBrowse',
110
'Maxthon' => 'Maxthon',
111
'Ubuntu' => 'Ubuntu Web Browser',
112
'Vivaldi' => 'Vivaldi',
116
* -------------------------------------------------------------------
118
* -------------------------------------------------------------------
120
* @var array<string, string>
122
public array $mobiles = [
123
// legacy array, old values commented out
124
'mobileexplorer' => 'Mobile Explorer',
125
// 'openwave' => 'Open Wave',
126
// 'opera mini' => 'Opera Mini',
127
// 'operamini' => 'Opera Mini',
128
// 'elaine' => 'Palm',
129
'palmsource' => 'Palm',
130
// 'digital paths' => 'Palm',
131
// 'avantgo' => 'Avantgo',
132
// 'xiino' => 'Xiino',
133
'palmscape' => 'Palmscape',
134
// 'nokia' => 'Nokia',
135
// 'ericsson' => 'Ericsson',
136
// 'blackberry' => 'BlackBerry',
137
// 'motorola' => 'Motorola'
139
// Phones and Manufacturers
140
'motorola' => 'Motorola',
143
'iphone' => 'Apple iPhone',
145
'ipod' => 'Apple iPod Touch',
146
'sony' => 'Sony Ericsson',
147
'ericsson' => 'Sony Ericsson',
148
'blackberry' => 'BlackBerry',
149
'cocoon' => 'O2 Cocoon',
157
'samsung' => 'Samsung',
160
'alcatel' => 'Alcatel',
163
'mot-' => 'Motorola',
164
'playstation portable' => 'PlayStation Portable',
165
'playstation 3' => 'PlayStation 3',
166
'playstation vita' => 'PlayStation Vita',
167
'hiptop' => 'Danger Hiptop',
169
'panasonic' => 'Panasonic',
170
'philips' => 'Philips',
176
'nintendo dsi' => 'Nintendo DSi',
177
'nintendo ds' => 'Nintendo DS',
178
'nintendo 3ds' => 'Nintendo 3DS',
179
'wii' => 'Nintendo Wii',
180
'open web' => 'Open Web',
181
'openweb' => 'OpenWeb',
184
'android' => 'Android',
185
'symbian' => 'Symbian',
186
'SymbianOS' => 'SymbianOS',
188
'series60' => 'Symbian S60',
189
'windows ce' => 'Windows CE',
193
'netfront' => 'Netfront Browser',
194
'openwave' => 'Openwave Browser',
195
'mobilexplorer' => 'Mobile Explorer',
196
'operamini' => 'Opera Mini',
197
'opera mini' => 'Opera Mini',
198
'opera mobi' => 'Opera Mobile',
199
'fennec' => 'Firefox Mobile',
202
'digital paths' => 'Digital Paths',
203
'avantgo' => 'AvantGo',
205
'novarra' => 'Novarra Transcoder',
206
'vodafone' => 'Vodafone',
207
'docomo' => 'NTT DoCoMo',
211
'mobile' => 'Generic Mobile',
212
'wireless' => 'Generic Mobile',
213
'j2me' => 'Generic Mobile',
214
'midp' => 'Generic Mobile',
215
'cldc' => 'Generic Mobile',
216
'up.link' => 'Generic Mobile',
217
'up.browser' => 'Generic Mobile',
218
'smartphone' => 'Generic Mobile',
219
'cellphone' => 'Generic Mobile',
223
* -------------------------------------------------------------------
225
* -------------------------------------------------------------------
227
* There are hundred of bots but these are the most common.
229
* @var array<string, string>
231
public array $robots = [
232
'googlebot' => 'Googlebot',
233
'msnbot' => 'MSNBot',
234
'baiduspider' => 'Baiduspider',
236
'slurp' => 'Inktomi Slurp',
238
'ask jeeves' => 'Ask Jeeves',
239
'fastcrawler' => 'FastCrawler',
240
'infoseek' => 'InfoSeek Robot 1.0',
242
'yandex' => 'YandexBot',
243
'mediapartners-google' => 'MediaPartners Google',
244
'CRAZYWEBCRAWLER' => 'Crazy Webcrawler',
245
'adsbot-google' => 'AdsBot Google',
246
'feedfetcher-google' => 'Feedfetcher Google',
247
'curious george' => 'Curious George',
248
'ia_archiver' => 'Alexa Crawler',
249
'MJ12bot' => 'Majestic-12',
250
'Uptimebot' => 'Uptimebot',