зеркало из https://github.com/openwpm/OpenWPM.git
Bump Firefox to version 45. Bump Selenium to version 2.53.0
This commit is contained in:
Родитель
dffffe606a
Коммит
619023f484
|
@ -133,6 +133,8 @@ def optimize_prefs(fp):
|
|||
fp.set_preference("extensions.update.autoUpdateDefault", False) # addons
|
||||
fp.set_preference("extensions.getAddons.cache.enabled", False)
|
||||
fp.set_preference("lightweightThemes.update.enabled", False) # Personas
|
||||
fp.set_preference("browser.safebrowsing.provider.mozilla.updateURL", "") # Safebrowsing
|
||||
fp.set_preference("browser.safebrowsing.provider.mozilla.lists", "") # Tracking Protection Lists
|
||||
|
||||
# Disable Safebrowsing
|
||||
fp.set_preference("browser.safebrowsing.enabled", False)
|
||||
|
|
Двоичные данные
automation/Extension/firefox/@openwpm-0.0.1.xpi
Двоичные данные
automation/Extension/firefox/@openwpm-0.0.1.xpi
Двоичный файл не отображается.
|
@ -1,22 +1,19 @@
|
|||
// Wrap in a function closure to hide variables
|
||||
(function () {
|
||||
|
||||
// Bypass the Jetpack DOM wrapper
|
||||
let(window = unsafeWindow) {
|
||||
|
||||
// Header guard workaround for Jetpack multiple script loading bug
|
||||
if(typeof window.navigator.instrumented == "undefined") {
|
||||
Object.defineProperty(window.navigator, "instrumented", { get: function() { return true; }});
|
||||
if(typeof unsafeWindow.navigator.instrumented == "undefined") {
|
||||
Object.defineProperty(unsafeWindow.navigator, "instrumented", { get: function() { return true; }});
|
||||
|
||||
// Debugging
|
||||
|
||||
// Default is off, to enable include in your script
|
||||
Object.defineProperty(window.navigator, "instrumented_debugging", { get: function() { return true; }});
|
||||
function debugging() { return window.navigator.instrumentation_debugging; }
|
||||
Object.defineProperty(unsafeWindow.navigator, "instrumented_debugging", { get: function() { return true; }});
|
||||
function debugging() { return unsafeWindow.navigator.instrumentation_debugging; }
|
||||
|
||||
// Debugging tool - last accessed variable
|
||||
var last_accessed = "";
|
||||
Object.defineProperty(window.navigator, "last_accessed", { get: function() { return last_accessed; }});
|
||||
Object.defineProperty(unsafeWindow.navigator, "last_accessed", { get: function() { return last_accessed; }});
|
||||
|
||||
/*
|
||||
* Instrumentation helpers
|
||||
|
@ -307,19 +304,19 @@ function logProperty(object, objectName, property) {
|
|||
// Access to navigator properties
|
||||
var navigatorProperties = [ "appCodeName", "appMinorVersion", "appName", "appVersion", "buildID", "cookieEnabled", "cpuClass", "doNotTrack", "geolocation", "language", "languages", "onLine", "opsProfile", "oscpu", "platform", "product", "productSub", "systemLanguage", "userAgent", "userLanguage", "userProfile", "vendorSub", "vendor" ];
|
||||
navigatorProperties.forEach(function(property) {
|
||||
instrumentObjectProperty(window.navigator, "window.navigator", property);
|
||||
instrumentObjectProperty(unsafeWindow.navigator, "window.navigator", property);
|
||||
});
|
||||
|
||||
// Access to screen properties
|
||||
//instrumentObject(window.screen, "window.screen");
|
||||
var screenProperties = [ "pixelDepth", "colorDepth" ];
|
||||
screenProperties.forEach(function(property) {
|
||||
instrumentObjectProperty(window.screen, "window.screen", property);
|
||||
instrumentObjectProperty(unsafeWindow.screen, "window.screen", property);
|
||||
});
|
||||
|
||||
// Access to plugins
|
||||
for (var i = 0; i < window.navigator.plugins.length; i++) {
|
||||
instrumentObject(window.navigator.plugins[i], "window.navigator.plugins[" + i + "]");
|
||||
for (var i = 0; i < unsafeWindow.navigator.plugins.length; i++) {
|
||||
instrumentObject(unsafeWindow.navigator.plugins[i], "window.navigator.plugins[" + i + "]");
|
||||
}
|
||||
|
||||
// Name, localStorage, and sessionsStorage logging
|
||||
|
@ -329,19 +326,17 @@ for (var i = 0; i < window.navigator.plugins.length; i++) {
|
|||
// of a get for the localStorage object followed by a getItem/setItem for the Storage object.
|
||||
windowProperties = [ "name", "localStorage", "sessionStorage" ];
|
||||
windowProperties.forEach(function(property) {
|
||||
instrumentObjectProperty(window, "window", property);
|
||||
instrumentObjectProperty(unsafeWindow, "window", property);
|
||||
});
|
||||
instrumentObject(window.Storage.prototype, "window.Storage", true);
|
||||
instrumentObject(unsafeWindow.Storage.prototype, "window.Storage", true);
|
||||
|
||||
// Access to canvas
|
||||
instrumentObject(window.HTMLCanvasElement.prototype,"HTMLCanvasElement", true);
|
||||
instrumentObject(unsafeWindow.HTMLCanvasElement.prototype,"HTMLCanvasElement", true);
|
||||
var excludedProperties = [ "quadraticCurveTo", "lineTo", "transform", "globalAlpha", "moveTo", "drawImage" ];
|
||||
instrumentObject(window.CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", true, excludedProperties);
|
||||
instrumentObject(unsafeWindow.CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", true, excludedProperties);
|
||||
|
||||
// Access to webRTC
|
||||
instrumentObject(window.mozRTCPeerConnection.prototype,"mozRTCPeerConnection", true);
|
||||
|
||||
}
|
||||
instrumentObject(unsafeWindow.RTCPeerConnection.prototype,"RTCPeerConnection", true);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -31,10 +31,10 @@ sudo -H pip install -U pyvirtualdisplay beautifulsoup4 pyasn1 PyOPenSSL python-d
|
|||
sudo -H pip install mitmproxy==0.13
|
||||
|
||||
# Install specific version of selenium known to work well with the Firefox install below
|
||||
sudo -H pip install selenium==2.48.0
|
||||
sudo -H pip install selenium==2.53.0
|
||||
|
||||
# Install specific version of Firefox known to work well with the selenium version above
|
||||
wget https://ftp.mozilla.org/pub/firefox/releases/41.0.2/linux-x86_64/en-US/firefox-41.0.2.tar.bz2
|
||||
wget https://ftp.mozilla.org/pub/firefox/releases/45.0.1/linux-x86_64/en-US/firefox-45.0.1.tar.bz2
|
||||
tar jxf firefox*.tar.bz2
|
||||
mv firefox firefox-bin
|
||||
rm firefox*.tar.bz2
|
||||
|
|
Загрузка…
Ссылка в новой задаче