mirror of
https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated.git
synced 2024-12-29 00:13:02 +05:00
added bypass for rinku.me by Anon991299
https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/165 https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/92
This commit is contained in:
parent
c56c4e3848
commit
4ecacef7c3
4 changed files with 198 additions and 2 deletions
|
@ -4,7 +4,7 @@
|
|||
// @run-at document-start
|
||||
// @author Amm0ni4
|
||||
// @noframes
|
||||
// @version 92.8.6
|
||||
// @version 92.8.7
|
||||
// @grant GM_setValue
|
||||
// @grant GM_getValue
|
||||
// @grant GM_addStyle
|
||||
|
@ -731,6 +731,7 @@
|
|||
// @include /filecrypt.(cc|co)/
|
||||
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|(linkvertise|link-to).net)/
|
||||
// @include /(mega-enlace|acortados).com/
|
||||
// @include /^(https?:\/\/)(.+)?((actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com)(\/.*)/
|
||||
// @include /(work.ink|workink.click)\/.*$/
|
||||
// @resource NOTYF_CSS https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css
|
||||
// @require https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// @run-at document-start
|
||||
// @author Amm0ni4
|
||||
// @noframes
|
||||
// @version 92.8.6
|
||||
// @version 92.8.7
|
||||
// @grant GM_setValue
|
||||
// @grant GM_getValue
|
||||
// @grant GM_addStyle
|
||||
|
@ -731,6 +731,7 @@
|
|||
// @include /filecrypt.(cc|co)/
|
||||
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|(linkvertise|link-to).net)/
|
||||
// @include /(mega-enlace|acortados).com/
|
||||
// @include /^(https?:\/\/)(.+)?((actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com)(\/.*)/
|
||||
// @include /(work.ink|workink.click)\/.*$/
|
||||
// @resource NOTYF_CSS https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css
|
||||
// @require https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js
|
||||
|
@ -2784,6 +2785,100 @@
|
|||
})();
|
||||
// ---------
|
||||
|
||||
// ----- Bypass Rinku ------
|
||||
// source: https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/165
|
||||
// example: https://rinku.me/0XLi6
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
const domainRegex = /(actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com/
|
||||
|
||||
if (domainRegex.test(window.location.href)) {
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
|
||||
// Override the hasFocus function
|
||||
document.hasFocus = function() {
|
||||
return true; // Always return true
|
||||
};
|
||||
|
||||
// Function to check for "Click Any Ad & Keep It Open For 15 Seconds To Continue" and reload the page if it exists
|
||||
function checkForMessage() {
|
||||
const paragraphs = document.getElementsByTagName("p");
|
||||
for (let p of paragraphs) {
|
||||
if (p.textContent.includes("Click Any Ad & Keep It Open For 15 Seconds To Continue") || p.textContent.includes("Click Any Ad & Keep It Open For 15 Seconds To Unlock Captcha")) {
|
||||
console.log("Detected the message. Reloading the page...");
|
||||
//alert("Unbypassable page type. Reloading the page...");
|
||||
window.location.reload(); // Reload the page
|
||||
return; // Exit the function after reloading
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Function to check and click the button
|
||||
function clickStepButton() {
|
||||
const buttons = document.querySelectorAll("button");
|
||||
for (let button of buttons) {
|
||||
if (button.textContent.includes("Step") && isElementVisibleAndEnabled(button)) {
|
||||
button.click();
|
||||
console.log("Clicked the button: ", button);
|
||||
return; // Stop after clicking the first found button
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Function to observe button changes
|
||||
function observeButtons() {
|
||||
const buttons = document.querySelectorAll("button");
|
||||
buttons.forEach(button => {
|
||||
const observer = new MutationObserver(() => {
|
||||
// Check if the button is enabled or visibility changed
|
||||
if (isElementVisibleAndEnabled(button)) {
|
||||
clickStepButton(); // Attempt to click if it meets criteria
|
||||
}
|
||||
});
|
||||
observer.observe(button, {
|
||||
attributes: true,
|
||||
attributeFilter: ["disabled"] // Observe changes to the disabled attribute
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Helper function to determine if an element is visible and enabled
|
||||
function isElementVisibleAndEnabled(el) {
|
||||
// Check if the element and all its parents are visible
|
||||
let currentElement = el;
|
||||
while (currentElement) {
|
||||
const style = getComputedStyle(currentElement);
|
||||
if (style.display === "none" || style.visibility === "hidden") {
|
||||
return false; // Element or parent is not visible
|
||||
}
|
||||
currentElement = currentElement.parentElement; // Move up the DOM tree
|
||||
}
|
||||
// Check if the button is enabled
|
||||
return !el.disabled;
|
||||
}
|
||||
|
||||
// Create a MutationObserver to detect DOM changes
|
||||
const observer = new MutationObserver(clickStepButton);
|
||||
|
||||
// Observe changes in the entire document
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
|
||||
// Initial checks
|
||||
observeButtons();
|
||||
checkForMessage();
|
||||
clickStepButton();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
})();
|
||||
// ----- End Bypass Rinku -----
|
||||
|
||||
// ----- Bypass work.ink ---- original script by lem6ns: https://greasyfork.org/en/scripts/463481-work-ink-bypasser
|
||||
(function() {
|
||||
'use strict';
|
||||
|
|
99
extra_bypasses/rinku.user.js
Normal file
99
extra_bypasses/rinku.user.js
Normal file
|
@ -0,0 +1,99 @@
|
|||
// ==UserScript==
|
||||
// @name Rinku autoclick
|
||||
// @include /^(https?:\/\/)(.+)?((actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com)(\/.*)/
|
||||
// @run-at document-start
|
||||
// ==/UserScript==
|
||||
|
||||
// ----- Bypass Rinku ------
|
||||
// source: https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/165
|
||||
// example: https://rinku.me/0XLi6
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
const domainRegex = /(actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com/
|
||||
|
||||
if (domainRegex.test(window.location.href)) {
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
|
||||
// Override the hasFocus function
|
||||
document.hasFocus = function() {
|
||||
return true; // Always return true
|
||||
};
|
||||
|
||||
// Function to check for "Click Any Ad & Keep It Open For 15 Seconds To Continue" and reload the page if it exists
|
||||
function checkForMessage() {
|
||||
const paragraphs = document.getElementsByTagName("p");
|
||||
for (let p of paragraphs) {
|
||||
if (p.textContent.includes("Click Any Ad & Keep It Open For 15 Seconds To Continue") || p.textContent.includes("Click Any Ad & Keep It Open For 15 Seconds To Unlock Captcha")) {
|
||||
console.log("Detected the message. Reloading the page...");
|
||||
//alert("Unbypassable page type. Reloading the page...");
|
||||
window.location.reload(); // Reload the page
|
||||
return; // Exit the function after reloading
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Function to check and click the button
|
||||
function clickStepButton() {
|
||||
const buttons = document.querySelectorAll("button");
|
||||
for (let button of buttons) {
|
||||
if (button.textContent.includes("Step") && isElementVisibleAndEnabled(button)) {
|
||||
button.click();
|
||||
console.log("Clicked the button: ", button);
|
||||
return; // Stop after clicking the first found button
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Function to observe button changes
|
||||
function observeButtons() {
|
||||
const buttons = document.querySelectorAll("button");
|
||||
buttons.forEach(button => {
|
||||
const observer = new MutationObserver(() => {
|
||||
// Check if the button is enabled or visibility changed
|
||||
if (isElementVisibleAndEnabled(button)) {
|
||||
clickStepButton(); // Attempt to click if it meets criteria
|
||||
}
|
||||
});
|
||||
observer.observe(button, {
|
||||
attributes: true,
|
||||
attributeFilter: ["disabled"] // Observe changes to the disabled attribute
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Helper function to determine if an element is visible and enabled
|
||||
function isElementVisibleAndEnabled(el) {
|
||||
// Check if the element and all its parents are visible
|
||||
let currentElement = el;
|
||||
while (currentElement) {
|
||||
const style = getComputedStyle(currentElement);
|
||||
if (style.display === "none" || style.visibility === "hidden") {
|
||||
return false; // Element or parent is not visible
|
||||
}
|
||||
currentElement = currentElement.parentElement; // Move up the DOM tree
|
||||
}
|
||||
// Check if the button is enabled
|
||||
return !el.disabled;
|
||||
}
|
||||
|
||||
// Create a MutationObserver to detect DOM changes
|
||||
const observer = new MutationObserver(clickStepButton);
|
||||
|
||||
// Observe changes in the entire document
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
|
||||
// Initial checks
|
||||
observeButtons();
|
||||
checkForMessage();
|
||||
clickStepButton();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
})();
|
||||
// ----- End Bypass Rinku -----
|
|
@ -711,4 +711,5 @@ https://paster.so/*
|
|||
/filecrypt.(cc|co)/
|
||||
/^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|(linkvertise|link-to).net)/
|
||||
/(mega-enlace|acortados).com/
|
||||
/^(https?:\/\/)(.+)?((actualpost|americanstylo|beautifulfashionnailart|dadinthemaking|glowandglamcorner|listofthis|lobirtech).com)(\/.*)/
|
||||
/(work.ink|workink.click)\/.*$/
|
||||
|
|
Loading…
Reference in a new issue