From: eldy <> Date: Sat, 10 Oct 2009 12:36:38 +0000 (+0000) Subject: Fix: Android detection and false safari detection X-Git-Tag: AWSTATS_6_95_RC~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f04a360ee22d0178a6b4641987e0101d41ae38c;p=thirdparty%2FAWStats.git Fix: Android detection and false safari detection --- diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl index ee2b9682..9af325ad 100644 --- a/wwwroot/cgi-bin/awstats.pl +++ b/wwwroot/cgi-bin/awstats.pl @@ -2237,13 +2237,21 @@ sub Read_Ref_Data { ); } if ( ( scalar keys %BrowsersHashIDLib ) - && @BrowsersSearchIDOrder != ( scalar keys %BrowsersHashIDLib ) - 4 ) + && @BrowsersSearchIDOrder != ( scalar keys %BrowsersHashIDLib ) - 8 ) { + #foreach (sort keys %BrowsersHashIDLib) + #{ + # print $_."\n"; + #} + #foreach (sort @BrowsersSearchIDOrder) + #{ + # print $_."\n"; + #} error( "Not same number of records of BrowsersSearchIDOrder (" . (@BrowsersSearchIDOrder) . " entries) and BrowsersHashIDLib (" - . ( ( scalar keys %BrowsersHashIDLib ) - 4 ) - . " entries without msie,netscape,firefox,svn,opera,safari,chrome,konqueror) in Browsers database. May be you updated AWStats without updating browsers.pm file or you made changed into browsers.pm not correctly. Check your file " + . ( ( scalar keys %BrowsersHashIDLib ) - 8 ) + . " entries without firefox,opera,chrome,safari,konqueror,svn,msie,netscape) in Browsers database. May be you updated AWStats without updating browsers.pm file or you made changed into browsers.pm not correctly. Check your file " . $FilePath{"browsers.pm"} . " is up to date." ); } @@ -10581,7 +10589,7 @@ if ( $UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft' ) my $regnotie = qr/webtv|omniweb|opera/i; my $regnotnetscape = qr/gecko|compatible|opera|galeon|safari|charon/i; my $regnotfirefox = qr/flock/i; - my $regnotsafari = qr/arora|chrome|shiira/i; + my $regnotsafari = qr/android|arora|chrome|shiira/i; my $regreferer = qr/^(\w+):\/\/([^\/:]+)(:\d+|)/; my $regreferernoquery = qr/^([^$URLQuerySeparators]+)/; my $reglocal = qr/^(www\.|)$sitewithoutwww/i; diff --git a/wwwroot/cgi-bin/lib/browsers.pm b/wwwroot/cgi-bin/lib/browsers.pm index 76406aaa..1bec3c6c 100644 --- a/wwwroot/cgi-bin/lib/browsers.pm +++ b/wwwroot/cgi-bin/lib/browsers.pm @@ -32,17 +32,15 @@ # Note: Regex IDs are in lower case and ' ' and '+' are changed into '_' #------------------------------------------------------- @BrowsersSearchIDOrder = ( -# Most frequent standard web browsers are first in this list (except msie, netscape and firefox) -'chrome', +# Most frequent standard web browsers are first in this list except the ones hardcoded in awstats.pl: +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape +'elinks', 'firebird', 'go!zilla', 'icab', -'konqueror', -'elinks', 'links', 'lynx', 'omniweb', -'opera', # Other standard web browsers '22acidownload', 'abrowse', @@ -108,7 +106,6 @@ 'emacs\-w3', 'phoenix', 'shiira', # Must be before safari -'safari', # Must be after a lot of others (shiira, chrome) 'tzgeturl', 'viking', 'webfetcher', @@ -200,8 +197,11 @@ 'webcollage', 'up\.', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android', 'blackberry', +'cnf2', 'docomo', +'ipcheck', 'iphone', 'portalmmm', # Others (TV) @@ -249,22 +249,24 @@ # List of browser's name ('browser id in lower case', 'browser text') #--------------------------------------------------------------- %BrowsersHashIDLib = ( -# Common web browsers text -'msie','MS Internet Explorer', -'netscape','Netscape', +# Common web browsers text, included the ones hard coded in awstats.pl +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape 'firefox','Firefox', +'opera','Opera', +'chrome','Google Chrome', +'safari','Safari', +'konqueror','Konqueror', 'svn', 'Subversion client', +'msie','MS Internet Explorer', +'netscape','Netscape', -'chrome','Google Chrome', +'elinks','ELinks', 'firebird','Firebird (Old Firefox)', 'go!zilla','Go!Zilla', 'icab','iCab', -'konqueror','Konqueror', -'elinks','ELinks', 'links','Links', 'lynx','Lynx', 'omniweb','OmniWeb', -'opera','Opera', # Other standard web browsers '22acidownload','22AciDownload', 'abrowse','ABrowse', @@ -330,7 +332,6 @@ 'contiki','Contiki', 'emacs\-w3','Emacs/w3s', 'shiira','Shiira', -'safari','Safari', 'tzgeturl','TzGetURL', 'viking','Viking', 'webfetcher','WebFetcher', @@ -422,8 +423,11 @@ 'webcollage','WebCollage (PDA/Phone browser)', 'up\.','UP.Browser (PDA/Phone browser)', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android','Android browser (PDA/Phone browser)', 'blackberry','BlackBerry (PDA/Phone browser)', +'cnf2','Supervision I-Mode ByTel (phone)', 'docomo','I-Mode phone (PDA/Phone browser)', +'ipcheck','Supervision IP Check (phone)', 'iphone','IPhone (PDA/Phone browser)', 'portalmmm','I-Mode phone (PDA/Phone browser)', # Others (TV) @@ -493,20 +497,22 @@ # file for this browser. #--------------------------------------------------------------------------- %BrowsersHashIcon = ( -# Standard web browsers -'msie','msie', -'netscape','netscape', +# Common web browsers text, included the ones hard coded in awstats.pl +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape 'firefox','firefox', +'opera','opera', +'chrome','chrome', +'safari','safari', +'konqueror','konqueror', 'svn','subversion', +'msie','msie', +'netscape','netscape', -'chrome','chrome', 'firebird','phoenix', 'go!zilla','gozilla', 'icab','icab', -'konqueror','konqueror', 'lynx','lynx', 'omniweb','omniweb', -'opera','opera', # Other standard web browsers 'amaya','amaya', 'amigavoyager','amigavoyager', @@ -553,7 +559,6 @@ 'ncsa_mosaic','ncsa_mosaic', 'netpositive','netpositive', 'phoenix','phoenix', -'safari','safari', # Site grabbers 'teleport','teleport', 'webcapture','adobe', @@ -635,6 +640,7 @@ 'webcollage','pdaphone', 'up\.','pdaphone', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android','android', 'blackberry','pdaphone', 'docomo','pdaphone', 'iphone','pdaphone', diff --git a/wwwroot/cgi-bin/lib/browsers_phone.pm b/wwwroot/cgi-bin/lib/browsers_phone.pm index 6f30e144..c705d806 100644 --- a/wwwroot/cgi-bin/lib/browsers_phone.pm +++ b/wwwroot/cgi-bin/lib/browsers_phone.pm @@ -22,6 +22,7 @@ # Potu Rss-Reader http://www.potu.com/ # OSSProxy http://www.marketscore.com/FAQ.Aspx + #package AWSUA; @@ -32,28 +33,45 @@ # Note: Regex IDs are in lower case and ' ' and '+' are changed into '_' #------------------------------------------------------- @BrowsersSearchIDOrder = ( -# Most frequent standard web browsers are first in this list (except msie, netscape and firefox) -'chrome', +# Most frequent standard web browsers are first in this list except the ones hardcoded in awstats.pl: +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape +'elinks', 'firebird', 'go!zilla', 'icab', -'konqueror', 'links', 'lynx', 'omniweb', -'opera', # Other standard web browsers '22acidownload', +'abrowse', 'aol\-iweng', 'amaya', 'amigavoyager', +'arora', 'aweb', +'charon', +'donzilla', +'seamonkey', +'flock', +'minefield', 'bonecho', +'granparadiso', +'songbird', +'strata', +'sylera', +'kazehakase', +'prism', +'icecat', +'iceape', +'iceweasel', +'w3clinemode', 'bpftp', 'camino', 'chimera', 'cyberdog', 'dillo', +'xchaos_arachne', 'doris', 'dreamcast', 'xbox', @@ -75,6 +93,7 @@ 'ibrowse', 'intergo', 'k\-meleon', +'k\-ninja', 'linemodebrowser', 'lotus\-notes', 'macweb', @@ -84,15 +103,17 @@ 'netpositive', 'nutscrape', 'msfrontpageexpress', +'contiki', +'emacs\-w3', 'phoenix', 'shiira', # Must be before safari -'safari', # Must be after a lot of others (shiira, chrome) 'tzgeturl', 'viking', 'webfetcher', 'webexplorer', 'webmirror', 'webvcr', +'qnx\svoyager', # Site grabbers 'teleport', 'webcapture', @@ -110,11 +131,13 @@ 'mplayer', 'nsplayer', 'qts', +'quicktime', 'sonique', 'uplayer', 'xaudio', 'xine', 'xmms', +'gstreamer', # RSS Readers 'abilon', 'aggrevator', @@ -268,7 +291,6 @@ 'nokia7200', 'nokia7600', 'nokia7610', -'nokia6500', 'nokia5310', 'nokia6300', 'nokia6131', @@ -324,7 +346,7 @@ 'samsung\-sgh\-a400', 'samsung\-sgh\-a800', 'samsung\-sgh\-n100', -'samsung\-sgh\-n400_up', +'samsung\-sgh\-n400', 'samsung\-sgh\-n500', 'samsung\-sgh\-n600', 'samsung\-sgh\-n620', @@ -335,7 +357,6 @@ 'samsung\-sgh\-t100', 'samsung\-sgh\-t400', 'samsung\-sgh\-v200', -'samsung_sgh\-x100', 'samsung\-sgh\-e100', 'samsung\-sgh\-e708', 'samsung\-sgh\-e800', @@ -558,8 +579,10 @@ 'n22i', 'ts21i', 'wap', # Generic WAP phone (must be after 'wap*') +'webcollage', 'up\.', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android', 'blackberry', 'cnf2', 'docomo', @@ -568,9 +591,11 @@ 'portalmmm', # Others (TV) 'webtv', +'democracy', # Anonymous Proxy Browsers (can be used as grabbers as well...) 'cjb\.net', 'ossproxy', +'smallproxy', # Other kind of browsers 'adobeair', 'apt', @@ -583,16 +608,20 @@ 'fdm', 'javaws', 'wget', +'fget', 'chilkat', 'webdownloader\sfor\sx', 'w3m', 'wdg_validator', +'w3c_validator', +'jigsaw', 'webreaper', 'webzip', 'staroffice', -'gnus', -'nikto', -'microsoft\-webdav\-miniredir', +'gnus', +'nikto', +'download\smaster', +'microsoft\-webdav\-miniredir', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav', 'POE\-Component\-Client\-HTTP', @@ -605,33 +634,54 @@ # List of browser's name ('browser id in lower case', 'browser text') #--------------------------------------------------------------- %BrowsersHashIDLib = ( -# Common web browsers text -'msie','MS Internet Explorer', -'netscape','Netscape', +# Common web browsers text, included the ones hard coded in awstats.pl +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape 'firefox','Firefox', +'opera','Opera', +'chrome','Google Chrome', +'safari','Safari', +'konqueror','Konqueror', 'svn', 'Subversion client', +'msie','MS Internet Explorer', +'netscape','Netscape', -'chrome','Google Chrome', +'elinks','ELinks', 'firebird','Firebird (Old Firefox)', 'go!zilla','Go!Zilla', 'icab','iCab', -'konqueror','Konqueror', 'links','Links', 'lynx','Lynx', 'omniweb','OmniWeb', -'opera','Opera', # Other standard web browsers '22acidownload','22AciDownload', -'aol\-iweng','AOL-Iweng', +'abrowse','ABrowse', 'amaya','Amaya', 'amigavoyager','AmigaVoyager', +'aol\-iweng','AOL-Iweng', +'arora','Arora', 'aweb','AWeb', -'bonecho','BonEcho (Firefox 2.0 development)', +'charon', 'Charon', +'donzilla','Donzilla', +'seamonkey','SeaMonkey', +'flock','Flock', +'minefield','Minefield (Firefox 3.0 development)', +'bonecho','BonEcho (Firefox 2.0 development)', +'granparadiso','GranParadiso (Firefox 3.0 development)', +'songbird','Songbird', +'strata','Strata', +'sylera','Sylera', +'kazehakase','Kazehakase', +'prism','Prism', +'icecat','GNU IceCat', +'iceape','GNU IceApe', +'iceweasel','Iceweasel', +'w3clinemode','W3CLineMode', 'bpftp','BPFTP', 'camino','Camino', 'chimera','Chimera (Old Camino)', 'cyberdog','Cyberdog', 'dillo','Dillo', +'xchaos_arachne','Arachne', 'doris','Doris (for Symbian)', 'dreamcast','Dreamcast', 'xbox', 'XBoX', @@ -653,6 +703,7 @@ 'ibrowse','iBrowse', 'intergo','InterGO', 'k\-meleon','K-Meleon', +'k\-ninja','K-Ninja', 'linemodebrowser','W3C Line Mode Browser', 'lotus\-notes','Lotus Notes web client', 'macweb','MacWeb', @@ -663,14 +714,16 @@ 'nutscrape', 'Nutscrape', 'msfrontpageexpress','MS FrontPage Express', 'phoenix','Phoenix', +'contiki','Contiki', +'emacs\-w3','Emacs/w3s', 'shiira','Shiira', -'safari','Safari', 'tzgeturl','TzGetURL', 'viking','Viking', 'webfetcher','WebFetcher', 'webexplorer','IBM-WebExplorer', 'webmirror','WebMirror', 'webvcr','WebVCR', +'qnx\svoyager','QNX Voyager', # Site grabbers 'teleport','TelePort Pro', 'webcapture','Acrobat Webcapture', @@ -687,13 +740,14 @@ 'mpg123','mpg123 (media player)', 'mplayer','The Movie Player (media player)', 'nsplayer','NetShow Player (media player)', -'qts','Quicktime', -'quicktime','QuickTime', +'qts','QuickTime (media player)', +'quicktime','QuickTime (media player)', 'sonique','Sonique (media player)', 'uplayer','Ultra Player (media player)', 'xaudio','Some XAudio Engine based MPEG player (media player)', 'xine','Xine, a free multimedia player (media player)', 'xmms','XMMS (media player)', +'gstreamer','GStreamer (media library)', # RSS Readers 'abilon','Abilon (RSS Reader)', 'aggrevator', 'Aggrevator (RSS Reader)', @@ -767,7 +821,7 @@ 'mot\-v66m','Motorola V66M (phone)', 'mot\-v708','Motorola V708 (phone)', 'mot\-8300','Motorola 8300 (phone)', -'mot\-a-86','Motorola A86 (phone)', +'mot\-a\-86','Motorola A86 (phone)', 'mot\-af','Motorola AF (phone)', 'mot\-c2','Motorola C2 (phone)', 'mot\-c350','Motorola C350 (phone)', @@ -818,7 +872,7 @@ 'nokia6150','Nokia 6150 (phone)', 'nokia6210','Nokia 6210 (phone)', 'nokia6250','Nokia 6250 (phone)', -'nokia6310/','Nokia 6310 (phone)', +'nokia6310\/','Nokia 6310 (phone)', 'nokia6310i','Nokia 6310i (phone)', 'nokia6500','Nokia 6500 (phone)', 'nokia6510','Nokia 6510 (phone)', @@ -847,7 +901,6 @@ 'nokia7200','Nokia 7200 (phone)', 'nokia7600','Nokia 7600 (phone)', 'nokia7610','Nokia 7610 (phone)', -'nokia6500','Nokia 6500 (phone)', 'nokia5310','Nokia 5310 (phone)', 'nokia6300','Nokia 6300 (phone)', 'nokia6131','Nokia 6131 (phone)', @@ -914,7 +967,6 @@ 'samsung\-sgh\-t100','Samsung T100 (phone)', 'samsung\-sgh\-t400','Samsung T400 (phone)', 'samsung\-sgh\-v200','Samsung V200 (phone)', -'samsung\_sgh\-x100','Samsung X100 (phone)', 'samsung\-sgh\-e100','Samsung E100 (phone)', 'samsung\-sgh\-e708','Samsung E700 (phone)', 'samsung\-sgh\-e800','Samsung E800 (phone)', @@ -992,7 +1044,7 @@ 'sonyericssont310','SonyEricsson T310 (phone)', 'sonyericssont600','SonyEricsson T600 (phone)', 'sonyericssont610','SonyEricsson T610 (phone)', -'sonyericssont68/','SonyEricsson T68 (phone)', +'sonyericssont68\/','SonyEricsson T68 (phone)', 'sonyericssont68i','SonyEricsson T68i (phone)', 'sonyericssont620','SonyEricsson T620 (phone)', 'sonyericssont630','SonyEricsson T630 (phone)', @@ -1137,40 +1189,48 @@ 'n22i','I-Mode Nec 22i (phone)', 'ts21i','I-Mode Toshiba 21i (phone)', 'wap','Unknown WAP browser (PDA/Phone browser)', # Generic WAP phone (must be after 'wap*') +'webcollage','WebCollage (PDA/Phone browser)', 'up\.','UP.Browser (PDA/Phone browser)', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android','Android browser (PDA/Phone browser)', 'blackberry','BlackBerry (PDA/Phone browser)', 'cnf2','Supervision I-Mode ByTel (phone)', 'docomo','I-Mode phone (PDA/Phone browser)', -'portalmmm','I-Mode phone (PDA/Phone browser)', 'ipcheck','Supervision IP Check (phone)', 'iphone','IPhone (PDA/Phone browser)', +'portalmmm','I-Mode phone (PDA/Phone browser)', # Others (TV) 'webtv','WebTV browser', +'democracy','Democracy', # Anonymous Proxy Browsers (can be used as grabbers as well...) 'cjb\.net','CJB.NET Proxy', 'ossproxy','OSSProxy', +'smallproxy','SmallProxy', # Other kind of browsers 'adobeair','AdobeAir', 'apt','Debian APT', 'analogx_proxy','AnalogX Proxy', 'gnome\-vfs', 'Gnome FileSystem Abstraction library', -'neon', 'Neon HTTP and WebDAV client library', +'neon', 'Neon HTTP and WebDAV client library', 'curl','Curl', 'csscheck','WDG CSS Validator', 'httrack','HTTrack', 'fdm','FDM Free Download Manager', 'javaws','Java Web Start', 'wget','Wget', +'fget','FGet', 'chilkat', 'Chilkat', 'webdownloader\sfor\sx','Downloader for X', 'w3m','w3m', 'wdg_validator','WDG HTML Validator', +'w3c_validator','W3C Validator', +'jigsaw','W3C Validator', 'webreaper','WebReaper', 'webzip','WebZIP', 'staroffice','StarOffice', 'gnus', 'Gnus Network User Services', -'nikto', 'Nikto Web Scanner', +'nikto', 'Nikto Web Scanner', +'download\smaster','Download Master', 'microsoft\-webdav\-miniredir', 'Microsoft Data Access Component Internet Publishing Provider', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager', 'Microsoft Data Access Component Internet Publishing Provider Cache Manager', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav', 'Microsoft Data Access Component Internet Publishing Provider DAV', @@ -1194,6 +1254,8 @@ 'httrack','1', 'webreaper','1', 'wget','1', +'fget','1', +'download\smaster','1', 'webdownloader\sfor\sx','1', 'webzip','1' ); @@ -1203,26 +1265,42 @@ # Each Browsers Search ID is associated to a string that is the name of icon # file for this browser. #--------------------------------------------------------------------------- -%BrowsersHashIcon = ( -# Standard web browsers -'msie','msie', -'netscape','netscape', +%BrowsersHashIcon = ( +# Common web browsers text, included the ones hard coded in awstats.pl +# firefox, opera, chrome, safari, konqueror, svn, msie, netscape 'firefox','firefox', +'opera','opera', +'chrome','chrome', +'safari','safari', +'konqueror','konqueror', 'svn','subversion', -'chrome','chrome', +'msie','msie', +'netscape','netscape', + 'firebird','phoenix', 'go!zilla','gozilla', 'icab','icab', -'konqueror','konqueror', 'lynx','lynx', 'omniweb','omniweb', -'opera','opera', # Other standard web browsers 'amaya','amaya', 'amigavoyager','amigavoyager', 'avantbrowser','avant', 'aweb','aweb', 'bonecho','firefox', +'minefield','firefox', +'granparadiso','firefox', +'donzilla','mozilla', +'songbird','mozilla', +'strata','mozilla', +'sylera','mozilla', +'kazehakase','mozilla', +'prism','mozilla', +'iceape','mozilla', +'seamonkey','seamonkey', +'flock','flock', +'icecat','icecat', +'iceweasel','iceweasel', 'bpftp','bpftp', 'camino','chimera', 'chimera','chimera', @@ -1250,7 +1328,6 @@ 'ncsa_mosaic','ncsa_mosaic', 'netpositive','netpositive', 'phoenix','phoenix', -'safari','safari', # Site grabbers 'teleport','teleport', 'webcapture','adobe', @@ -1325,11 +1402,14 @@ #'sonyericsson','pdaphone', # Sony/Ericsson #'mmef','pdaphone', #'mspie','pdaphone', +#'vodafone','pdaphone', #'wapalizer','pdaphone', #'wapsilon','pdaphone', 'wap','pdaphone', # Generic WAP phone (must be after 'wap*') -'up\.','pdaphone', +'webcollage','pdaphone', +'up\.','pdaphone', # Works for UP.Browser and UP.Link # PDA/Phonecell browsers +'android','android', 'blackberry','pdaphone', 'docomo','pdaphone', 'iphone','pdaphone', @@ -1345,8 +1425,11 @@ 'microsoft\-webdav\-miniredir','frontpage', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager','frontpage', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav','frontpage', -'gnome\-vfs', 'gnome', -'neon','neon', +'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sprotocol\sdiscovery','frontpage', +'microsoft\soffice\sprotocol\sdiscovery','frontpage', +'microsoft\soffice\sexistence\sdiscovery','frontpage', +'gnome\-vfs', 'gnome', +'neon','neon', 'javaws','java', 'webzip','webzip', 'webreaper','webreaper', @@ -1396,7 +1479,7 @@ # MSIE 4.0 Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; KITV4 Wanadoo; KITV5 Wanadoo) # # -- Gecko Netscape -- -# Netscape 4.05 Mozilla/4.05 [fr]C-SYMPA (Win95; I) +# Netscape 4.05 Mozilla/4.05 [fr]C-SYMPA (Win95; I) # Netscape 4.7 Mozilla/4.7 [fr] (Win95; I) # Netscape 6.0 Mozilla/5.0 (Macintosh; N; PPC; fr-FR; m18) Gecko/20001108 Netscape6/6.0 # Netscape 7.02 Mozilla/5.0 (Platform; Security; OS-or-CPU; Localization; rv:1.0.2) Gecko/20030208 Netscape/7.02