building the UA objects from multiple JSON lists to improve popup's startup performance

This commit is contained in:
Ray Lothian 2019-03-12 10:50:52 +01:00
parent 1a3038ed05
commit 7cfa8fb4db
300 changed files with 454 additions and 252 deletions

View file

@ -1,8 +0,0 @@
ua-parser.min.js:
https://github.com/faisalman/ua-parser-js/blob/master/dist/ua-parser.min.js
Generating the list:
Run
JSON.stringify([...document.querySelectorAll('li a')].map(a => a.textContent))
on
http://www.useragentstring.com/pages/useragentstring.php?typ=Browser

View file

@ -1,167 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="index.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="list" data-loading=true>
<table>
<colgroup>
<col width="40">
<col width="150">
<col width="100">
<col>
</colgroup>
<thead id="filter">
<tr>
<th></th>
<th>
<select id="browser">
<option value="skipped">All (Browser)</option>
<optgroup label="Populars">
<option value="ie">Internet Explorer</option>
<option value="safari">Safari</option>
<option value="chrome">Chrome</option>
<option value="firefox">Firefox</option>
<option value="opera">Opera</option>
<option value="edge">Edge</option>
</optgroup>
<optgroup label="Others">
<option value="webkit">WebKit</option>
<option value="avant">Avant</option>
<option value="maxthon">Maxthon</option>
<option value="arora">Arora</option>
<option value="mozilla">Mozilla</option>
<option value="epiphany">Epiphany</option>
<option value="camino">Camino</option>
<option value="chimera">Chimera</option>
<option value="chromium">Chromium</option>
<option value="comodo dragon">Dragon</option>
<option value="conkeror">conkeror</option>
<option value="conkeror">Conkeror</option>
<option value="dillo">Dillo</option>
<option value="links">Links</option>
<option value="firebird">Firebird</option>
<option value="swiftfox">Swiftfox</option>
<option value="netscape">Netscape</option>
<option value="flock">Flock</option>
<option value="icab">iCab</option>
<option value="iceape">Iceape</option>
<option value="icecat">icecat</option>
<option value="icecat">IceCat</option>
<option value="iceweasel">IceWeasel</option>
<option value="iron">Iron</option>
<option value="k-meleon">Meleon</option>
<option value="konqueror">Konqueror</option>
<option value="lunascape">Lunascape</option>
<option value="lynx">Lynx</option>
<option value="maxthon">MAXTHON</option>
<option value="midori">midori</option>
<option value="midori">Midori</option>
<option value="khtml">KHTML</option>
<option value="mosaic">Mosaic</option>
<option value="netsurf">NetSurf</option>
<option value="omniweb">OmniWeb</option>
<option value="opera tablet">Tablet</option>
<option value="opera mini">Mini</option>
<option value="phoenix">Phoenix</option>
<option value="rockmelt">RockMelt</option>
<option value="mobile safari">Safari</option>
<option value="android browser">Browser</option>
<option value="seamonkey">SeaMonkey</option>
<option value="slim">Slim</option>
<option value="webkit">Webkit</option>
<option value="w3m">w3m</option>
</optgroup>
</select>
</th>
<th>
<select id="os">
<option value="skipped">All (OS)</option>
<optgroup label="Populars">
<option value="windows">Windows</option>
<option value="mac os">Mac OS</option>
<option value="linux">Linux</option>
<option value="chromium os">Chromium OS</option>
<option value="ubuntu">Ubuntu</option>
<option value="debian">Debian</option>
<option value="android">Android</option>
<option value="ios">iOS</option>
</optgroup>
<optgroup label="Others">
<option value="amigaos">AmigaOS</option>
<option value="openbsd">OpenBSD</option>
<option value="beos">BeOS</option>
<option value="haiku">Haiku</option>
<option value="solaris">Solaris</option>
<option value="netbsd">NetBSD</option>
<option value="freebsd">FreeBSD</option>
<option value="slackware">Slackware</option>
<option value="suse">SUSE</option>
<option value="gentoo">gentoo</option>
<option value="fedora">Fedora</option>
<option value="gentoo">Gentoo</option>
<option value="mageia">Mageia</option>
<option value="centos">CentOS</option>
<option value="mint">Mint</option>
<option value="dragonfly">DragonFly</option>
<option value="kubuntu">Kubuntu</option>
<option value="mandriva">Mandriva</option>
<option value="zenwalk">Zenwalk</option>
<option value="unix">Unix</option>
<option value="gnu">GNU</option>
<option value="os/2">OS/2</option>
<option value="aix">AIX</option>
<option value="qnx">QNX</option>
<option value="beos">BEOS</option>
<option value="risc os">RISC OS</option>
<option value="symbian">Symbian</option>
<option value="nintendo">Nintendo</option>
<option value="opensolaris">OpenSolaris</option>
<option value="kubuntu">kubuntu</option>
</optgroup>
</select>
</th>
<th>
User-Agent
<select id="sort">
<option value="true">descending</option>
<option value="false">ascending</option>
</select>
</th>
</tr>
</thead>
<template>
<tr>
<td><input type="radio" name="select"></td>
<td></td>
<td></td>
<td></td>
</tr>
</template>
<tbody></tbody>
</table>
</div>
<div hbox>
<input type="search" id="custom" placeholder="Filter items">
<input type="button" value="Options" title="Open options page" style="margin-left: 2px;" data-cmd="options">
<input type="button" value="Refresh Tab" title="Refresh the current page" data-cmd="refresh">
<input type="button" value="Restart" title="Click to reload the extension. This will cause all the window-based user-agent strings to be cleared" data-cmd="reload">
</div>
<div hbox id="agent" pack="center" align="center">
<span id="info">User-Agent String:</span>&nbsp;
<span flex="1"></span>
<input type="button" value="Apply" title="Set this string as the browser's User-Agent string" data-cmd="apply">
<input type="button" value="Window" title="Set this string as this window's User-Agent string" data-cmd="window">
<input type="button" value="Reset" title="Reset User-Agent string to the default one. This will not reset window-based UA strings. To reset them, use the 'Restart' button" style="margin-left: 2px;" data-cmd="reset">
</div>
<input id="ua" type="text" placeholder="Your preferred user-agent string" title="To set blank user-agent string, use 'empty' keyword">
<div id="explore"></div>
<script src="ua-parser.min.js"></script>
<script src="index.js"></script>
<script async src="matched.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

