diff --git a/src/ua-parser.js b/src/ua-parser.js index b567b32..e09edb5 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -40,7 +40,7 @@ var util = { extend : function (regexes, extensions) { for (var i in extensions) { - if ("browser cpu device engine os".indexOf(i) !== -1 && extensions[i].length % 2 == 0) { + if ("browser cpu device engine os".indexOf(i) !== -1 && extensions[i].length % 2 === 0) { regexes[i] = regexes[i].concat(extensions[i]); } } @@ -297,7 +297,13 @@ /(gobrowser)\/?((\d+)?[\w\.]+)*/i, // GoBrowser /(ice\s?browser)\/v?((\d+)?[\w\._]+)/i, // ICE Browser /(mosaic)[\/\s]((\d+)?[\w\.]+)/i // Mosaic - ], [NAME, VERSION, MAJOR], [ + ], [NAME, VERSION, MAJOR] + + /* ///////////////////// + // Media players BEGIN + //////////////////////// + + , [ /(apple(?:coremedia|))\/((\d+)[\w\._]+)/i, // Generic Apple CoreMedia /(coremedia) v((\d+)[\w\._]+)/i @@ -399,6 +405,10 @@ /(radio.(?:de|at|fr))\s((\d+)[\d\.]+)/i ], [[NAME, 'rad.io'], VERSION, MAJOR] + ////////////////////// + // Media players END + ////////////////////*/ + ], cpu : [[ diff --git a/src/ua-parser.min.js b/src/ua-parser.min.js index caf1b4a..35a12b4 100644 --- a/src/ua-parser.min.js +++ b/src/ua-parser.min.js @@ -1,7 +1 @@ -// UAParser.js v0.7.0 -// Lightweight JavaScript-based User-Agent string parser -// https://github.com/faisalman/ua-parser-js -// -// Copyright © 2012-2013 Faisalman -// Dual licensed under GPLv2 & MIT -(function(e,t){"use strict";function S(e,t){if(!e||!e[t]||e[t].length%2!==0)return;E[t]=E[t].concat(e[t])}var n="",r="?",i="function",s="undefined",o="object",u="major",a="model",f="name",l="type",c="vendor",h="version",p="architecture",d="console",v="mobile",m="tablet",g="smarttv",y={has:function(e,t){if(typeof e=="string")return t.toLowerCase().indexOf(e.toLowerCase())!==-1},lowerize:function(e){return e.toLowerCase()}},b={rgx:function(){for(var e,n=0,r,u,a,f,l,c,h=arguments;n0?f.length==2?typeof f[1]==i?e[f[0]]=f[1].call(this,c):e[f[0]]=f[1]:f.length==3?typeof f[1]===i&&(!f[1].exec||!f[1].test)?e[f[0]]=c?f[1].call(this,c,f[2]):t:e[f[0]]=c?c.replace(f[1],f[2]):t:f.length==4&&(e[f[0]]=c?f[3].call(this,c.replace(f[1],f[2])):t):e[f]=c?c:t;break}}if(!!l)break}return e},str:function(e,n){for(var i in n)if(typeof n[i]===o&&n[i].length>0){for(var s=0;s0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){result[q[0]]=q[1].call(this,match)}else{result[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{result[q]=match?match:undefined}}break}}if(!!matches)break}return result},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j 9.80", + "ua" : "Opera/9.80 (X11; Linux x86_64; U; Linux Mint; en) Presto/2.2.15 Version/10.10", + "expect" : + { + "name" : "Opera", + "version" : "10.10", + "major" : "10" + } + }, + { + "desc" : "Opera < 9.80 on Windows", + "ua" : "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]", + "expect" : + { + "name" : "Opera", + "version" : "6.01", + "major" : "6" + } + }, + { + "desc" : "Opera < 9.80 on OSX", + "ua" : "Opera/8.5 (Macintosh; PPC Mac OS X; U; en)", + "expect" : + { + "name" : "Opera", + "version" : "8.5", + "major" : "8" + } + }, + { + "desc" : "Opera Mobile", + "ua" : "Opera/9.80 (Android 2.3.5; Linux; Opera Mobi/ADR-1111101157; U; de) Presto/2.9.201 Version/11.50", + "expect" : + { + "name" : "Opera Mobi", + "version" : "11.50", + "major" : "11" + } + }, + { + "desc" : "Opera Webkit", + "ua" : "Mozilla/5.0 AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.123 Mobile Safari/537.22 OPR/14.0.1025.52315", + "expect" : + { + "name" : "Opera", + "version" : "14.0.1025.52315", + "major" : "14" + } + }, + { + "desc" : "Opera Mini", + "ua" : "Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25", + "expect" : + { + "name" : "Opera Mini", + "version" : "5.1.21214", + "major" : "5" + } + }, + { + "desc" : "Opera Tablet", + "ua" : "Opera/9.80 (Windows NT 6.1; Opera Tablet/15165; U; en) Presto/2.8.149 Version/11.1", + "expect" : + { + "name" : "Opera Tablet", + "version" : "11.1", + "major" : "11" + } + }, + { + "desc" : "Phoenix", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021029 Phoenix/0.4", + "expect" : + { + "name" : "Phoenix", + "version" : "0.4", + "major" : "0" + } + }, + { + "desc" : "Polaris", + "ua" : "LG-LX600 Polaris/6.0 MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1", + "expect" : + { + "name" : "Polaris", + "version" : "6.0", + "major" : "6" + } + }, + { + "desc" : "RockMelt", + "ua" : "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) RockMelt/0.8.36.78 Chrome/7.0.517.44 Safari/534.7", + "expect" : + { + "name" : "RockMelt", + "version" : "0.8.36.78", + "major" : "0" + } + }, + { + "desc" : "Safari", + "ua" : "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8", + "expect" : + { + "name" : "Safari", + "version" : "5.0.1", + "major" : "5" + } + }, + { + "desc" : "Safari < 3.0", + "ua" : "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; sv-se) AppleWebKit/419 (KHTML, like Gecko) Safari/419.3", + "expect" : + { + "name" : "Safari", + "version" : "2.0.4", + "major" : "2" + } + }, + { + "desc" : "SeaMonkey", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b4pre) Gecko/20090405 SeaMonkey/2.0b1pre", + "expect" : + { + "name" : "SeaMonkey", + "version" : "2.0b1pre", + "major" : "2" + } + }, + { + "desc" : "Silk Browser", + "ua" : "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-84)", + "expect" : + { + "name" : "Silk", + "version" : "1.1.0-84", + "major" : "1" + } + }, + { + "desc" : "Skyfire", + "ua" : "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0", + "expect" : + { + "name" : "Skyfire", + "version" : "2.0", + "major" : "2" + } + }, + { + "desc" : "SlimBrowser", + "ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SlimBrowser)", + "expect" : + { + "name" : "Slim", + "version" : "undefined", + "major" : "undefined" + } + }, + { + "desc" : "Swiftfox", + "ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Firefox/2.0 (Swiftfox)", + "expect" : + { + "name" : "Swiftfox", + "version" : "undefined", + "major" : "undefined" + } + }, + { + "desc" : "Tizen Browser", + "ua" : "Mozilla/5.0 (Linux; U; Tizen/1.0 like Android; en-us; AppleWebKit/534.46 (KHTML, like Gecko) Tizen Browser/1.0 Mobile", + "expect" : + { + "name" : "Tizen Browser", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "UC Browser on Samsung", + "ua" : "Mozilla/5.0 (Java; U; Pt-br; samsung-gt-s5620) UCBrowser8.2.1.144/69/352/UCWEB Mobile UNTRUSTED/1.0", + "expect" : + { + "name" : "UCBrowser", + "version" : "8.2.1.144", + "major" : "8" + } + }, + { + "desc" : "UC Browser on Nokia", + "ua" : "Mozilla/5.0 (S60V3; U; en-in; NokiaN73)/UC Browser8.4.0.159/28/351/UCWEB Mobile", + "expect" : + { + "name" : "UC Browser", + "version" : "8.4.0.159", + "major" : "8" + } + }, + { + "desc" : "Yandex", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.5 (KHTML, like Gecko) YaBrowser/1.0.1084.5402 Chrome/19.0.1084.5402 Safari/536.5", + "expect" : + { + "name" : "Yandex", + "version" : "1.0.1084.5402", + "major" : "1" + } + }, + { + "desc" : "Coremedia", + "ua" : "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F2108", + "expect" : + { + "name" : "CoreMedia", + "version" : "1.0.0.10F2108", + "major" : "1" + } + }, + { + "desc" : "AppleCoreMedia", + "ua" : "AppleCoreMedia/1.0.0.10A403 (iPad; U; CPU OS 6_0 like Mac OS X; it_it)", + "expect" : + { + "name" : "AppleCoreMedia", + "version" : "1.0.0.10A403", + "major" : "1" + } + }, + { + "desc" : "AppleTv", + "ua" : "AppleTV/3.0.2 (Macintosh; Intel Mac OS X 10.4.7) AppleWebKit/528.18", + "expect" : + { + "name" : "WebKit", + "version" : "528.18", + "major" : "528" + } + }, + { + "desc" : "Aqualung", + "ua" : "Aqualung/R-1114", + "expect" : + { + "name" : "Aqualung", + "version" : "R-1114", + "major" : "undefined" + } + }, + { + "desc" : "Ares", + "ua" : "Ares 2.2.4.3048", + "expect" : + { + "name" : "Ares", + "version" : "2.2.4.3048", + "major" : "2" + } + }, + { + "desc" : "Audacious", + "ua" : "Audacious/3.2.2 neon/0.29.3", + "expect" : + { + "name" : "Audacious", + "version" : "3.2.2", + "major" : "3" + } + }, + { + "desc" : "AudiMusicStream", + "ua" : "AudiMusicStream/3020.130826151911", + "expect" : + { + "name" : "AudiMusicStream", + "version" : "3020.130826151911", + "major" : "3020" + } + }, + { + "desc" : "BASS", + "ua" : "BASS/2.4", + "expect" : + { + "name" : "BASS", + "version" : "2.4", + "major" : "2" + } + }, + { + "desc" : "BSPlayer", + "ua" : "BSPlayer/2", + "expect" : + { + "name" : "BSPlayer", + "version" : "2", + "major" : "2" + } + }, + { + "desc" : "Core", + "ua" : "CORE/6.506.4.1", + "expect" : + { + "name" : "CORE", + "version" : "6.506.4.1", + "major" : "6" + } + }, + { + "desc" : "Clementine", + "ua" : "Clementine 1.1", + "expect" : + { + "name" : "Clementine", + "version" : "1.1", + "major" : "1" + } + }, + { + "desc" : "Dalvik", + "ua" : "Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-S5830L Build/FROYO)", + "expect" : + { + "name" : "Dalvik", + "version" : "1.2.0", + "major" : "1" + } + }, + { + "desc" : "NexPlayer", + "ua" : "E97510d/ Player/NexPlayer 4.0", + "expect" : + { + "name" : "NexPlayer", + "version" : "4.0", + "major" : "4" + } + }, + { + "desc" : "FLRP", + "ua" : "FLRP/2.5 CFNetwork/609.1.4 Darwin/13.0.0", + "expect" : + { + "name" : "Flip Player", + "version" : "2.5", + "major" : "2" + } + }, + { + "desc" : "FStream", + "ua" : "FStream", + "expect" : + { + "name" : "FStream", + "version" : "undefined", + "major" : "undefined" + } + }, + { + "desc" : "GStreamer", + "ua" : "GStreamer souphttpsrc (compatible; LG NetCast.TV-2012) libsoup/2.34.2", + "expect" : + { + "name" : "GStreamer", + "version" : "2.34.2", + "major" : "2" + } + }, + { + "desc" : "GnomeMplayer", + "ua" : "GnomeMplayer/1.0.2", + "expect" : + { + "name" : "GnomeMplayer", + "version" : "1.0.2", + "major" : "1" + } + }, + { + "desc" : "HTC Streaming Player", + "ua" : "HTC Streaming Player htc_asia_wwe / 1.0 / endeavoru / 4.1.1", + "expect" : + { + "name" : "HTC Streaming Player", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "HTC One S", + "ua" : "HTC_One_S/3.16.111.10", + "expect" : + { + "name" : "HTC One S", + "version" : "3.16.111.10", + "major" : "3" + } + }, + { + "desc" : "Java", + "ua" : "Java/1.4.1_04", + "expect" : + { + "name" : "Java", + "version" : "1.4.1_04", + "major" : "1" + } + }, + { + "desc" : "LG Player", + "ua" : "LG Player 1.0; Android", + "expect" : + { + "name" : "LG Player", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "NexPlayer", + "ua" : "LG-P700/V10k-DEC-12-2012 Player/NexPlayer 4.0 for Android", + "expect" : + { + "name" : "NexPlayer", + "version" : "4.0", + "major" : "4" + } + }, + { + "desc" : "LG Player", + "ua" : "LGE400/V10b Player/LG Player 1.0", + "expect" : + { + "name" : "LG Player", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "Lavf", + "ua" : "Lavf52.111.0", + "expect" : + { + "name" : "Lavf", + "version" : "52.111.0", + "major" : "52" + } + }, + { + "desc" : "Lyssna", + "ua" : "Lyssna/46 CFNetwork/609.1.4 Darwin/13.0.0", + "expect" : + { + "name" : "Lyssna", + "version" : "46", + "major" : "46" + } + }, + { + "desc" : "MPlayer", + "ua" : "MPlayer 1.1-4.2.1", + "expect" : + { + "name" : "MPlayer", + "version" : "1.1-4.2.1", + "major" : "" + } + }, + { + "desc" : "MPlayer SVN", + "ua" : "MPlayer SVN-r33713-4.6.1", + "expect" : + { + "name" : "MPlayer", + "version" : "r33713-4.6.1", + "major" : "undefined" + } + }, + { + "desc" : "MPlayer ubuntu", + "ua" : "MPlayer svn r34540 (Ubuntu), built with gcc-4.6", + "expect" : + { + "name" : "MPlayer", + "version" : "r34540", + "major" : "undefined" + } + }, + { + "desc" : "MoC", + "ua" : "Music On Console/2.5.0-beta1", + "expect" : + { + "name" : "Music On Console", + "version" : "2.5.0-beta1", + "major" : "2" + } + }, + { + "desc" : "MPD", + "ua" : "Music Player Daemon 0.17.4", + "expect" : + { + "name" : "Music Player Daemon", + "version" : "0.17.4", + "major" : "0" + } + }, + { + "desc" : "NSPlayer", + "ua" : "NSPlayer/11.0.5358.4827 WMFSDK/11.0", + "expect" : + { + "name" : "NSPlayer", + "version" : "11.0.5358.4827", + "major" : "11" + } + }, + { + "desc" : "Nero Home", + "ua" : "Nero Home/1.5.3.0 (compatible; Nero AG; Nero Home 1.5.3.0)", + "expect" : + { + "name" : "Nero Home", + "version" : "1.5.3.0", + "major" : "1" + } + }, + { + "desc" : "NexPlayer", + "ua" : "NexPlayer 4.0 for Android( stagefright alternative )", + "expect" : + { + "name" : "NexPlayer", + "version" : "4.0", + "major" : "4" + } + }, + { + "desc" : "Nokia3xx", + "ua" : "Nokia303/14.87 CLDC-1.1", + "expect" : + { + "name" : "Nokia303", + "version" : "14.87", + "major" : "14" + } + }, + { + "desc" : "MPlayer SVN Sherpya", + "ua" : "MPlayer Sherpya-SVN-r33124-4.2.5", + "expect" : + { + "name" : "MPlayer", + "version" : "r33124-4.2.5", + "major" : "undefined" + } + }, + { + "desc" : "Philips Songbird", + "ua" : "NotMoz/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.3) Gecko/20101207 Philips-Songbird/5.4.1980 Songbird/1.9.4 (20110302030555)", + "expect" : + { + "name" : "Songbird", + "version" : "1.9.4", + "major" : "1" + } + }, + { + "desc" : "Ossproxy", + "ua" : "OSSProxy 1.3.336.320 (Build 336.320 Win32 en-us)(Aug 16 2013 17:38:43)", + "expect" : + { + "name" : "OSSProxy", + "version" : "1.3.336.320", + "major" : "1" + } + }, + { + "desc" : "Winamp3", + "ua" : "Nullsoft Winamp3 version 3.0 (compatible)", + "expect" : + { + "name" : "Winamp", + "version" : "3.0", + "major" : "3" + } + }, + { + "desc" : "PSP", + "ua" : "PSP-InternetRadioPlayer/1.00", + "expect" : + { + "name" : "PSP-InternetRadioPlayer", + "version" : "1.00", + "major" : "1" + } + }, + { + "desc" : "urllib", + "ua" : "Python-urllib/2.7", + "expect" : + { + "name" : "Python-urllib", + "version" : "2.7", + "major" : "2" + } + }, + { + "desc" : "QuickTime", + "ua" : "QuickTime/7.5.6 (qtver=7.5.6;cpu=IA32;os=Mac 10.5.8)", + "expect" : + { + "name" : "QuickTime", + "version" : "7.5.6", + "major" : "7" + } + }, + { + "desc" : "RMA", + "ua" : "RMA/1.0 (compatible; RealMedia)", + "expect" : + { + "name" : "RMA", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "RadioApp", + "ua" : "RadioApp/1.0 CFNetwork/609.1.4 Darwin/11.4.2", + "expect" : + { + "name" : "RadioApp", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "RadioClientApplication", + "ua" : "RadioClientApplication/20 CFNetwork/609.1.4 Darwin/13.0.0", + "expect" : + { + "name" : "RadioClientApplication", + "version" : "20", + "major" : "undefined" + } + }, + { + "desc" : "stagefright", + "ua" : "Samsung GT-I9070 stagefright/1.1 (Linux;Android 2.3.6)", + "expect" : + { + "name" : "stagefright", + "version" : "1.1", + "major" : "1" + } + }, + { + "desc" : "Soundtap", + "ua" : "Soundtap/1.2.4 CFNetwork/672.0.2 Darwin/14.0.0", + "expect" : + { + "name" : "Soundtap", + "version" : "1.2.4", + "major" : "1" + } + }, + { + "desc" : "Streamium", + "ua" : "Streamium/1.0", + "expect" : + { + "name" : "Streamium", + "version" : "1.0", + "major" : "1" + } + }, + { + "desc" : "Totem", + "ua" : "Totem/3.0.1", + "expect" : + { + "name" : "Totem", + "version" : "3.0.1", + "major" : "3" + } + }, + { + "desc" : "VLC", + "ua" : "VLC media player - version 0.8.6c Janus - (c) 1996-2007 the VideoLAN team", + "expect" : + { + "name" : "VLC", + "version" : "0.8.6c", + "major" : "0" + } + }, + { + "desc" : "VLC", + "ua" : "VLC/2.0.0 LibVLC/2.0.0", + "expect" : + { + "name" : "VLC", + "version" : "2.0.0", + "major" : "2" + } + }, + { + "desc" : "Videos", + "ua" : "Videos/3.8.2", + "expect" : + { + "name" : "Video", + "version" : "3.8.2", + "major" : "3" + } + }, + { + "desc" : "Wget", + "ua" : "Wget/1.12 (darwin10.7.0)", + "expect" : + { + "name" : "Wget", + "version" : "1.12", + "major" : "1" + } + }, + { + "desc" : "Winamp", + "ua" : "Winamp 2.81", + "expect" : + { + "name" : "Winamp", + "version" : "2.81", + "major" : "2" + } + }, + { + "desc" : "Winamp", + "ua" : "WinampMPEG/2.00", + "expect" : + { + "name" : "Winamp", + "version" : "2.00", + "major" : "2" + } + }, + { + "desc" : "Windows Media Player", + "ua" : "Windows-Media-Player/10.00.00.4019", + "expect" : + { + "name" : "Windows Media Player", + "version" : "10.00.00.4019", + "major" : "10" + } + }, + { + "desc" : "XBMC", + "ua" : "XBMC/12.0 Git:20130127-fb595f2 (Windows NT 6.1;WOW64;Win64;x64; http://www.xbmc.org)", + "expect" : + { + "name" : "XBMC", + "version" : "12.0", + "major" : "12" + } + }, + { + "desc" : "rad.io", + "ua" : "rad.io 1.18.1 rv:593 (iPhone 4S; iPhone OS 7.0.4; it_IT)", + "expect" : + { + "name" : "rad.io", + "version" : "1.18.1", + "major" : "1" + } + }, + { + "desc" : "BE-Test", + "ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)", + "expect" : + { + "name" : "BE Test", + "version" : "1.0", + "major" : "1" + } + } +] diff --git a/test/browser-test.json b/test/browser-test.json index 35df96b..740be65 100644 --- a/test/browser-test.json +++ b/test/browser-test.json @@ -648,585 +648,5 @@ "version" : "1.0.1084.5402", "major" : "1" } - }, - { - "desc" : "Coremedia", - "ua" : "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F2108", - "expect" : - { - "name" : "CoreMedia", - "version" : "1.0.0.10F2108", - "major" : "1" - } - }, - { - "desc" : "AppleCoreMedia", - "ua" : "AppleCoreMedia/1.0.0.10A403 (iPad; U; CPU OS 6_0 like Mac OS X; it_it)", - "expect" : - { - "name" : "AppleCoreMedia", - "version" : "1.0.0.10A403", - "major" : "1" - } - }, - { - "desc" : "AppleTv", - "ua" : "AppleTV/3.0.2 (Macintosh; Intel Mac OS X 10.4.7) AppleWebKit/528.18", - "expect" : - { - "name" : "WebKit", - "version" : "528.18", - "major" : "528" - } - }, - { - "desc" : "Aqualung", - "ua" : "Aqualung/R-1114", - "expect" : - { - "name" : "Aqualung", - "version" : "R-1114", - "major" : "undefined" - } - }, - { - "desc" : "Ares", - "ua" : "Ares 2.2.4.3048", - "expect" : - { - "name" : "Ares", - "version" : "2.2.4.3048", - "major" : "2" - } - }, - { - "desc" : "Audacious", - "ua" : "Audacious/3.2.2 neon/0.29.3", - "expect" : - { - "name" : "Audacious", - "version" : "3.2.2", - "major" : "3" - } - }, - { - "desc" : "AudiMusicStream", - "ua" : "AudiMusicStream/3020.130826151911", - "expect" : - { - "name" : "AudiMusicStream", - "version" : "3020.130826151911", - "major" : "3020" - } - }, - { - "desc" : "BASS", - "ua" : "BASS/2.4", - "expect" : - { - "name" : "BASS", - "version" : "2.4", - "major" : "2" - } - }, - { - "desc" : "BSPlayer", - "ua" : "BSPlayer/2", - "expect" : - { - "name" : "BSPlayer", - "version" : "2", - "major" : "2" - } - }, - { - "desc" : "Core", - "ua" : "CORE/6.506.4.1", - "expect" : - { - "name" : "CORE", - "version" : "6.506.4.1", - "major" : "6" - } - }, - { - "desc" : "Clementine", - "ua" : "Clementine 1.1", - "expect" : - { - "name" : "Clementine", - "version" : "1.1", - "major" : "1" - } - }, - { - "desc" : "Dalvik", - "ua" : "Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-S5830L Build/FROYO)", - "expect" : - { - "name" : "Dalvik", - "version" : "1.2.0", - "major" : "1" - } - }, - { - "desc" : "NexPlayer", - "ua" : "E97510d/ Player/NexPlayer 4.0", - "expect" : - { - "name" : "NexPlayer", - "version" : "4.0", - "major" : "4" - } - }, - { - "desc" : "FLRP", - "ua" : "FLRP/2.5 CFNetwork/609.1.4 Darwin/13.0.0", - "expect" : - { - "name" : "Flip Player", - "version" : "2.5", - "major" : "2" - } - }, - { - "desc" : "FStream", - "ua" : "FStream", - "expect" : - { - "name" : "FStream", - "version" : "undefined", - "major" : "undefined" - } - }, - { - "desc" : "GStreamer", - "ua" : "GStreamer souphttpsrc (compatible; LG NetCast.TV-2012) libsoup/2.34.2", - "expect" : - { - "name" : "GStreamer", - "version" : "2.34.2", - "major" : "2" - } - }, - { - "desc" : "GnomeMplayer", - "ua" : "GnomeMplayer/1.0.2", - "expect" : - { - "name" : "GnomeMplayer", - "version" : "1.0.2", - "major" : "1" - } - }, - { - "desc" : "HTC Streaming Player", - "ua" : "HTC Streaming Player htc_asia_wwe / 1.0 / endeavoru / 4.1.1", - "expect" : - { - "name" : "HTC Streaming Player", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "HTC One S", - "ua" : "HTC_One_S/3.16.111.10", - "expect" : - { - "name" : "HTC One S", - "version" : "3.16.111.10", - "major" : "3" - } - }, - { - "desc" : "Java", - "ua" : "Java/1.4.1_04", - "expect" : - { - "name" : "Java", - "version" : "1.4.1_04", - "major" : "1" - } - }, - { - "desc" : "LG Player", - "ua" : "LG Player 1.0; Android", - "expect" : - { - "name" : "LG Player", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "NexPlayer", - "ua" : "LG-P700/V10k-DEC-12-2012 Player/NexPlayer 4.0 for Android", - "expect" : - { - "name" : "NexPlayer", - "version" : "4.0", - "major" : "4" - } - }, - { - "desc" : "LG Player", - "ua" : "LGE400/V10b Player/LG Player 1.0", - "expect" : - { - "name" : "LG Player", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "Lavf", - "ua" : "Lavf52.111.0", - "expect" : - { - "name" : "Lavf", - "version" : "52.111.0", - "major" : "52" - } - }, - { - "desc" : "Lyssna", - "ua" : "Lyssna/46 CFNetwork/609.1.4 Darwin/13.0.0", - "expect" : - { - "name" : "Lyssna", - "version" : "46", - "major" : "46" - } - }, - { - "desc" : "MPlayer", - "ua" : "MPlayer 1.1-4.2.1", - "expect" : - { - "name" : "MPlayer", - "version" : "1.1-4.2.1", - "major" : "" - } - }, - { - "desc" : "MPlayer SVN", - "ua" : "MPlayer SVN-r33713-4.6.1", - "expect" : - { - "name" : "MPlayer", - "version" : "r33713-4.6.1", - "major" : "undefined" - } - }, - { - "desc" : "MPlayer ubuntu", - "ua" : "MPlayer svn r34540 (Ubuntu), built with gcc-4.6", - "expect" : - { - "name" : "MPlayer", - "version" : "r34540", - "major" : "undefined" - } - }, - { - "desc" : "MoC", - "ua" : "Music On Console/2.5.0-beta1", - "expect" : - { - "name" : "Music On Console", - "version" : "2.5.0-beta1", - "major" : "2" - } - }, - { - "desc" : "MPD", - "ua" : "Music Player Daemon 0.17.4", - "expect" : - { - "name" : "Music Player Daemon", - "version" : "0.17.4", - "major" : "0" - } - }, - { - "desc" : "NSPlayer", - "ua" : "NSPlayer/11.0.5358.4827 WMFSDK/11.0", - "expect" : - { - "name" : "NSPlayer", - "version" : "11.0.5358.4827", - "major" : "11" - } - }, - { - "desc" : "Nero Home", - "ua" : "Nero Home/1.5.3.0 (compatible; Nero AG; Nero Home 1.5.3.0)", - "expect" : - { - "name" : "Nero Home", - "version" : "1.5.3.0", - "major" : "1" - } - }, - { - "desc" : "NexPlayer", - "ua" : "NexPlayer 4.0 for Android( stagefright alternative )", - "expect" : - { - "name" : "NexPlayer", - "version" : "4.0", - "major" : "4" - } - }, - { - "desc" : "Nokia3xx", - "ua" : "Nokia303/14.87 CLDC-1.1", - "expect" : - { - "name" : "Nokia303", - "version" : "14.87", - "major" : "14" - } - }, - { - "desc" : "MPlayer SVN Sherpya", - "ua" : "MPlayer Sherpya-SVN-r33124-4.2.5", - "expect" : - { - "name" : "MPlayer", - "version" : "r33124-4.2.5", - "major" : "undefined" - } - }, - { - "desc" : "Philips Songbird", - "ua" : "NotMoz/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.3) Gecko/20101207 Philips-Songbird/5.4.1980 Songbird/1.9.4 (20110302030555)", - "expect" : - { - "name" : "Songbird", - "version" : "1.9.4", - "major" : "1" - } - }, - { - "desc" : "Ossproxy", - "ua" : "OSSProxy 1.3.336.320 (Build 336.320 Win32 en-us)(Aug 16 2013 17:38:43)", - "expect" : - { - "name" : "OSSProxy", - "version" : "1.3.336.320", - "major" : "1" - } - }, - { - "desc" : "Winamp3", - "ua" : "Nullsoft Winamp3 version 3.0 (compatible)", - "expect" : - { - "name" : "Winamp", - "version" : "3.0", - "major" : "3" - } - }, - { - "desc" : "PSP", - "ua" : "PSP-InternetRadioPlayer/1.00", - "expect" : - { - "name" : "PSP-InternetRadioPlayer", - "version" : "1.00", - "major" : "1" - } - }, - { - "desc" : "urllib", - "ua" : "Python-urllib/2.7", - "expect" : - { - "name" : "Python-urllib", - "version" : "2.7", - "major" : "2" - } - }, - { - "desc" : "QuickTime", - "ua" : "QuickTime/7.5.6 (qtver=7.5.6;cpu=IA32;os=Mac 10.5.8)", - "expect" : - { - "name" : "QuickTime", - "version" : "7.5.6", - "major" : "7" - } - }, - { - "desc" : "RMA", - "ua" : "RMA/1.0 (compatible; RealMedia)", - "expect" : - { - "name" : "RMA", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "RadioApp", - "ua" : "RadioApp/1.0 CFNetwork/609.1.4 Darwin/11.4.2", - "expect" : - { - "name" : "RadioApp", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "RadioClientApplication", - "ua" : "RadioClientApplication/20 CFNetwork/609.1.4 Darwin/13.0.0", - "expect" : - { - "name" : "RadioClientApplication", - "version" : "20", - "major" : "undefined" - } - }, - { - "desc" : "stagefright", - "ua" : "Samsung GT-I9070 stagefright/1.1 (Linux;Android 2.3.6)", - "expect" : - { - "name" : "stagefright", - "version" : "1.1", - "major" : "1" - } - }, - { - "desc" : "Soundtap", - "ua" : "Soundtap/1.2.4 CFNetwork/672.0.2 Darwin/14.0.0", - "expect" : - { - "name" : "Soundtap", - "version" : "1.2.4", - "major" : "1" - } - }, - { - "desc" : "Streamium", - "ua" : "Streamium/1.0", - "expect" : - { - "name" : "Streamium", - "version" : "1.0", - "major" : "1" - } - }, - { - "desc" : "Totem", - "ua" : "Totem/3.0.1", - "expect" : - { - "name" : "Totem", - "version" : "3.0.1", - "major" : "3" - } - }, - { - "desc" : "VLC", - "ua" : "VLC media player - version 0.8.6c Janus - (c) 1996-2007 the VideoLAN team", - "expect" : - { - "name" : "VLC", - "version" : "0.8.6c", - "major" : "0" - } - }, - { - "desc" : "VLC", - "ua" : "VLC/2.0.0 LibVLC/2.0.0", - "expect" : - { - "name" : "VLC", - "version" : "2.0.0", - "major" : "2" - } - }, - { - "desc" : "Videos", - "ua" : "Videos/3.8.2", - "expect" : - { - "name" : "Video", - "version" : "3.8.2", - "major" : "3" - } - }, - { - "desc" : "Wget", - "ua" : "Wget/1.12 (darwin10.7.0)", - "expect" : - { - "name" : "Wget", - "version" : "1.12", - "major" : "1" - } - }, - { - "desc" : "Winamp", - "ua" : "Winamp 2.81", - "expect" : - { - "name" : "Winamp", - "version" : "2.81", - "major" : "2" - } - }, - { - "desc" : "Winamp", - "ua" : "WinampMPEG/2.00", - "expect" : - { - "name" : "Winamp", - "version" : "2.00", - "major" : "2" - } - }, - { - "desc" : "Windows Media Player", - "ua" : "Windows-Media-Player/10.00.00.4019", - "expect" : - { - "name" : "Windows Media Player", - "version" : "10.00.00.4019", - "major" : "10" - } - }, - { - "desc" : "XBMC", - "ua" : "XBMC/12.0 Git:20130127-fb595f2 (Windows NT 6.1;WOW64;Win64;x64; http://www.xbmc.org)", - "expect" : - { - "name" : "XBMC", - "version" : "12.0", - "major" : "12" - } - }, - { - "desc" : "rad.io", - "ua" : "rad.io 1.18.1 rv:593 (iPhone 4S; iPhone OS 7.0.4; it_IT)", - "expect" : - { - "name" : "rad.io", - "version" : "1.18.1", - "major" : "1" - } - }, - { - "desc" : "BE-Test", - "ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)", - "expect" : - { - "name" : "BE Test", - "version" : "1.0", - "major" : "1" - } } ]