Automatically bypass Linkvertise links and redirect to the final destination
Size
5.9 KB
Version
1.0.1
Created
Mar 22, 2026
Updated
24 days ago
1// ==UserScript==
2// @name Linkvertise Auto Bypass
3// @description Automatically bypass Linkvertise links and redirect to the final destination
4// @version 1.0.1
5// @match https://*.linkvertise.com/*
6// @icon https://linkvertise.com/favicon.ico
7// @grant GM.xmlhttpRequest
8// @grant GM.notification
9// ==/UserScript==
10(function() {
11 'use strict';
12
13 console.log('Linkvertise Auto Bypass: Extension loaded');
14
15 // Show notification to user
16 function showNotification(title, message) {
17 GM.notification({
18 title: title,
19 text: message,
20 timeout: 5000
21 });
22 }
23
24 // Show loading indicator
25 function showLoadingIndicator() {
26 const loader = document.createElement('div');
27 loader.id = 'linkvertise-bypass-loader';
28 loader.innerHTML = `
29 <div style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
30 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
31 color: white; padding: 30px 40px; border-radius: 15px;
32 z-index: 999999; box-shadow: 0 10px 40px rgba(0,0,0,0.3);
33 font-family: Arial, sans-serif; text-align: center;">
34 <div style="font-size: 24px; font-weight: bold; margin-bottom: 15px;">
35 🚀 Bypassing Linkvertise...
36 </div>
37 <div style="font-size: 14px; opacity: 0.9;">
38 Please wait while we redirect you to the final destination
39 </div>
40 <div style="margin-top: 20px;">
41 <div style="width: 40px; height: 40px; border: 4px solid rgba(255,255,255,0.3);
42 border-top-color: white; border-radius: 50%;
43 animation: spin 1s linear infinite; margin: 0 auto;"></div>
44 </div>
45 </div>
46 `;
47
48 // Add animation
49 const style = document.createElement('style');
50 style.textContent = `
51 @keyframes spin {
52 to { transform: rotate(360deg); }
53 }
54 `;
55 document.head.appendChild(style);
56 document.body.appendChild(loader);
57 }
58
59 function hideLoadingIndicator() {
60 const loader = document.getElementById('linkvertise-bypass-loader');
61 if (loader) {
62 loader.remove();
63 }
64 }
65
66 // Bypass Linkvertise using API
67 async function bypassLinkvertise(url) {
68 console.log('Attempting to bypass URL:', url);
69 showLoadingIndicator();
70 showNotification('Linkvertise Bypass', 'Starting bypass process...');
71
72 try {
73 const response = await GM.xmlhttpRequest({
74 method: 'GET',
75 url: 'https://bypass.pm/bypass2?url=' + encodeURIComponent(url),
76 headers: {
77 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0',
78 'Accept': '*/*',
79 'Accept-Language': 'en-US,en;q=0.5',
80 'Origin': 'https://bypass.pm',
81 'DNT': '1',
82 'Connection': 'keep-alive',
83 'Sec-Fetch-Dest': 'empty',
84 'Sec-Fetch-Mode': 'cors',
85 'Sec-Fetch-Site': 'same-site'
86 },
87 responseType: 'json'
88 });
89
90 console.log('API Response:', response);
91
92 if (response.status === 200) {
93 let data;
94 if (typeof response.response === 'string') {
95 data = JSON.parse(response.response);
96 } else {
97 data = response.response;
98 }
99
100 console.log('Parsed data:', data);
101
102 if (data.status === 'success' && data.result) {
103 const bypassedUrl = data.result;
104 console.log('Successfully bypassed! Redirecting to:', bypassedUrl);
105
106 hideLoadingIndicator();
107 showNotification('Success!', 'Redirecting to final destination...');
108
109 // Redirect after a short delay
110 setTimeout(() => {
111 window.location.href = bypassedUrl;
112 }, 1000);
113
114 return true;
115 } else {
116 console.error('Bypass failed: No success status or result');
117 hideLoadingIndicator();
118 showNotification('Bypass Failed', 'Could not bypass this link. Please try manually.');
119 return false;
120 }
121 } else {
122 console.error('API request failed with status:', response.status);
123 hideLoadingIndicator();
124 showNotification('Error', 'Bypass service returned error: ' + response.status);
125 return false;
126 }
127 } catch (error) {
128 console.error('Error during bypass:', error);
129 hideLoadingIndicator();
130 showNotification('Error', 'An error occurred during bypass. Please try again.');
131 return false;
132 }
133 }
134
135 // Initialize the bypass
136 function init() {
137 console.log('Initializing Linkvertise Auto Bypass');
138
139 // Get current URL
140 const currentUrl = window.location.href;
141 console.log('Current URL:', currentUrl);
142
143 // Check if we're on a Linkvertise page
144 if (currentUrl.includes('linkvertise.com')) {
145 console.log('Linkvertise page detected, starting bypass...');
146
147 // Wait a bit for page to load
148 setTimeout(() => {
149 bypassLinkvertise(currentUrl);
150 }, 2000);
151 }
152 }
153
154 // Start when page is ready
155 if (document.readyState === 'loading') {
156 document.addEventListener('DOMContentLoaded', init);
157 } else {
158 init();
159 }
160})();