Linkvertise Auto Bypass

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})();