I think you use by default Win32 as navigator.platform. Your plugin also allows to override it according to the User Agent I think.
But regardless how you populate navigator.platform, it seems to stay
"platform": "Linux x86_64",
when using Web Workers. Luminati.io data collectors also affected.
I saw this issue when testing with creepJS.
For a quick check, visit with stealh puppeteer: https://abrahamjuliot.github.io/creepjs/tests/workers.html
Edit: True platform is also leaked in iframes: https://abrahamjuliot.github.io/creepjs/tests/iframes.html
Unfortunately, I don't know how to fix it.
Quick PoC:
// webworker.js
var workerData = {
platform: navigator.platform,
}
postMessage(JSON.stringify(workerData, null, 2));
And your index.html
<div>
<pre id="webWorkerRes">
</pre>
</div>
<script>
var w;
if (typeof(Worker) !== "undefined") {
if (typeof(w) == "undefined") {
w = new Worker("webworker.js");
document.getElementById("webWorkerRes").innerHTML = 'started...';
}
w.onmessage = function(event) {
document.getElementById("webWorkerRes").innerHTML = event.data;
};
} else {
document.getElementById("webWorkerRes").innerHTML = "Sorry! No Web Worker support.";
}
</script>
I think you use by default
Win32asnavigator.platform. Your plugin also allows to override it according to the User Agent I think.But regardless how you populate
navigator.platform, it seems to staywhen using Web Workers. Luminati.io data collectors also affected.
I saw this issue when testing with creepJS.
For a quick check, visit with stealh puppeteer: https://abrahamjuliot.github.io/creepjs/tests/workers.html
Edit: True platform is also leaked in iframes: https://abrahamjuliot.github.io/creepjs/tests/iframes.html
Unfortunately, I don't know how to fix it.
Quick PoC:
And your index.html