📝 Added entire config directory for backup purposes
This commit is contained in:
parent
4b38e59bb6
commit
9b946e2d14
11091 changed files with 1440953 additions and 0 deletions
|
|
@ -0,0 +1,126 @@
|
|||
#explore {
|
||||
padding: 0;
|
||||
color: #565252;
|
||||
min-height: 18px;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#explore span {
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
#explore[data-loaded=true] {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
background: transparent;
|
||||
padding: 5px 3px 3px 3px;
|
||||
font-family: arial, sans-serif;;
|
||||
}
|
||||
|
||||
#explore .container {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
font-size: 12px;
|
||||
margin-top: 10px;
|
||||
border-spacing: 0;
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
#explore .container tr {
|
||||
outline: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#explore .container tr td {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#explore .explore {
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
z-index: 1000000;
|
||||
line-height: 15px;
|
||||
position: absolute;
|
||||
padding: 1px 5px 0 0;
|
||||
color: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
#explore .close {
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
cursor: pointer;
|
||||
font-size: 11px;
|
||||
padding: 1px 8px;
|
||||
position: absolute;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#explore a {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
color: #565252;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#explore .icon {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 24px;
|
||||
color: #FFF;
|
||||
height: 24px;
|
||||
font-size: 11px;
|
||||
min-width: 24px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
font-family: arial, sans-serif;
|
||||
}
|
||||
|
||||
#explore .spacer {
|
||||
border-left: solid 1px rgba(0,0,0,0.2) !important;
|
||||
}
|
||||
|
||||
#explore .name {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
margin: 0 0 0 5px;
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
font-family: arial, sans-serif;
|
||||
}
|
||||
|
||||
#explore a, #explore .close, #explore .explore {
|
||||
transition: 300ms ease all;
|
||||
-moz-transition: 300ms ease all;
|
||||
-webkit-transition: 300ms ease all;
|
||||
}
|
||||
|
||||
#explore .close:hover {
|
||||
color: #FFF;
|
||||
background-color: #C75050;
|
||||
}
|
||||
|
||||
#explore a:hover, #explore .explore:hover {
|
||||
background-color: rgba(0,0,0,0.03);
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
{
|
||||
const INC = 50;
|
||||
const SORT = localStorage.getItem('explore-sort') ? Number(localStorage.getItem('explore-sort')) : 1;
|
||||
const COUNT = localStorage.getItem('explore-count') ? Number(localStorage.getItem('explore-count')) : (INC - 5);
|
||||
|
||||
var randcolor = function () {
|
||||
var color = [
|
||||
"#D92121", "#E77200", "#5E8C31", "#00755E", "#C7A00F",
|
||||
"#0066FF", "#3F26BF", "#733380", "#BB3385", "#E30B5C",
|
||||
"#CA3435", "#87421F", "#299617", "#E936A7", "#DB91EF",
|
||||
"#214FC6", "#B56917", "#BB3385", "#652DC1", "#02A4D3"
|
||||
];
|
||||
/* */
|
||||
return color[Math.floor(Math.random() * color.length)];
|
||||
};
|
||||
|
||||
const cload = () => fetch("explore/explore.json").then(r => r.json()).then(build);
|
||||
|
||||
const shuffle = function (a) {
|
||||
for (let i = a.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[a[i], a[j]] = [a[j], a[i]];
|
||||
}
|
||||
/* */
|
||||
return a;
|
||||
};
|
||||
|
||||
const explore = () => {
|
||||
const root = document.getElementById('explore');
|
||||
const span = document.createElement('span');
|
||||
span.textContent = '◱';
|
||||
span.title = 'Explore more';
|
||||
span.classList.add('explore');
|
||||
root.appendChild(span);
|
||||
span.onclick = () => {
|
||||
root.textContent = '';
|
||||
localStorage.setItem('explore-count', INC);
|
||||
cload();
|
||||
};
|
||||
};
|
||||
|
||||
const build = json => {
|
||||
if (json.length === 0) return;
|
||||
/* */
|
||||
if (SORT % 4 === 0) {
|
||||
json = shuffle(json);
|
||||
localStorage.setItem('explore-sort', 1);
|
||||
localStorage.setItem('explore-json', JSON.stringify(json));
|
||||
} else {
|
||||
localStorage.setItem('explore-sort', SORT + 1);
|
||||
json = localStorage.getItem('explore-json') ? JSON.parse(localStorage.getItem('explore-json')) : json;
|
||||
}
|
||||
/* */
|
||||
const root = document.getElementById('explore');
|
||||
root.textContent = 'Explore more';
|
||||
root.dataset.loaded = true;
|
||||
/* */
|
||||
const table = document.createElement('table');
|
||||
const span = document.createElement('span');
|
||||
const tr = document.createElement('tr');
|
||||
/* */
|
||||
table.setAttribute("class", "container");
|
||||
span.classList.add('close');
|
||||
span.textContent = '✕';
|
||||
/* */
|
||||
span.onclick = () => {
|
||||
root.textContent = '';
|
||||
root.dataset.loaded = false;
|
||||
localStorage.setItem("explore-count", 0);
|
||||
explore();
|
||||
};
|
||||
/* */
|
||||
root.appendChild(span);
|
||||
table.appendChild(tr);
|
||||
root.appendChild(table);
|
||||
/* */
|
||||
json.slice(0, 4).forEach(({id, title}, index) => {
|
||||
if (id && title) {
|
||||
const a = document.createElement('a');
|
||||
const td = document.createElement('td');
|
||||
const short = chrome.runtime.getManifest().short_name;
|
||||
const homepage = chrome.runtime.getManifest().homepage_url;
|
||||
const url = homepage.split('/').slice(0, -1).join('/') + '/';
|
||||
a.href = url + id + ".html?context=explore&from=" + short;
|
||||
a.setAttribute("title", title);
|
||||
a.target = '_blank';
|
||||
/* */
|
||||
const icon = document.createElement('span');
|
||||
icon.textContent = title.replace(' -', '').split(' ').map(e => e[0]).slice(0, 2).join('').toUpperCase();
|
||||
icon.style.backgroundColor = randcolor();
|
||||
icon.setAttribute("class", "icon");
|
||||
a.appendChild(icon);
|
||||
/* */
|
||||
const name = document.createElement('span');
|
||||
name.setAttribute("class", "name");
|
||||
name.textContent = title;
|
||||
a.appendChild(name);
|
||||
/* */
|
||||
if (index) td.setAttribute("class", "spacer");
|
||||
td.appendChild(a);
|
||||
tr.appendChild(td);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (COUNT >= INC) {
|
||||
if (COUNT < INC + 4) cload(); else explore();
|
||||
/* */
|
||||
if (COUNT > INC + 5) localStorage.setItem('explore-count', INC);
|
||||
else localStorage.setItem('explore-count', COUNT + 1);
|
||||
} else {
|
||||
explore();
|
||||
localStorage.setItem('explore-count', COUNT + 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
[
|
||||
{"id": "block-site", "title": "Block Site"},
|
||||
{"id": "rule-blocker", "title": "Rule AdBlocker"},
|
||||
{"id": "hide-tabs", "title": "Hide Tabs (Panic Button)"},
|
||||
{"id": "flash-blocker-strict", "title": "Flash Blocker Strict"},
|
||||
{"id": "webgl-defender", "title": "WebGL Fingerprint Defender"},
|
||||
{"id": "html-content-blocker", "title": "HTML Content Blocker"},
|
||||
{"id": "javascript-switch", "title": "JavaScript Switch ON|OFF"},
|
||||
{"id": "notrack", "title": "NoTrack - Block Redirection Tracking"},
|
||||
{"id": "change-timezone", "title": "Change Timezone (Time Shift)"},
|
||||
{"id": "file-encryptor", "title": "File Guard (Encryptor | Decryptor)"},
|
||||
{"id": "modify-header-value", "title": "Modify Header Value (HTTP Headers)"},
|
||||
{"id": "change-geolocation", "title": "Change Geolocation (location Guard)"},
|
||||
{"id": "audiocontext-defender", "title": "AudioContext Fingerprint Defender"},
|
||||
{"id": "access-control-allow-origin", "title": "Allow CORS: Access-Control-Allow-Origin"}
|
||||
]
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
html, body {
|
||||
height: 0;
|
||||
}
|
||||
|
||||
@-moz-document url-prefix() {
|
||||
html, body {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
.content {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.content table {
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.content > table {
|
||||
border-spacing: 0 10px;
|
||||
border-bottom: solid 1px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.content table tr td {
|
||||
color: #555;
|
||||
font-size: 12px;
|
||||
font-family: arial,sans-serif;
|
||||
}
|
||||
|
||||
.content .logo {
|
||||
height: 110px;
|
||||
background: url("../icons/128.png") no-repeat center center;
|
||||
background-size: 64px;
|
||||
}
|
||||
|
||||
.content .name {
|
||||
color: #888;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content .icon {
|
||||
width: 32px;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.content .buttons {
|
||||
height: 150px;
|
||||
border-left: solid 1px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.content .button {
|
||||
padding: 0 5px;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
transition: 300ms ease all;
|
||||
}
|
||||
|
||||
.content .button:hover {
|
||||
background-color: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
<link rel="stylesheet" type="text/css" href="explore/explore.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 45%">
|
||||
<table>
|
||||
<tr><td class="logo"></td></tr>
|
||||
<tr><td class="name"></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table class="buttons">
|
||||
<tr><td class="icon fingerprint">?</td><td class="button" id="fingerprint">What is my Fingerprint</td></tr>
|
||||
<tr><td class="icon notifications">☑</td><td class="button" id="notifications">Show|Hide Desktop notifications</td></tr>
|
||||
<tr><td class="icon support">!</td><td class="button" id="support">Open support page</td></tr>
|
||||
<tr><td class="icon donation">♡</td><td class="button" id="donation">Make a donation</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="explore"></div>
|
||||
<script async src="explore/explore.js"></script>
|
||||
<script type="text/javascript" src="popup.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
var background = (function () {
|
||||
var tmp = {};
|
||||
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
|
||||
for (var id in tmp) {
|
||||
if (tmp[id] && (typeof tmp[id] === "function")) {
|
||||
if (request.path === "background-to-popup") {
|
||||
if (request.method === id) tmp[id](request.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
/* */
|
||||
return {
|
||||
"receive": function (id, callback) {tmp[id] = callback},
|
||||
"send": function (id, data) {chrome.runtime.sendMessage({"path": "popup-to-background", "method": id, "data": data})}
|
||||
}
|
||||
})();
|
||||
|
||||
var load = function () {
|
||||
var ids = ["support", "donation", "fingerprint", "notifications"];
|
||||
for (var i = 0; i < ids.length; i++) {
|
||||
var icon = document.querySelector("." + ids[i]);
|
||||
var button = document.querySelector("#" + ids[i]);
|
||||
/* */
|
||||
button.addEventListener("click", function (e) {background.send(e.target.id)});
|
||||
icon.addEventListener("click", function (e) {background.send(e.target.className.replace("icon ", ''))});
|
||||
}
|
||||
/* */
|
||||
if (navigator.userAgent.indexOf("Edg") !== -1) {
|
||||
document.getElementById("explore").style.display = "none";
|
||||
}
|
||||
/* */
|
||||
background.send("load");
|
||||
window.removeEventListener("load", load, false);
|
||||
};
|
||||
|
||||
background.receive("load", function (e) {
|
||||
var name = document.querySelector(".name");
|
||||
var notifications = document.querySelector(".notifications");
|
||||
/* */
|
||||
name.textContent = chrome.runtime.getManifest().name;
|
||||
notifications.textContent = e.notifications ? '☑' : '☐';
|
||||
});
|
||||
|
||||
window.addEventListener("load", load, false);
|
||||
Loading…
Add table
Add a link
Reference in a new issue