Automatically bypasses rs.bily.cc link protector and redirects to the actual destination
Size
3.4 KB
Version
1.0.1
Created
Dec 22, 2025
Updated
2 months ago
1// ==UserScript==
2// @name rs.bily.cc Link Bypass
3// @description Automatically bypasses rs.bily.cc link protector and redirects to the actual destination
4// @version 1.0.1
5// @match https://rs.bily.cc/*
6// @match http://rs.bily.cc/*
7// @icon https://robomonkey.io/favicon.ico
8// ==/UserScript==
9(function() {
10 'use strict';
11
12 console.log('rs.bily.cc Bypass Extension loaded');
13
14 function decodeProtectedLink() {
15 try {
16 // Get the hash from the URL (everything after #)
17 const hash = window.location.hash.substring(1);
18
19 if (!hash) {
20 console.log('No hash found in URL');
21 return null;
22 }
23
24 console.log('Encoded hash found:', hash);
25
26 // The link is encoded with multiple layers of Base64
27 // We need to decode it multiple times until we get the actual URL
28 let decoded = hash;
29 let previousDecoded = '';
30 let attempts = 0;
31 const maxAttempts = 10;
32
33 while (attempts < maxAttempts && decoded !== previousDecoded) {
34 previousDecoded = decoded;
35 try {
36 decoded = atob(decoded);
37 attempts++;
38 console.log(`Decode attempt ${attempts}:`, decoded);
39
40 // Check if the decoded string looks like a URL
41 if (decoded.startsWith('http://') || decoded.startsWith('https://')) {
42 console.log('Found URL:', decoded);
43 return decoded;
44 }
45 } catch (e) {
46 console.log('Decode error at attempt', attempts, ':', e.message);
47 break;
48 }
49 }
50
51 // If we couldn't find a URL, return the last decoded value
52 return decoded.startsWith('http') ? decoded : null;
53 } catch (error) {
54 console.error('Error decoding link:', error);
55 return null;
56 }
57 }
58
59 function bypassProtection() {
60 console.log('Attempting to bypass link protection...');
61
62 const actualUrl = decodeProtectedLink();
63
64 if (actualUrl) {
65 console.log('Successfully decoded URL:', actualUrl);
66
67 // Show a message to the user
68 const messageElement = document.getElementById('mensaje');
69 if (messageElement) {
70 messageElement.textContent = 'Redirecting to actual link...';
71 messageElement.style.color = '#00ff00';
72 }
73
74 // Redirect to the actual URL after a short delay
75 setTimeout(() => {
76 console.log('Redirecting to:', actualUrl);
77 window.location.href = actualUrl;
78 }, 500);
79 } else {
80 console.error('Could not decode the protected link');
81 const messageElement = document.getElementById('mensaje');
82 if (messageElement) {
83 messageElement.textContent = 'Could not decode the protected link';
84 messageElement.style.color = '#ff0000';
85 }
86 }
87 }
88
89 // Run the bypass when the page loads
90 if (document.readyState === 'loading') {
91 document.addEventListener('DOMContentLoaded', bypassProtection);
92 } else {
93 bypassProtection();
94 }
95
96})();