2
extension/ReadMe.txt Normal file
View file

@ -0,0 +1,2 @@
ua-parser.min.js:
https://github.com/faisalman/ua-parser-js/releases/tag/0.7.19

View file

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -0,0 +1 @@
../../../node/browsers/

View file

@ -96,6 +96,8 @@ select {
height: 30px;
color: #000;
background-color: #e7e7e7;
white-space: nowrap;
padding-left: 10px;
}
#list tr {
cursor: pointer;
@ -139,6 +141,10 @@ select {
#filter td:first-child {
width: 100px;
}
#filter th:last-of-type {
text-align: right;
padding-right: 10px;
}
#agent {
padding: 10px 0;

View file

@ -0,0 +1,83 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="index.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="list" data-loading=true>
<table>
<colgroup>
<col width="40">
<col width="150">
<col width="100">
<col>
</colgroup>
<thead id="filter">
<tr>
<th colspan="3">
<select id="browser">
<optgroup label="Populars">
<option value="Internet Explorer">Internet Explorer</option>
<option value="Safari">Safari</option>
<option value="Chrome">Chrome</option>
<option value="Firefox">Firefox</option>
<option value="Opera">Opera</option>
<option value="Edge">Edge</option>
</optgroup>
<optgroup label="Others"></optgroup>
</select>&nbsp;
<select id="os">
<optgroup label="Populars">
<option value="Windows">Windows</option>
<option value="Mac OS">Mac OS</option>
<option value="Linux">Linux</option>
<option value="Chromium OS">Chromium OS</option>
<option value="Ubuntu">Ubuntu</option>
<option value="Debian">Debian</option>
<option value="Android">Android</option>
<option value="iOS">iOS</option>
</optgroup>
<optgroup label="Others"></optgroup>
</select>
</th>
<th>
User-Agent&nbsp;
<select id="sort">
<option value="true">descending</option>
<option value="false">ascending</option>
</select>
</th>
</tr>
</thead>
<template>
<tr>
<td><input type="radio" name="select"></td>
<td></td>
<td></td>
<td></td>
</tr>
</template>
<tbody></tbody>
</table>
</div>
<div hbox>
<input type="search" id="custom" placeholder="Filter items">
<input type="button" value="Options" title="Open options page" style="margin-left: 2px;" data-cmd="options">
<input type="button" value="Refresh Tab" title="Refresh the current page" data-cmd="refresh">
<input type="button" value="Restart" title="Click to reload the extension. This will cause all the window-based user-agent strings to be cleared" data-cmd="reload">
</div>
<div hbox id="agent" pack="center" align="center">
<span id="info">User-Agent String:</span>&nbsp;
<span flex="1"></span>
<input type="button" value="Apply" title="Set this string as the browser's User-Agent string" data-cmd="apply">
<input type="button" value="Window" title="Set this string as this window's User-Agent string" data-cmd="window">
<input type="button" value="Reset" title="Reset User-Agent string to the default one. This will not reset window-based UA strings. To reset them, use the 'Restart' button" style="margin-left: 2px;" data-cmd="reset">
</div>
<input id="ua" type="text" placeholder="Your preferred user-agent string" title="To set blank user-agent string, use 'empty' keyword">
<div id="explore"></div>
<script src="index.js"></script>
<script async src="matched.js"></script>
</body>
</html>

View file

