-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBypass_Link_Redirects.user.js
More file actions
70 lines (66 loc) · 2.59 KB
/
Bypass_Link_Redirects.user.js
File metadata and controls
70 lines (66 loc) · 2.59 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// ==UserScript==
// @name Bypass Link Redirects
// @namespace https://github.com/sinazadeh/userscripts
// @version 1.2.3
// @description Automatically bypasses intermediate confirmation, warning, and interstitial pages on supported websites, taking you directly to the destination link.
// @author TheSina
// @match *://forums.socialmediagirls.com/goto/link-confirmation*
// @match *://*.stremio.com/warning*
// @match *://*.imagebam.com/image/*
// @run-at document-start
// @license MIT
// @downloadURL https://raw.githubusercontent.com/sinazadeh/userscripts/refs/heads/main/Bypass_Link_Redirects.user.js
// @updateURL https://raw.githubusercontent.com/sinazadeh/userscripts/refs/heads/main/Bypass_Link_Redirects.meta.js
// ==/UserScript==
(function () {
const hostname = window.location.hostname;
// Bypass SocialMediaGirls confirmation
if (hostname.includes('socialmediagirls.com')) {
const urlParam = new URLSearchParams(window.location.search).get('url');
if (urlParam) {
try {
const decodedUrl = atob(urlParam);
window.location.replace(decodedUrl);
} catch (e) {
console.error('Failed to decode SocialMediaGirls URL:', e);
}
}
}
// Bypass Stremio warning
if (
hostname.includes('stremio.com') &&
window.location.pathname === '/warning'
) {
const hash = window.location.hash;
if (hash.startsWith('#https')) {
try {
const targetUrl = decodeURIComponent(hash.substring(1));
window.location.replace(targetUrl);
} catch (e) {
console.error('Failed to decode Stremio URL:', e);
}
}
}
// Bypass ImageBam "Continue to your image" interstitial
if (
hostname.includes('imagebam.com') &&
window.location.pathname.startsWith('/image/')
) {
// Wait for the page to render
document.addEventListener('DOMContentLoaded', () => {
// 1) If there's a form on the page, submit it
const form = document.querySelector('form');
if (form) {
form.submit();
return;
}
// 2) Otherwise look for any link or button that says "Continue to your image"
const btn = Array.from(document.querySelectorAll('a, button')).find(
el => /continue to your image/i.test(el.textContent || ''),
);
if (btn) {
btn.click();
}
});
}
})();