') + ')', 'gi');
if (regex.test(text)) {
found = true;
var frag = document.createDocumentFragment();
var parts = text.split(regex);
parts.forEach(function(part, i) {
if (i % 2 === 0) {
frag.appendChild(document.createTextNode(part));
} else {
var span = document.createElement('span');
span.className = 'userscript-highlight';
span.textContent = part;
frag.appendChild(span);
}
});
node.parentNode.replaceChild(frag, node);
}
});
} else if (node.nodeType === 1 && node.childNodes) { // element
var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];
if (!skipTags.includes(node.tagName)) {
Array.from(node.childNodes).forEach(highlight);
}
}
}
highlight(document.body);
// Re-highlight on dynamic content
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1 || node.nodeType === 3) highlight(node);
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Strip utm_, fbclid, gclid, etc. from all links on page
(function() {
var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',
'ref', 'ref_src', 'source', 'medium', 'campaign'];
function cleanUrl(url) {
try {
var u = new URL(url, window.location.origin);
var changed = false;
trackingParams.forEach(function(p) {
if (u.searchParams.has(p)) {
u.searchParams.delete(p);
changed = true;
}
});
return changed ? u.toString() : url;
} catch (e) {
return url;
}
}
function cleanLinks() {
document.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
cleanLinks();
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'A') cleanLinks();
node.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); }
})();
(function(){
try {
var __m = "youtube.com";
var __re = new RegExp('^' + "youtube\\.com" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Auto-enable theater mode on YouTube
(function() {
function tryTheater() {
var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]');
if (btn && !btn.classList.contains('activated')) {
btn.click();
}
}
// Try immediately
tryTheater();
// Try after navigation (SPA)
var lastUrl = location.href;
setInterval(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
setTimeout(tryTheater, 500);
}
}, 1000);
// Also try on player load
var observer = new MutationObserver(tryTheater);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Remove or un-stick sticky/fixed headers that block content
(function() {
function unstick() {
document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) {
if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {
el.style.position = 'static';
el.style.top = 'auto';
el.style.zIndex = 'auto';
}
});
}
unstick();
var observer = new MutationObserver(unstick);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });
})();
}
} catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); }
})();
})();
Fog Network · GitHub
Fog Network
We are dedicated to ending censorship
Verified
We've verified that the organization FogNetwork controls the domain:
Pinned
Loading
An official Fog Network proxy site, made to access the blocked web. Surf without web filters or restrictions. Made with style, Tsunami is a rather fancy service dedicated to protecting your freedom…
JavaScript
85
509
Repositories
Showing 10 of 15 repositories Tsunami
Public
An official Fog Network proxy site, made to access the blocked web. Surf without web filters or restrictions. Made with style, Tsunami is a rather fancy service dedicated to protecting your freedom from censorship
FogNetwork/Tsunami's past year of commit activity JavaScript
85 MIT
509
17
2
Updated Apr 5, 2023 FogNetwork/.github's past year of commit activity
0
0
0
0
Updated Mar 7, 2023 Nightmare
Public archive
Nightmare is a virtual operating system that runs online, designed to bypass censorship.
FogNetwork/Nightmare's past year of commit activity HTML
4
23
3
0
Updated Mar 7, 2023 Riptide
Public archive
A unique site for combating web filters and regaining internet freedom
FogNetwork/Riptide's past year of commit activity JavaScript
18 MIT
118
2
0
Updated Mar 7, 2023 Tsunami-Lite
Public archive
An official Fog Network proxy site, made to access the blocked web. Surf without web filters or restrictions. Made with style, Tsunami is a rather fancy service dedicated to protecting your freedom from censorship
FogNetwork/Tsunami-Lite's past year of commit activity HTML
5 MIT
45
0
0
Updated Mar 7, 2023 Ingot
Public archive
A bookmarklet to disable extensions based on LTBEEF with an interface based on the chrome extension page
FogNetwork/Ingot's past year of commit activity JavaScript
47
106
13
2
Updated Mar 7, 2023 Shadow
Public
Shadow is a stunning new proxy site built to surf any blocked website and protect you from censorship
FogNetwork/Shadow's past year of commit activity JavaScript
33 MIT
316
1
0
Updated Mar 7, 2023 FogNetwork/Solar-Eclipse's past year of commit activity JavaScript
2
11
0
0
Updated Dec 2, 2022 ABC
Public archive
A javascript library for creating websites with hidden urls.
FogNetwork/ABC's past year of commit activity JavaScript
8
28
0
0
Updated May 26, 2022 FogNetwork/Nightmare-Windows's past year of commit activity JavaScript
6 BSD-3-Clause
13
0
0
Updated Jan 23, 2022
You can’t perform that action at this time.