Platoboost Link Bypasser

Automatically bypass Platoboost link shortener and extract access codes

Size

8.8 KB

Version

1.1.3

Created

Dec 9, 2025

Updated

3 days ago

1// ==UserScript==
2// @name		Platoboost Link Bypasser
3// @description		Automatically bypass Platoboost link shortener and extract access codes
4// @version		1.1.3
5// @match		https://*.platoboost.app/*
6// @match		https://platoboost.app/*
7// @match		https://*.platoboost.me/*
8// @match		https://platoboost.me/*
9// @icon		https://auth.platoboost.app/icon.svg
10// @grant		GM.setClipboard
11// @grant		GM.notification
12// @grant		GM.xmlhttpRequest
13// ==/UserScript==
14(function() {
15    'use strict';
16
17    console.log('Platoboost Link Bypasser: Extension loaded');
18
19    let bypassInProgress = false;
20
21    // Function to extract the encrypted data parameter from URL
22    function getEncryptedData() {
23        const urlParams = new URLSearchParams(window.location.search);
24        return urlParams.get('d');
25    }
26
27    // Function to make API request to bypass verification
28    async function bypassVerification() {
29        try {
30            const encryptedData = getEncryptedData();
31            if (!encryptedData) {
32                console.error('No encrypted data found in URL');
33                return null;
34            }
35
36            console.log('Attempting to bypass verification via API...');
37            
38            // Make direct API call to get the access code
39            const response = await GM.xmlhttpRequest({
40                method: 'POST',
41                url: 'https://api-gateway.platoboost.com/v1/authenticators/8/' + encryptedData,
42                headers: {
43                    'Content-Type': 'application/json',
44                    'Origin': 'https://auth.platoboost.app',
45                    'Referer': window.location.href
46                },
47                data: JSON.stringify({})
48            });
49
50            if (response.status === 200) {
51                const data = JSON.parse(response.responseText);
52                console.log('API Response:', data);
53                
54                if (data.key || data.code || data.token) {
55                    return data.key || data.code || data.token;
56                }
57            }
58            
59            return null;
60        } catch (error) {
61            console.error('API bypass failed:', error);
62            return null;
63        }
64    }
65
66    // Function to check for and extract the access code (final step)
67    async function extractAccessCode() {
68        console.log('Checking for access code...');
69        
70        // Look for the textarea with the access code
71        const textarea = document.querySelector('textarea[class*="flex"][class*="min-h"]');
72        
73        if (textarea && textarea.value && textarea.value.trim()) {
74            const accessCode = textarea.value.trim();
75            console.log('✓ Access code found:', accessCode);
76            
77            // Copy to clipboard
78            try {
79                await GM.setClipboard(accessCode);
80                console.log('✓ Access code copied to clipboard');
81                
82                // Show notification
83                GM.notification({
84                    title: 'Platoboost Bypassed!',
85                    text: `Access code: ${accessCode}`,
86                    timeout: 8000
87                });
88                
89                // Add visual indicator
90                addSuccessIndicator(accessCode);
91                
92            } catch (error) {
93                console.error('Failed to copy access code:', error);
94            }
95            
96            return true;
97        }
98        
99        return false;
100    }
101
102    // Function to directly navigate to the final page
103    async function skipToFinalPage() {
104        if (bypassInProgress) return;
105        bypassInProgress = true;
106
107        console.log('Attempting to skip verification steps...');
108        
109        // Try API bypass first
110        const apiCode = await bypassVerification();
111        if (apiCode) {
112            console.log('✓ Got code via API bypass:', apiCode);
113            await GM.setClipboard(apiCode);
114            GM.notification({
115                title: 'Platoboost Bypassed!',
116                text: `Access code: ${apiCode}`,
117                timeout: 8000
118            });
119            addSuccessIndicator(apiCode);
120            bypassInProgress = false;
121            return;
122        }
123
124        // If API bypass fails, try to manipulate localStorage to mark steps as complete
125        try {
126            // Set localStorage values to bypass verification
127            const timestamp = Date.now() + 86400000; // 24 hours from now
128            localStorage.setItem('agecc', JSON.stringify({ value: Date.now().toString(), expiry: timestamp }));
129            localStorage.setItem('fjidd', JSON.stringify({ value: Math.random().toString().slice(2), expiry: timestamp }));
130            localStorage.setItem('sle', 'true');
131            
132            console.log('LocalStorage updated, reloading page...');
133            
134            // Reload the page to apply changes
135            window.location.reload();
136        } catch (error) {
137            console.error('Failed to manipulate localStorage:', error);
138            bypassInProgress = false;
139        }
140    }
141
142    // Add a visual success indicator
143    function addSuccessIndicator(code) {
144        // Remove any existing indicator
145        const existing = document.getElementById('platoboost-bypass-indicator');
146        if (existing) existing.remove();
147
148        const indicator = document.createElement('div');
149        indicator.id = 'platoboost-bypass-indicator';
150        indicator.style.cssText = `
151            position: fixed;
152            top: 20px;
153            right: 20px;
154            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
155            color: white;
156            padding: 20px 28px;
157            border-radius: 16px;
158            box-shadow: 0 10px 40px rgba(16, 185, 129, 0.4);
159            z-index: 999999;
160            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
161            font-size: 14px;
162            font-weight: 600;
163            animation: slideInRight 0.4s ease-out;
164            max-width: 350px;
165        `;
166        
167        indicator.innerHTML = `
168            <div style="display: flex; align-items: center; gap: 16px;">
169                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3">
170                    <polyline points="20 6 9 17 4 12"></polyline>
171                </svg>
172                <div>
173                    <div style="font-size: 18px; margin-bottom: 6px; font-weight: 700;">✓ Bypass Complete!</div>
174                    <div style="font-size: 13px; opacity: 0.95; background: rgba(255,255,255,0.2); padding: 6px 10px; border-radius: 6px; margin-top: 6px; font-family: monospace; word-break: break-all;">${code}</div>
175                    <div style="font-size: 11px; opacity: 0.8; margin-top: 6px;">✓ Copied to clipboard</div>
176                </div>
177            </div>
178        `;
179        
180        // Add animation
181        if (!document.getElementById('platoboost-bypass-styles')) {
182            const style = document.createElement('style');
183            style.id = 'platoboost-bypass-styles';
184            style.textContent = `
185                @keyframes slideInRight {
186                    from {
187                        transform: translateX(400px);
188                        opacity: 0;
189                    }
190                    to {
191                        transform: translateX(0);
192                        opacity: 1;
193                    }
194                }
195                @keyframes slideOutRight {
196                    from {
197                        transform: translateX(0);
198                        opacity: 1;
199                    }
200                    to {
201                        transform: translateX(400px);
202                        opacity: 0;
203                    }
204                }
205            `;
206            document.head.appendChild(style);
207        }
208        
209        document.body.appendChild(indicator);
210        
211        // Remove after 10 seconds
212        setTimeout(() => {
213            indicator.style.animation = 'slideOutRight 0.4s ease-out';
214            setTimeout(() => indicator.remove(), 400);
215        }, 10000);
216    }
217
218    // Initialize the bypass
219    async function init() {
220        console.log('Initializing Platoboost bypass...');
221        
222        // Check if we're already on the final page with the code
223        const hasCode = await extractAccessCode();
224        if (hasCode) {
225            console.log('Already on final page with code!');
226            return;
227        }
228
229        // Check if we're on a verification page
230        const continueButton = document.querySelector('button.inline-flex.items-center.justify-center[class*="bg-primary"]');
231        if (continueButton && continueButton.textContent.includes('Continue')) {
232            console.log('On verification page, attempting to skip...');
233            await skipToFinalPage();
234        }
235    }
236
237    // Start when DOM is ready
238    if (document.readyState === 'loading') {
239        document.addEventListener('DOMContentLoaded', init);
240    } else {
241        init();
242    }
243
244})();
Platoboost Link Bypasser | Robomonkey