@ -1,37 +1,8 @@
/* globals UAParser */
'use strict';
document.body.dataset.android = navigator.userAgent.indexOf('Android') !== -1;
var json = [];
function filter(list) {
return list.filter(o => {
const browser = document.getElementById('browser').value;
if (browser && browser !== 'skipped') {
try {
if (o.browser.name.toLowerCase().trim().indexOf(browser.trim()) === -1) {
return false;
}
}
catch (e) {
return false;
}
}
const os = document.getElementById('os').value;
if (os && os !== 'skipped') {
try {
if (o.os.name.toLowerCase().trim().indexOf(os.trim()) === -1) {
return false;
}
}
catch (e) {
return false;
}
}
return true;
});
}
var map = {};
function sort(arr) {
function sort(a = '', b = '') {
@ -62,33 +33,41 @@ function sort(arr) {
return list;
}
function parse(j) {
json = j.map(s => UAParser(s));
}
function update() {
const list = sort(filter(json));
const browser = document.getElementById('browser').value;
const os = document.getElementById('os').value;
const t = document.querySelector('template');
const parent = document.getElementById('list');
const tbody = parent.querySelector('tbody');
tbody.textContent = '';
parent.dataset.loading = true;
window.setTimeout(() => {
const fragment = document.createDocumentFragment();
list.forEach(o => {
const clone = document.importNode(t.content, true);
const second = clone.querySelector('td:nth-child(2)');
second.title = second.textContent = o.browser.name + ' ' + (o.browser.version || ' ');
const third = clone.querySelector('td:nth-child(3)');
third.title = third.textContent = o.os.name + ' ' + (o.os.version || ' ');
const forth = clone.querySelector('td:nth-child(4)');
forth.title = forth.textContent = o.ua;
fragment.appendChild(clone);
});
tbody.appendChild(fragment);
document.getElementById('custom').placeholder = `Filter among ${list.length} "User-Agent" strings`;
fetch('browsers/' + browser + '-' + os.replace(/\//g, '-') + '.json').then(r => r.json()).catch(() => []).then(list => {
if (list) {
const fragment = document.createDocumentFragment();
for (const o of sort(list)) {
const clone = document.importNode(t.content, true);
const second = clone.querySelector('td:nth-child(2)');
second.title = second.textContent = o.browser.name + ' ' + (o.browser.version || ' ');
const third = clone.querySelector('td:nth-child(3)');
third.title = third.textContent = o.os.name + ' ' + (o.os.version || ' ');
const forth = clone.querySelector('td:nth-child(4)');
forth.title = forth.textContent = o.ua;
fragment.appendChild(clone);
}
tbody.appendChild(fragment);
document.getElementById('custom').placeholder = `Filter among ${list.length} "User-Agent" strings`;
[...document.getElementById('os').querySelectorAll('option')].forEach(option => {
option.disabled = map[browser][option.value] !== true;
});
}
else {
throw Error('OS is not found');
}
}).finally(() => {
parent.dataset.loading = false;
}, 1000);
});
}
document.addEventListener('change', ({target}) => {
@ -101,6 +80,29 @@ document.addEventListener('change', ({target}) => {
document.getElementById('ua').dispatchEvent(new Event('input'));
}
});
document.addEventListener('DOMContentLoaded', () => fetch('./map.json').then(r => r.json())
.then(o => {
Object.assign(map, o);
const OSs = new Set();
const f1 = document.createDocumentFragment();
const f2 = document.createDocumentFragment();
Object.keys(map).sort().forEach(s => {
Object.keys(map[s]).forEach(s => OSs.add(s));
const option = document.createElement('option');
option.value = option.textContent = s;
f1.appendChild(option);
});
document.querySelector('#browser optgroup:last-of-type').appendChild(f1);
document.getElementById('browser').value = localStorage.getItem('browser') || 'Chrome';
for (const os of Array.from(OSs).sort()) {
const option = document.createElement('option');
option.value = option.textContent = os;
f2.appendChild(option);
}
document.querySelector('#os optgroup:last-of-type').appendChild(f2);
document.getElementById('os').value = localStorage.getItem('os') || 'Windows';
update();
}));
document.getElementById('list').addEventListener('click', ({target}) => {
const tr = target.closest('tr');
@ -121,9 +123,6 @@ document.getElementById('custom').addEventListener('keyup', ({target}) => {
.forEach(tr => tr.dataset.matched = tr.textContent.toLowerCase().indexOf(value.toLowerCase()) !== -1);
});
// init
document.getElementById('os').value = localStorage.getItem('os') || 'windows';
document.getElementById('browser').value = localStorage.getItem('browser') || 'chrome';
chrome.storage.local.get({
ua: ''
}, prefs => document.getElementById('ua').value = prefs.ua || navigator.userAgent);
@ -133,18 +132,6 @@ chrome.storage.onChanged.addListener(prefs => {
document.getElementById('ua').dispatchEvent(new Event('input'));
}
});
window.addEventListener('load', () => {
window.setTimeout(() => {
const req = new XMLHttpRequest();
req.onload = () => {
parse(req.response);
update();
};
req.open('GET', 'list.json');
req.responseType = 'json';
req.send();
}, 100);
});
function msg(msg) {
const info = document.getElementById('info');

View file

Before

Width:  |  Height:  |  Size: 404 B

After

Width:  |  Height:  |  Size: 404 B

View file

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -0,0 +1 @@
../../../node/map.json

View file

@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "User-Agent Switcher and Manager",
"short_name": "useragent-switcher",
"version": "0.2.6",
"version": "0.2.7",
"description": "Spoofs User-Agent strings of your browser with a new one globally, randomly or per hostname",
@ -30,7 +30,7 @@
},
"background":{
"scripts":[
"data/popup/ua-parser.min.js",
"ua-parser.min.js",
"common.js"
]
},
@ -58,7 +58,7 @@
"applications": {
"gecko": {
"id": "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}",
"strict_min_version": "52.0"
"strict_min_version": "57.0"
}
}
}

9
extension/ua-parser.min.js vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows; U; Windows CE; Mobile; like Android; ko-kr) AppleWebKit/533.3 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.3 Dorothy","browser":{"name":"Android Browser","version":"4.0","major":"4"},"engine":{"name":"WebKit","version":"533.3"},"os":{"name":"Windows","version":"CE"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 2.2; Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4","browser":{"name":"Android Browser","version":"5.0.3","major":"5"},"engine":{"name":"WebKit","version":"533.19.4"},"os":{"name":"Windows","version":"7"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6 (Change: )","browser":{"name":"Arora","version":"0.6","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"Vista"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6 (Change: )","browser":{"name":"Arora","version":"0.6","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.4 (Change: )","browser":{"name":"Arora","version":"0.4","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"Vista"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 6.0; de-DE) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.4 (Change: )","browser":{"name":"Arora","version":"0.4","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"Vista"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.2; pt-BR) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.4 (Change: )","browser":{"name":"Arora","version":"0.4","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.4 (Change: )","browser":{"name":"Arora","version":"0.4","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)","browser":{"name":"Arora","version":"0.3","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-BE) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)","browser":{"name":"Arora","version":"0.3","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)","browser":{"name":"Arora","version":"0.3","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 6.0; de-DE) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2","browser":{"name":"Arora","version":"0.2","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"Vista"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2","browser":{"name":"Arora","version":"0.2","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2","browser":{"name":"Arora","version":"0.2","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; de-CH) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2","browser":{"name":"Arora","version":"0.2","major":"0"},"engine":{"name":"WebKit","version":"523.15"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) Arora/0.11.0 Safari/534.34","browser":{"name":"Arora","version":"0.11.0","major":"0"},"engine":{"name":"WebKit","version":"534.34"},"os":{"name":"Windows","version":"7"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-MY) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.10.0","browser":{"name":"Arora","version":"0.10.0","major":"0"},"engine":{"name":"WebKit","version":"527"},"os":{"name":"Windows","version":"Vista"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.340) AppleWebKit/530+ (KHTML, like Gecko) Version/4.0 Safari/530.17 UNTRUSTED/1.0 3gpp-gba","browser":{"name":"BOLT","version":"2.340","major":"2"},"engine":{"name":"WebKit","version":"530"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16; 160x160","browser":{"name":"Blazer","version":"3.0","major":"3"},"engine":{},"os":{"name":"Windows","version":"95"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; pl-PL; rv:1.0.1) Gecko/20021111 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; pl-PL; rv:1.0.1) Gecko/20021111 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20021111 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20021104 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20030111 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS","version":"Mach"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20030109 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS","version":"Mach"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20021220 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS","version":"Mach"},"device":{},"cpu":{"architecture":"ppc"}},{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20021216 Chimera/0.6","browser":{"name":"Chimera","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.0.1"},"os":{"name":"Mac OS","version":"Mach"},"device":{},"cpu":{"architecture":"ppc"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Linux; Android 7.1.2; Redmi Note 5A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.111 Mobile Safari/537.36","browser":{"name":"Chrome WebView","version":"63.0.3239.111","major":"63"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"7.1.2"},"device":{"vendor":"Xiaomi","model":"Redmi Note 5A","type":"mobile"},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Linux; Android 7.0; SM-G920F Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36","browser":{"name":"Chrome","version":"62.0.3202.84","major":"62"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"7.0"},"device":{"vendor":"Samsung","model":"SM-G920F","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36","browser":{"name":"Chrome","version":"34.0.1847.114","major":"34"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"4.4.2"},"device":{"vendor":"LG","model":"Nexus 4","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36","browser":{"name":"Chrome","version":"59.0.3071.125","major":"59"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"7.0"},"device":{"vendor":"Samsung","model":"SM-G930V","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36","browser":{"name":"Chrome","version":"52.0.2743.98","major":"52"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"6.0.1"},"device":{"vendor":"Samsung","model":"SM-G920V","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)","browser":{"name":"Chrome","version":"41.0.2272.96","major":"41"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"6.0.1"},"device":{"vendor":"LG","model":"Nexus 5","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; U; Android-4.0.3; en-us; Xoom Build/IML77) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.75 Safari/535.7","browser":{"name":"Chrome","version":"16.0.912.75","major":"16"},"engine":{"name":"WebKit","version":"535.7"},"os":{"name":"Android","version":"4.0.3"},"device":{"vendor":"Motorola","model":"Xoom","type":"tablet"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 8.1.0; INE-LX2 Build/HUAWEIINE-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36","browser":{"name":"Chrome","version":"68.0.3440.91","major":"68"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"8.1.0"},"device":{"vendor":"Huawei","model":"INE-LX2","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 6.0.1; vivo 1603 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.83 Mobile Safari/537.36","browser":{"name":"Chrome","version":"58.0.3029.83","major":"58"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"6.0.1"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 4.4.4; GT-I9060I Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Mobile Safari/537.36","browser":{"name":"Chrome","version":"67.0.3396.87","major":"67"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"4.4.4"},"device":{"vendor":"Samsung","model":"GT-I9060I","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko; googleweblight) Chrome/38.0.1025.166 Mobile Safari/535.19","browser":{"name":"Chrome","version":"38.0.1025.166","major":"38"},"engine":{"name":"WebKit","version":"535.19"},"os":{"name":"Android","version":"4.2.1"},"device":{"vendor":"LG","model":"Nexus 5","type":"mobile"},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.4 (KHTML, like Gecko) Chrome/4.0.237.0 Safari/532.4 Debian","browser":{"name":"Chrome","version":"4.0.237.0","major":"4"},"engine":{"name":"WebKit","version":"532.4"},"os":{"name":"Debian"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36","browser":{"name":"Chrome","version":"63.0.3239.132","major":"63"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Fedora"},"device":{},"cpu":{"architecture":"amd64"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/536.5 (KHTML like Gecko) Chrome/19.0.1084.56 Safari/1EA69","browser":{"name":"Chrome","version":"19.0.1084.56","major":"19"},"engine":{"name":"WebKit","version":"536.5"},"os":{"name":"FreeBSD","version":"amd64"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.65 Safari/535.11","browser":{"name":"Chrome","version":"17.0.963.65","major":"17"},"engine":{"name":"WebKit","version":"535.11"},"os":{"name":"FreeBSD","version":"amd64"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; FreeBSD i386) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2","browser":{"name":"Chrome","version":"15.0.874.121","major":"15"},"engine":{"name":"WebKit","version":"535.2"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16","browser":{"name":"Chrome","version":"10.0.648.204","major":"10"},"engine":{"name":"WebKit","version":"534.16"},"os":{"name":"FreeBSD","version":"x86_64"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD i386; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16","browser":{"name":"Chrome","version":"10.0.648.204","major":"10"},"engine":{"name":"WebKit","version":"534.16"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD i386; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.207.0 Safari/532.0","browser":{"name":"Chrome","version":"4.0.207.0","major":"4"},"engine":{"name":"WebKit","version":"532.0"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36","browser":{"name":"Chrome","version":"27.0.1453.116","major":"27"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"NetBSD"},"device":{},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36","browser":{"name":"Chrome","version":"36.0.1985.125","major":"36"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"OpenBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; OpenBSD i386; en-US) AppleWebKit/533.3 (KHTML, like Gecko) Chrome/5.0.359.0 Safari/533.3","browser":{"name":"Chrome","version":"5.0.359.0","major":"5"},"engine":{"name":"WebKit","version":"533.3"},"os":{"name":"OpenBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.125 Safari/537.36","browser":{"name":"Chrome","version":"43.0.2357.125","major":"43"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"OpenBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 SUSE/10.0.626.0 (KHTML, like Gecko) Chrome/10.0.626.0 Safari/534.16","browser":{"name":"Chrome","version":"10.0.626.0","major":"10"},"engine":{"name":"WebKit","version":"534.16"},"os":{"name":"SUSE","version":"10.0.626.0"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.1 SUSE/6.0.428.0 (KHTML, like Gecko) Chrome/6.0.428.0 Safari/534.1","browser":{"name":"Chrome","version":"6.0.428.0","major":"6"},"engine":{"name":"WebKit","version":"534.1"},"os":{"name":"SUSE","version":"6.0.428.0"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41","browser":{"name":"Chrome","version":"13.0.782.41","major":"13"},"engine":{"name":"WebKit","version":"535.1"},"os":{"name":"Slackware","version":"13.37"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/12.0.742.91","browser":{"name":"Chrome","version":"12.0.742.91","major":"12"},"engine":{"name":"WebKit","version":"534.16"},"os":{"name":"Slackware","version":"13.37"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Slackware/Chrome/12.0.742.100 Safari/534.30","browser":{"name":"Chrome","version":"12.0.742.100","major":"12"},"engine":{"name":"WebKit","version":"534.30"},"os":{"name":"Slackware"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/11.0.696.50","browser":{"name":"Chrome","version":"11.0.696.50","major":"11"},"engine":{"name":"WebKit","version":"534.16"},"os":{"name":"Slackware","version":"13.37"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Slackware Linux x86_64; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.30 Safari/532.5","browser":{"name":"Chrome","version":"4.0.249.30","major":"4"},"engine":{"name":"WebKit","version":"532.5"},"os":{"name":"Slackware","version":"Linux"},"device":{},"cpu":{"architecture":"amd64"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/540.0 (KHTML, like Gecko) Ubuntu/10.10 Chrome/9.1.0.0 Safari/540.0","browser":{"name":"Chrome","version":"9.1.0.0","major":"9"},"engine":{"name":"WebKit","version":"540.0"},"os":{"name":"Ubuntu","version":"10.10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/540.0 (KHTML, like Gecko) Ubuntu/10.10 Chrome/8.1.0.0 Safari/540.0","browser":{"name":"Chrome","version":"8.1.0.0","major":"8"},"engine":{"name":"WebKit","version":"540.0"},"os":{"name":"Ubuntu","version":"10.10"},"device":{},"cpu":{"architecture":"amd64"}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) CriOS/51.0.2704.104 Mobile/13F69 Safari/601.1.46","browser":{"name":"Chrome","version":"51.0.2704.104","major":"51"},"engine":{"name":"WebKit","version":"601.1"},"os":{"name":"iOS","version":"9.3.2"},"device":{"vendor":"Apple","model":"iPhone","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/47.0.2526.70 Mobile/12B436 Safari/600.1.4 (000410)","browser":{"name":"Chrome","version":"47.0.2526.70","major":"47"},"engine":{"name":"WebKit","version":"600.1.4"},"os":{"name":"iOS","version":"8.1.1"},"device":{"vendor":"Apple","model":"iPhone","type":"mobile"},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Chromium/12.0.742.91 Safari/534.30","browser":{"name":"Chromium","version":"12.0.742.91","major":"12"},"engine":{"name":"WebKit","version":"534.30"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5","browser":{"name":"Comodo Dragon","version":"4.1.1.11","major":"4"},"engine":{"name":"WebKit","version":"532.5"},"os":{"name":"Linux","version":"x86_64"},"device":{},"cpu":{"architecture":"amd64"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.7 (KHTML, like Gecko) Comodo_Dragon/16.1.1.0 Chrome/16.0.912.63 Safari/535.7","browser":{"name":"Comodo Dragon","version":"16.1.1.0","major":"16"},"engine":{"name":"WebKit","version":"535.7"},"os":{"name":"Windows","version":"8"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Comodo_Dragon/12.1.0.0 Chrome/12.0.742.91 Safari/534.30","browser":{"name":"Comodo Dragon","version":"12.1.0.0","major":"12"},"engine":{"name":"WebKit","version":"534.30"},"os":{"name":"Windows","version":"7"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Comodo_Dragon/12.1.0.0 Chrome/12.0.742.91 Safari/534.30","browser":{"name":"Comodo Dragon","version":"12.1.0.0","major":"12"},"engine":{"name":"WebKit","version":"534.30"},"os":{"name":"Windows","version":"7"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Comodo_Dragon/12.1.0.0 Chrome/12.0.742.91 Safari/534.30","browser":{"name":"Comodo Dragon","version":"12.1.0.0","major":"12"},"engine":{"name":"WebKit","version":"534.30"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5","browser":{"name":"Comodo Dragon","version":"4.1.1.11","major":"4"},"engine":{"name":"WebKit","version":"532.5"},"os":{"name":"Windows","version":"XP"},"device":{},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.14977","browser":{"name":"Edge","version":"15.14977","major":"15"},"engine":{"name":"EdgeHTML","version":"15.14977"},"os":{"name":"Windows Phone","version":"10.0"},"device":{"vendor":"Microsoft","model":"Lumia 950","type":"mobile"},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063","browser":{"name":"Edge","version":"15.15063","major":"15"},"engine":{"name":"EdgeHTML","version":"15.15063"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393","browser":{"name":"Edge","version":"14.14393","major":"14"},"engine":{"name":"EdgeHTML","version":"14.14393"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246","browser":{"name":"Edge","version":"12.246","major":"12"},"engine":{"name":"EdgeHTML","version":"12.246"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134","browser":{"name":"Edge","version":"17.17134","major":"17"},"engine":{"name":"EdgeHTML","version":"17.17134"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299","browser":{"name":"Edge","version":"16.16299","major":"16"},"engine":{"name":"EdgeHTML","version":"16.16299"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299","browser":{"name":"Edge","version":"16.16299","major":"16"},"engine":{"name":"EdgeHTML","version":"16.16299"},"os":{"name":"Windows","version":"10"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.8) Gecko/20080528 Fedora/2.24.3-4.fc10 Epiphany/2.22 Firefox/3.0","browser":{"name":"Epiphany","version":"2.22","major":"2"},"engine":{"name":"Gecko","version":"1.9.0.8"},"os":{"name":"Fedora","version":"2.24.3-4.fc10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en; rv:1.9.0.5) Gecko/20080528 Fedora/2.24.1-3.fc10 Epiphany/2.22 Firefox/3.0","browser":{"name":"Epiphany","version":"2.22","major":"2"},"engine":{"name":"Gecko","version":"1.9.0.5"},"os":{"name":"Fedora","version":"2.24.1-3.fc10"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.8.1.14) Gecko/20080616 Fedora/2.20.3-4.fc8 Epiphany/2.20 Firefox/2.0.0.14","browser":{"name":"Epiphany","version":"2.20","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.14"},"os":{"name":"Fedora","version":"2.20.3-4.fc8"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.1.14) Gecko/20080416 Fedora/2.18.3-9.fc7 Epiphany/2.18 Firefox/2.0.0.14","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.14"},"os":{"name":"Fedora","version":"2.18.3-9.fc7"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; FreeBSD amd64; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.30.0","browser":{"name":"Epiphany","version":"2.30.0","major":"2"},"engine":{"name":"WebKit","version":"531.2"},"os":{"name":"FreeBSD","version":"amd64"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD i386; pl; rv:1.8.1.12) Gecko/20080213 Epiphany/2.20 Firefox/2.0.0.12","browser":{"name":"Epiphany","version":"2.20","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.12"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD i386; en; rv:1.8.1.12) Gecko/20080213 Epiphany/2.20 Firefox/2.0.0.12","browser":{"name":"Epiphany","version":"2.20","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.12"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1) Gecko/20070322 Epiphany/2.18","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1"},"os":{"name":"FreeBSD","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux i686; en; rv:1.9) Gecko/20080528 (Gentoo) Epiphany/2.22 Firefox/3.0","browser":{"name":"Epiphany","version":"2.22","major":"2"},"engine":{"name":"Gecko","version":"1.9"},"os":{"name":"Gentoo"},"device":{},"cpu":{"architecture":"ia32"}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; OpenBSD arm; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.30.0","browser":{"name":"Epiphany","version":"2.30.0","major":"2"},"engine":{"name":"WebKit","version":"531.2"},"os":{"name":"OpenBSD","version":"arm"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (X11; U; OpenBSD amd64; en; rv:1.8.1.6) Gecko/20070817 Epiphany/2.18 Firefox/2.0.0.6","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.6"},"os":{"name":"OpenBSD","version":"amd64"},"device":{},"cpu":{"architecture":"amd64"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; zh-cn) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.28.2 SUSE/2.28.0-2.4","browser":{"name":"Epiphany","version":"2.28.2","major":"2"},"engine":{"name":"WebKit","version":"531.2"},"os":{"name":"SUSE","version":"2.28.0-2.4"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; zh-cn) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.28.0 SUSE/2.28.0-2.4","browser":{"name":"Epiphany","version":"2.28.0","major":"2"},"engine":{"name":"WebKit","version":"531.2"},"os":{"name":"SUSE","version":"2.28.0-2.4"},"device":{},"cpu":{"architecture":"amd64"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; SunOS 5.11; en-US; rv:1.8.0.2) Gecko/20050405 Epiphany/1.7.1","browser":{"name":"Epiphany","version":"1.7.1","major":"1"},"engine":{"name":"Gecko","version":"1.8.0.2"},"os":{"name":"Solaris","version":"5.11"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20050105 Epiphany/1.4.8","browser":{"name":"Epiphany","version":"1.4.8","major":"1"},"engine":{"name":"Gecko","version":"1.7.5"},"os":{"name":"Solaris","version":"sun4u"},"device":{},"cpu":{"architecture":"sparc"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; it-it) AppleWebKit/534.26+ (KHTML, like Gecko) Ubuntu/11.04 Epiphany/2.30.6","browser":{"name":"Epiphany","version":"2.30.6","major":"2"},"engine":{"name":"WebKit","version":"534.26"},"os":{"name":"Ubuntu","version":"11.04"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.14) Gecko/20080528 Ubuntu/9.10 (karmic) Epiphany/2.22 Firefox/3.0","browser":{"name":"Epiphany","version":"2.22","major":"2"},"engine":{"name":"Gecko","version":"1.9.0.14"},"os":{"name":"Ubuntu","version":"9.10"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.8.1.4) Gecko/20061201 Epiphany/2.18 Firefox/2.0.0.4 (Ubuntu-feisty)","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.4"},"os":{"name":"Ubuntu","version":"feisty"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.8.1.3) Gecko/20061201 Epiphany/2.18 Firefox/2.0.0.3 (Ubuntu-feisty)","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.3"},"os":{"name":"Ubuntu","version":"feisty"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.1.3) Gecko/20061201 Epiphany/2.18 Firefox/2.0.0.3 (Ubuntu-feisty)","browser":{"name":"Epiphany","version":"2.18","major":"2"},"engine":{"name":"Gecko","version":"1.8.1.3"},"os":{"name":"Ubuntu","version":"feisty"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.0.7) Gecko/20060928 Epiphany/2.14 (Ubuntu)","browser":{"name":"Epiphany","version":"2.14","major":"2"},"engine":{"name":"Gecko","version":"1.8.0.7"},"os":{"name":"Ubuntu"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.5) Gecko/20060731 Ubuntu/dapper-security Epiphany/2.14 Firefox/1.5.0.5","browser":{"name":"Epiphany","version":"2.14","major":"2"},"engine":{"name":"Gecko","version":"1.8.0.5"},"os":{"name":"Ubuntu","version":"dapper-security"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Epiphany/2.14 Firefox/1.5.0.4","browser":{"name":"Epiphany","version":"2.14","major":"2"},"engine":{"name":"Gecko","version":"1.8.0.4"},"os":{"name":"Ubuntu","version":"dapper-security"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.3) Gecko/20060523 Ubuntu/dapper Epiphany/2.14 Firefox/1.5.0.3","browser":{"name":"Epiphany","version":"2.14","major":"2"},"engine":{"name":"Gecko","version":"1.8.0.3"},"os":{"name":"Ubuntu","version":"dapper"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.7.12) Gecko/20051010 Epiphany/1.8.2 (Ubuntu) (Ubuntu package 1.0.7)","browser":{"name":"Epiphany","version":"1.8.2","major":"1"},"engine":{"name":"Gecko","version":"1.7.12"},"os":{"name":"Ubuntu"},"device":{},"cpu":{"architecture":"amd64"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20051010 Epiphany/1.8.2 (Ubuntu) (Ubuntu package 1.0.7)","browser":{"name":"Epiphany","version":"1.8.2","major":"1"},"engine":{"name":"Gecko","version":"1.7.12"},"os":{"name":"Ubuntu"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)","browser":{"name":"Epiphany","version":"1.4.4","major":"1"},"engine":{"name":"Gecko","version":"1.7.3"},"os":{"name":"Ubuntu"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)","browser":{"name":"Epiphany","version":"1.4.4","major":"1"},"engine":{"name":"Gecko","version":"1.7.3"},"os":{"name":"Ubuntu"},"device":{},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Linux; Android 7.0; BLL-L22 Build/HUAWEIBLL-L22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.83 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/196.0.0.41.95;]","browser":{"name":"Facebook","version":"196.0.0.41.95","major":"196"},"engine":{"name":"WebKit","version":"537.36"},"os":{"name":"Android","version":"7.0"},"device":{"vendor":"Huawei","model":"BLL-L22","type":"mobile"},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 [FBAN/FBIOS;FBAV/59.0.0.51.142;FBBV/33266808;FBRV/0;FBDV/iPhone7,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/9.3.2;FBSS/3;FBCR/Telkomsel;FBID/phone;FBLC/en_US;FBOP/5]","browser":{"name":"Facebook","version":"59.0.0.51.142","major":"59"},"engine":{"name":"WebKit","version":"601.1.46"},"os":{"name":"iOS","version":"9.3.2"},"device":{"vendor":"Apple","model":"iPhone","type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 [FBAN/FBIOS;FBAV/210.0.0.37.117;FBBV/143754374;FBDV/iPhone10,2;FBMD/iPhone;FBSN/iOS;FBSV/12.1.4;FBSS/3;FBCR/Sprint;FBID/phone;FBLC/en_US;FBOP/5;FBRV/145485529]","browser":{"name":"Facebook","version":"210.0.0.37.117","major":"210"},"engine":{"name":"WebKit","version":"605.1.15"},"os":{"name":"iOS","version":"12.1.4"},"device":{"vendor":"Apple","model":"iPhone","type":"mobile"},"cpu":{}}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110517 Firefox/5.0 Fennec/5.0","browser":{"name":"Fennec","version":"5.0","major":"5"},"engine":{"name":"Gecko","version":"5.0"},"os":{"name":"Mac OS","version":"10.6"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.1) Gecko/20110318 Firefox/4.0b13pre Fennec/4.0","browser":{"name":"Fennec","version":"4.0","major":"4"},"engine":{"name":"Gecko","version":"2.1"},"os":{"name":"Mac OS","version":"10.6"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090626 Fennec/1.0b2","browser":{"name":"Fennec","version":"1.0b2","major":"1"},"engine":{"name":"Gecko","version":"1.9.2a1pr"},"os":{"name":"Mac OS","version":"10.5"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1","browser":{"name":"Fennec","version":"1.0a1","major":"1"},"engine":{"name":"Gecko","version":"1.9.1b2pr"},"os":{"name":"Mac OS","version":"10.6"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1","browser":{"name":"Firebird","version":"0.6.1","major":"0"},"engine":{"name":"Gecko","version":"1.5a"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030630 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4b"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030607 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4b"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030516 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4b"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030505 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4b"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030425 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4a"},"os":{"name":"Linux","version":"i686"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.5) Gecko/20031026 Firebird/0.7","browser":{"name":"Firebird","version":"0.7","major":"0"},"engine":{"name":"Gecko","version":"1.5"},"os":{"name":"Mac OS","version":"Mach"},"device":{},"cpu":{"architecture":"ppc"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.5a) Gecko/20030729 Mozilla Firebird/0.6.1","browser":{"name":"Firebird","version":"0.6.1","major":"0"},"engine":{"name":"Gecko","version":"1.5a"},"os":{"name":"Solaris","version":"sun4u"},"device":{},"cpu":{"architecture":"sparc"}},{"ua":"Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4b) Gecko/20030517 Mozilla Firebird/0.6","browser":{"name":"Firebird","version":"0.6","major":"0"},"engine":{"name":"Gecko","version":"1.4b"},"os":{"name":"Solaris","version":"sun4u"},"device":{},"cpu":{"architecture":"sparc"}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (Android 7.0; Mobile; rv:57.0) Gecko/57.0 Firefox/57.0","browser":{"name":"Firefox","version":"57.0","major":"57"},"engine":{"name":"Gecko","version":"57.0"},"os":{"name":"Android","version":"7.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 7.0; Mobile; rv:54.0) Gecko/54.0 Firefox/54.0","browser":{"name":"Firefox","version":"54.0","major":"54"},"engine":{"name":"Gecko","version":"54.0"},"os":{"name":"Android","version":"7.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android; U; Android; pl; rv:1.9.2.8) Gecko/20100202 Firefox/3.5.8","browser":{"name":"Firefox","version":"3.5.8","major":"3"},"engine":{"name":"Gecko","version":"1.9.2.8"},"os":{"name":"Android"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (Android 7.0; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0","browser":{"name":"Firefox","version":"60.0","major":"60"},"engine":{"name":"Gecko","version":"60.0"},"os":{"name":"Android","version":"7.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 4.4.2; Mobile; rv:61.0) Gecko/61.0 Firefox/61.0","browser":{"name":"Firefox","version":"61.0","major":"61"},"engine":{"name":"Gecko","version":"61.0"},"os":{"name":"Android","version":"4.4.2"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 7.0; Mobile; rv:61.0) Gecko/61.0 Firefox/61.0","browser":{"name":"Firefox","version":"61.0","major":"61"},"engine":{"name":"Gecko","version":"61.0"},"os":{"name":"Android","version":"7.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 5.0.2; Mobile; rv:61.0) Gecko/61.0 Firefox/61.0","browser":{"name":"Firefox","version":"61.0","major":"61"},"engine":{"name":"Gecko","version":"61.0"},"os":{"name":"Android","version":"5.0.2"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 8.0.0; Mobile; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"8.0.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 7.0; Mobile; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"7.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 8.1.0; Mobile; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"8.1.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 9; Mobile; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"9"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 4.4.4; Mobile; rv:64.0) Gecko/64.0 Firefox/64.0","browser":{"name":"Firefox","version":"64.0","major":"64"},"engine":{"name":"Gecko","version":"64.0"},"os":{"name":"Android","version":"4.4.4"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 6.0.1; Tablet; rv:64.0) Gecko/64.0 Firefox/64.0","browser":{"name":"Firefox","version":"64.0","major":"64"},"engine":{"name":"Gecko","version":"64.0"},"os":{"name":"Android","version":"6.0.1"},"device":{"type":"tablet"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 6.0; Mobile; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"6.0"},"device":{"type":"mobile"},"cpu":{}},{"ua":"Mozilla/5.0 (Android 7.1.2; Tablet; rv:65.0) Gecko/65.0 Firefox/65.0","browser":{"name":"Firefox","version":"65.0","major":"65"},"engine":{"name":"Gecko","version":"65.0"},"os":{"name":"Android","version":"7.1.2"},"device":{"type":"tablet"},"cpu":{}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.8.1b2) Gecko/20060901 Firefox/2.0b2","browser":{"name":"Firefox","version":"2.0b2","major":"2"},"engine":{"name":"Gecko","version":"1.8.1b2"},"os":{"name":"BeOS"},"device":{},"cpu":{}},{"ua":"Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051002 Firefox/1.6a1","browser":{"name":"Firefox","version":"1.6a1","major":"1"},"engine":{"name":"Gecko","version":"1.9a1"},"os":{"name":"BeOS"},"device":{},"cpu":{}}]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060313 Debian/1.5.dfsg+1.5.0.1-4 Firefox/1.5.0.1","browser":{"name":"Firefox","version":"1.5.0.1","major":"1"},"engine":{"name":"Gecko","version":"1.8.0.1"},"os":{"name":"Debian","version":"1.5.dfsg"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8) Gecko/20060110 Debian/1.5.dfsg-4 Firefox/1.5","browser":{"name":"Firefox","version":"1.5","major":"1"},"engine":{"name":"Gecko","version":"1.8"},"os":{"name":"Debian","version":"1.5.dfsg-4"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060119 Debian/1.5.dfsg-4ubuntu3 Firefox/1.5","browser":{"name":"Firefox","version":"1.5","major":"1"},"engine":{"name":"Gecko","version":"1.8"},"os":{"name":"Debian","version":"1.5.dfsg-4ubuntu3"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060110 Debian/1.5.dfsg-4 Firefox/1.5","browser":{"name":"Firefox","version":"1.5","major":"1"},"engine":{"name":"Gecko","version":"1.8"},"os":{"name":"Debian","version":"1.5.dfsg-4"},"device":{},"cpu":{"architecture":"ia32"}}]

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; DragonFly i386; de; rv:1.9.1) Gecko/20090720 Firefox/3.5.1","browser":{"name":"Firefox","version":"3.5.1","major":"3"},"engine":{"name":"Gecko","version":"1.9.1"},"os":{"name":"DragonFly","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; DragonFly i386; de; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2","browser":{"name":"Firefox","version":"3.1b2","major":"3"},"engine":{"name":"Gecko","version":"1.9.1b2"},"os":{"name":"DragonFly","version":"i386"},"device":{},"cpu":{"architecture":"ia32"}}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
[{"ua":"Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.7) Gecko/2009030422 Kubuntu/8.10 (intrepid) Firefox/3.0.9","browser":{"name":"Firefox","version":"3.0.9","major":"3"},"engine":{"name":"Gecko","version":"1.9.0.7"},"os":{"name":"Kubuntu","version":"8.10"},"device":{},"cpu":{"architecture":"ia32"}},{"ua":"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.1) Gecko/2008072820 Kubuntu/8.04 (hardy) Firefox/3.0.1","browser":{"name":"Firefox","version":"3.0.1","major":"3"},"engine":{"name":"Gecko","version":"1.9.0.1"},"os":{"name":"Kubuntu","version":"8.04"},"device":{},"cpu":{"architecture":"amd64"}}]

Some files were not shown because too many files have changed in this diff Show more