-
Notifications
You must be signed in to change notification settings - Fork 0
/
WEIBlocker.user.js
49 lines (43 loc) · 1.74 KB
/
WEIBlocker.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// ==UserScript==
// @name Web Environment Integrity Blocker
// @namespace b3fa6754-eb94-4025-aa98-114b96e1d616
// @version 1.0.0
// @description Blocks a website if it's using Web Environment Integrity (WEI)
// @author https://github.com/groundcat
// @license MIT
// @match *://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// Flag for detecting WEI usage
var weiUsed = false;
// Get all properties of window object
var props = Object.getOwnPropertyNames(window);
// Check each property for getEnvironmentIntegrity method
for (var i = 0; i < props.length; i++) {
try {
if (window[props[i]] && window[props[i]].getEnvironmentIntegrity) {
weiUsed = true;
break;
}
} catch (e) {
// Ignore properties that throw errors on access
}
}
// If getEnvironmentIntegrity method is found, show warning
if (weiUsed) {
document.documentElement.innerHTML = `
<div style="background-color: darkred; color: white; height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center;">
<div>
<h1 style="font-size: 2em;">WARNING</h1>
<p>This website is using Web Environment Integrity, which might breach your privacy.</p>
<a href="https://www.fsf.org/blogs/community/web-environment-integrity-is-an-all-out-attack-on-the-free-internet" style="color: white; text-decoration: underline;">Here is why</a>
</div>
</div>
`;
// Stop further execution of scripts on the page
window.stop();
}
})();