Telegram Web, preconfigured for usage in I2P.
http://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
1.8 KiB
94 lines
1.8 KiB
var fs = require('fs'), path = require('path'); |
|
var uaList = fs.readFileSync(path.join(__dirname, 'ua.txt')); |
|
|
|
|
|
uaList = uaList.toString().split('\n'); |
|
|
|
|
|
var OSs = {}; |
|
var browsers = {}; |
|
var browserVersions = {}; |
|
var unknown = []; |
|
|
|
var osMatch = { |
|
ios: /iOS|iPhone OS/i, |
|
android: /Android/i, |
|
linux: /Linux/i, |
|
win: /Windows/i, |
|
osx: /Mac|OS X/i, |
|
blackberry: /BlackBerry|BB10/i, |
|
series60: /Series 60|Series60/i, |
|
series40: /Series 40|Series40/i, |
|
j2me: /J2ME|MIDP/i |
|
}; |
|
|
|
var browserMatch = { |
|
opera: /opera/i, |
|
ie: /msie|trident\//i, |
|
chrome: /chrome/i, |
|
chromium: /chromium/i, |
|
safari: /safari|AppleWebKit/i, |
|
firefox: /firefox/i, |
|
blackberry: /BlackBerry/i |
|
}; |
|
|
|
var featureMatch = { |
|
ipad: /ipad/i, |
|
opera_mobile: /opera mini|opera mobi/i, |
|
opera_mini: /opera mini/i, |
|
blackberry: /blackberry/i |
|
}; |
|
|
|
uaList.forEach(function (uaName) { |
|
var os = 'unknown'; |
|
for (var curOs in osMatch) { |
|
if (uaName.match(osMatch[curOs])) { |
|
os = curOs; |
|
break; |
|
} |
|
} |
|
|
|
var browser = 'unknown'; |
|
for (var curBrowser in browserMatch) { |
|
if (uaName.match(browserMatch[curBrowser])) { |
|
browser = curBrowser; |
|
break; |
|
} |
|
} |
|
|
|
var version = ( |
|
uaName.match(/MSIE ([\d.]+)/) || |
|
uaName.match( /.+(?:me|ox|on|rv|it|era|opr|ie)[\/: ]([\d.]+)/) || |
|
[0,'0'] |
|
)[1]; |
|
|
|
if (!OSs[os]) { |
|
OSs[os] = 1; |
|
} else { |
|
OSs[os]++; |
|
} |
|
|
|
if (!browsers[os + ' ' + browser]) { |
|
browsers[os + ' ' + browser] = 1; |
|
} else { |
|
browsers[os + ' ' + browser]++; |
|
} |
|
|
|
if (os == 'unknown' || browser == 'unknown') { |
|
unknown.push(uaName); |
|
} |
|
|
|
if (!browserVersions[os + ' ' + browser + ' ' + version]) { |
|
browserVersions[os + ' ' + browser + ' ' + version] = 1; |
|
} else { |
|
browserVersions[os + ' ' + browser + ' ' + version]++; |
|
} |
|
|
|
}) |
|
|
|
|
|
console.log(OSs); |
|
console.log(browsers); |
|
console.log(browserVersions); |
|
// console.log(unknown); |
|
|
|
|