|
1 | 1 | // ==UserScript==
|
2 | 2 | // @name tikt0kcounter bypass
|
3 | 3 | // @namespace http://tampermonkey.net/
|
4 |
| -// @version 2025-01-15 |
| 4 | +// @version 2025-01-16 |
5 | 5 | // @description try to take over the world!
|
6 | 6 | // @author You
|
7 | 7 | // @match https://*/*
|
|
12 | 12 | // ==/UserScript==
|
13 | 13 |
|
14 | 14 | // Bypasser:
|
15 |
| -// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/Bypass_All_Shortlinks.user.js |
16 |
| - |
17 |
| - |
18 |
| -//---profitsfly reload helper---- |
19 |
| -(function() { |
20 |
| - "use strict"; |
21 |
| - |
22 |
| - const domainRegex = /^https:\/\/.*\.((tradeshowrating|historyofyesterday|insurelean).com|playonpc.online|quins.us)\/.*/; |
23 |
| - if (domainRegex.test(window.location.href)) { |
24 |
| - |
25 |
| - // ---RELOAD DEAD-END PAGES--- |
26 |
| - if (document.readyState === "complete") { |
27 |
| - onWindowLoad(); |
28 |
| - } else { |
29 |
| - window.addEventListener('load', onWindowLoad); |
30 |
| - } |
31 |
| - |
32 |
| - function onWindowLoad() { |
33 |
| - |
34 |
| - // Function to check for messages like "Click any ad & keep it open for 15 seconds to continue" and reload the page if one exists |
35 |
| - let reloading = false; |
36 |
| - function checkForMessage() { |
37 |
| - const paragraphs = document.getElementsByTagName("p"); |
38 |
| - for (let p of paragraphs) { |
39 |
| - if (/.*click.+ad.*to.+continue.*/is.test(p.textContent) && isElementVisibleAndEnabled(p)) { |
40 |
| - if (!reloading) location.reload(); // Reload the page |
41 |
| - reloading = true; |
42 |
| - return; // Exit the function after reloading |
43 |
| - } |
44 |
| - } |
45 |
| - if (/Less than.+passed between actions.+try again/.test(document.body.textContent)) { |
46 |
| - if (!reloading) location.reload(); // Reload the page |
47 |
| - reloading = true; |
48 |
| - return; // Exit the function after reloading |
49 |
| - } |
50 |
| - } |
51 |
| - |
52 |
| - // Helper function to determine if an element is visible and enabled |
53 |
| - function isElementVisibleAndEnabled(el) { |
54 |
| - // Check if the element and all its parents are visible |
55 |
| - let currentElement = el; |
56 |
| - while (currentElement) { |
57 |
| - const style = getComputedStyle(currentElement); |
58 |
| - if (style.display === "none" || style.visibility === "hidden") { |
59 |
| - return false; // Element or parent is not visible |
60 |
| - } |
61 |
| - currentElement = currentElement.parentElement; // Move up the DOM tree |
62 |
| - } |
63 |
| - // Check if the button is enabled |
64 |
| - return !el.disabled; |
65 |
| - } |
66 |
| - |
67 |
| - setInterval(checkForMessage, 1000); |
68 |
| - } |
69 |
| - |
70 |
| - |
71 |
| - // ---After DOM loaded--- |
72 |
| - document.addEventListener('DOMContentLoaded', function() { |
73 |
| - |
74 |
| - // ---Remove YouTube modal and banner--- |
75 |
| - // (alternative with uBO : https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-11864776) |
76 |
| - if (unsafeWindow.youtubeVideoStepProceed) { unsafeWindow.youtubeVideoStepProceed();} |
77 |
| - const stickyBanner = document.querySelector(".mg-sticky-banner"); |
78 |
| - if (stickyBanner) {stickyBanner.style.display = "none";} |
79 |
| - |
80 |
| - // ---Skip timers--- |
81 |
| - function setTimer() { |
82 |
| - if (window.wT9882 > 5) { |
83 |
| - window.wT9882 = 1; |
84 |
| - } |
85 |
| - } |
86 |
| - window.wT9882 = 5; |
87 |
| - setInterval(setTimer, 1000); |
88 |
| - |
89 |
| - /* ------------ Protect buttons from being removed ------------ */ |
90 |
| - // Protect all buttons currently in the DOM |
91 |
| - function protectButtons() { |
92 |
| - const buttons = document.querySelectorAll("button"); |
93 |
| - buttons.forEach((button) => protectElement(button)); |
94 |
| - } |
95 |
| - |
96 |
| - // Protect a specific button by overriding its removal methods |
97 |
| - function protectElement(element) { |
98 |
| - if (element.__protected) return; // Avoid double protection |
99 |
| - |
100 |
| - // Override remove() |
101 |
| - const originalRemove = element.remove; |
102 |
| - element.remove = () => {}; |
103 |
| - |
104 |
| - // Flag element as protected |
105 |
| - element.__protected = true; |
106 |
| - } |
107 |
| - |
108 |
| - // Monitor the DOM for dynamically added buttons |
109 |
| - const observer = new MutationObserver((mutationsList) => { |
110 |
| - mutationsList.forEach((mutation) => { |
111 |
| - mutation.addedNodes.forEach((node) => { |
112 |
| - if (node.tagName === "BUTTON") { |
113 |
| - // Protect new button |
114 |
| - protectElement(node); |
115 |
| - } |
116 |
| - }); |
117 |
| - |
118 |
| - mutation.removedNodes.forEach((node) => { |
119 |
| - if (node.tagName === "BUTTON") { |
120 |
| - // A button was removed. Re-add it: |
121 |
| - mutation.target.appendChild(node); // Re-add the button |
122 |
| - protectElement(node); // Re-protect it |
123 |
| - } |
124 |
| - }); |
125 |
| - }); |
126 |
| - }); |
127 |
| - |
128 |
| - // Start observing the document for changes |
129 |
| - observer.observe(document.body, { childList: true, subtree: true }); |
130 |
| - |
131 |
| - // Protect buttons already in the DOM |
132 |
| - protectButtons(); |
133 |
| - }); |
134 |
| - |
135 |
| - } |
136 |
| -})(); |
| 15 | +// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/extra_bypasses/profitsfly_reload_helper.user.js |
137 | 16 |
|
138 | 17 | var h2psa = document.querySelector('center > h2');
|
139 | 18 | if(h2psa && h2psa.textContent.indexOf('HEVC-PSA') > 0 && GM_getValue('telegram_bot_url')){
|
|
0 commit comments