2024-02-15 01:34:19 +05:00
// ==UserScript==
2024-02-22 02:04:42 +05:00
// @name extra bypasses
2024-02-22 03:15:02 +05:00
// @description These bypasses are always merged into Bypass_All_Shortlinks.user.js
2024-02-15 01:34:19 +05:00
// @include /mundopolo.net/
// @include /comohoy.com/
// @include /sphinxanime.com\/short/
2024-02-15 21:56:23 +05:00
// @include /japan-paw.net\/out/
2024-02-15 01:34:19 +05:00
// @include /link.manudatos.com\/#!/
2024-02-15 07:09:33 +05:00
// @include /(iconicblogger.com|segurosdevida.site)/
2024-02-15 04:56:17 +05:00
// @include /link.unlockner.com/
// @include /cybercityhelp.in/
// @include /www.akcartoons.in/
// @include /go.moonlinks.in/
2024-02-15 18:11:51 +05:00
// @include /shrinkme.us/
2024-02-20 04:31:52 +05:00
// @include /test.shrinkurl.org/
2024-02-15 18:11:51 +05:00
// @include /shareus.io/
2024-02-18 01:54:57 +05:00
// @include /shareus\.io\/go\?sid=/
2024-02-15 20:56:02 +05:00
// @include /(verpeliculasonline.org|subtituladas.com)\/enlace/
2024-02-15 21:49:02 +05:00
// @include /links.cuevana.ac\/short/
2024-02-15 22:14:49 +05:00
// @include /ouo.io/
2024-03-10 17:35:19 +05:00
// @include /exeo.app/
2024-02-16 06:59:04 +05:00
// @include /fc-lc.(xyz|com)/
2024-03-11 00:14:05 +05:00
// @include /tmail.io/
2024-02-16 04:45:46 +05:00
// @include /1v.to\/t/
2024-02-16 01:29:51 +05:00
// @include /linkspy.cc\/tr/
2024-02-22 06:30:52 +05:00
// @include /((cybertyrant|profitshort|technorozen|hubdrive.me|bestadvise4u|newztalkies|aiotechnical|cryptonewzhub|techvybes|wizitales|101desires|gdspike).com|courselinkfree.us|10desires.(org|net)|theapknews.shop|trendzguruji.me|speedynews.xyz)(?!.*\?r=)/
2024-02-22 00:08:24 +05:00
// @include /cybertyrant.com\/\?r=/
2024-02-16 02:32:38 +05:00
// @include /dropgalaxy.(com|co)\/drive/
2024-02-17 15:40:53 +05:00
// @include /short-ly.co/
2024-02-18 01:54:57 +05:00
// @include /shramikcard.in/
2024-02-18 05:56:31 +05:00
// @include /blogging.techworldx.net/
2024-02-18 17:51:04 +05:00
// @include /starsddl.me\/short/
// @include /tech.unblockedgames.world/
2024-02-19 05:17:23 +05:00
// @include /seriezloaded.com.ng\/sl-download\/\?link=/
2024-02-18 22:47:41 +05:00
// @include /www.itscybertech.com/
// @include /thegadgetking.in/
2024-02-19 08:31:33 +05:00
// @include /(linkvertise.com|linkvertise.net|link-to.net).*\?r=/
2024-02-26 20:50:44 +05:00
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|linkvertise.net|link-to.net)(?!.*\?r=)/
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(free-content.pro|(ebaticalfel|downbadleaks|megadropsz|megadumpz|stownrusis|iedprivatedqu).com)\/s\?/
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(loot-link.com|loot-links.com|lootlink.org|lootlinks.co|lootdest.(info|org|com)|links-loot.com|linksloot.net)\/s\?.*$/
2024-02-19 19:25:54 +05:00
// @include /epicload.com\/files/
2024-02-20 05:59:53 +05:00
// @include /www.gtaall.com\/get-manual/
2024-02-20 20:19:32 +05:00
// @include /woowebtools.com|pallabmobile.in/
// @include /doodrive.com\/f/
2024-02-20 20:47:41 +05:00
// @include /ipamod.com\/redirect-to/
2024-02-20 22:38:32 +05:00
// @include /9xflix\.(\w+)\/m\/goto/
2024-02-21 00:07:37 +05:00
// @include /bookszone.in/
// @include /yoshare.net/
// @include /blog.disheye.com/
// @include /reminimod.co/
// @include /techrayzer.com/
// @include /techfizia.com/
// @include /tech5s.co/
// @include /ez4mods.com/
// @include /ez4short.com/
// @include /learnmany.in/
// @include /lksfy.in/
// @include /droplink.co/
// @include /lnks.primarchweb.in/
// @include /highkeyfinance.com/
2024-02-21 05:51:24 +05:00
// @include /toonhub4u.net\/redirect\/main.php\?url=/
2024-03-10 17:54:43 +05:00
// @include /(nhmgujarat|pmyojanasarkari).in|minijankari.com/
2024-02-21 06:15:50 +05:00
// @include /gplinks.co\/[^/#]+\/(?:#|\?pid=)/
2024-02-21 22:03:13 +05:00
// @include /aipebel.com/
// @include /raretoonsindia.rtilinks.com/
// @include /(do|fast).rtilinks.com/
// @include /vidhidepro.com\/d/
// @include /www.mirrored.to\/files\/(?!.*\?hash=)/
2024-02-22 01:12:10 +05:00
// @include /skyve.io/
2024-02-22 06:10:49 +05:00
// @include /itradercoin.com\/verify\/\?/
// @include /itradercoin.com/
// @include /blog.filepresident.com/
2024-02-22 06:30:52 +05:00
// @include /gyanigurus.net\/view/
2024-02-22 21:49:44 +05:00
// @include /mkvmoviespoint.casa\/goto/
// @include /w.linkspoint.net/
2024-02-23 07:21:54 +05:00
// @include /kingshortener.com/
2024-02-26 01:03:26 +05:00
// @include /gdslink.xyz/
2024-02-27 05:37:48 +05:00
// @include /financeyogi.net/
// @include /jrlinks.in/
// @include /go.tnshort.net/
2024-02-27 17:08:30 +05:00
// @include /www.4fnet.org\/goto/
2024-02-27 17:25:20 +05:00
// @include /(linkmo.net|adpayl.ink)\/[^?]+\?data=.+$/
2024-02-27 17:46:33 +05:00
// @include /musicc.xyz/
2024-03-01 23:06:54 +05:00
// @include /(cravesandflames|codesnse).com/
// @include /go.(cravesandflames|codesnse).com/
2024-03-10 17:35:19 +05:00
// @include /empebau.eu\/s/
2024-03-11 01:32:28 +05:00
// @include /cpmlink.net\/go/
2024-03-12 23:22:54 +05:00
// @include /10short.com/
// @include /zegtrends.com/
// @include /icutlink.com/
// @include /motakhokhara.blogspot.com/
// @include /xpshort.com/
2024-02-15 01:34:19 +05:00
// @run-at document-start
// ==/UserScript==
2024-02-16 02:32:38 +05:00
// ----- Extra bypasses -----
2024-02-15 01:34:19 +05:00
( function ( ) {
'use strict' ;
const url = window . location . href
const redirect = finalUrl => window . location . assign ( finalUrl ) ;
2024-02-16 01:29:51 +05:00
const getParam = ( url , param ) => new URLSearchParams ( url ) . get ( param ) ;
2024-02-18 01:54:57 +05:00
const popupsToRedirects = ( ) => window . open = ( url , target , features ) => ( window . location . href = url , window ) ;
2024-02-16 02:32:38 +05:00
const afterDOMLoaded = ( callback ) => document . addEventListener ( 'DOMContentLoaded' , callback ) ;
2024-02-26 01:03:26 +05:00
const afterWindowLoaded = ( callback ) => window . addEventListener ( 'load' , callback ) ;
2024-02-15 04:56:17 +05:00
const isValidUrl = url => { try { new URL ( url ) ; return true ; } catch ( error ) { return false ; } } ;
2024-02-15 18:11:51 +05:00
const clickIfExists = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button ) { clearInterval ( intervalId ) ; button . click ( ) ; } } , 1000 ) ; } ;
2024-02-17 15:40:53 +05:00
const redirectIfExists = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button . href ) { clearInterval ( intervalId ) ; redirect ( button . href ) } } , 500 ) ; } ;
2024-02-15 18:11:51 +05:00
const clickIfExistsNonStop = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector + ':not(.disabled)' ) ; if ( button ) { button . click ( ) ; } } , 500 ) ; } ;
2024-02-21 22:28:05 +05:00
const redirectIfNotDisabled = ( selector ) => { let intervalId = setInterval ( ( ) => { let linkButton = document . querySelector ( selector + ':not(.disabled)' ) ; if ( linkButton && ! linkButton . href . includes ( '/undefined' ) ) { clearInterval ( intervalId ) ; setTimeout ( function ( ) { redirect ( linkButton . href ) ; } , 500 ) } } , 500 ) ; } ;
2024-02-21 06:15:50 +05:00
const clickIfNotDisabled = ( buttonSelector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( buttonSelector ) ; if ( ! button . hasAttribute ( 'disabled' ) && ! button . classList . contains ( 'disabled' ) ) { clearInterval ( intervalId ) ; setTimeout ( function ( ) { button . click ( ) ; } , 500 ) } } , 500 ) ; } ;
2024-02-18 05:56:31 +05:00
const checkElementVisible = element => element !== null && ! ! ( element . offsetWidth || element . offsetHeight || element . getClientRects ( ) . length ) && ( ! element . getAttribute ( 'style' ) || ! element . getAttribute ( 'style' ) . includes ( 'display:none' ) ) ;
const clickIfVisible = selector => { afterDOMLoaded ( function ( ) { let intervalId = setInterval ( ( ) => { let element = document . querySelector ( selector ) ; if ( checkElementVisible ( element ) ) { clearInterval ( intervalId ) ; element . click ( ) ; } } , 1000 ) ; } ) ; } ;
2024-02-15 01:34:19 +05:00
2024-02-15 04:56:17 +05:00
//peliculasgd.net
2024-02-15 01:34:19 +05:00
/mundopolo.net/ . test ( url ) ? redirect ( decodeURIComponent ( atob ( atob ( atob ( url . split ( '#!' ) [ 1 ] ) ) ) ) ) : null ;
2024-02-15 04:56:17 +05:00
//leak.sx & pornleaks.in
2024-02-15 01:34:19 +05:00
/comohoy.com/ . test ( url ) ? redirect ( atob ( url . split ( '?url=' ) [ 1 ] ) ) : null ;
2024-02-15 04:56:17 +05:00
//sphinxanime.com
2024-02-15 01:34:19 +05:00
/sphinxanime.com\/short/ . test ( url ) ? redirect ( atob ( url . split ( '?anonym=' ) [ 1 ] ) ) : null ;
2024-02-15 04:56:17 +05:00
2024-02-15 21:56:23 +05:00
//japan-paw.net
/japan-paw.net\/out/ . test ( url ) ? redirect ( atob ( url . split ( 'out/?' ) [ 1 ] ) ) : null ;
2024-02-15 04:56:17 +05:00
//pasteprivado.blogspot.com
2024-02-15 01:34:19 +05:00
/link.manudatos.com\/#!/ . test ( url ) ? redirect ( atob ( atob ( atob ( url . split ( '#!' ) [ 1 ] ) ) ) ) : null ;
2024-02-15 04:56:17 +05:00
2024-02-16 04:45:46 +05:00
//intercambiosvirtuales.org
2024-02-16 06:59:04 +05:00
/1v.to\/t/ . test ( url ) ? redirect ( atob ( atob ( atob ( atob ( atob ( url . split ( '/t/' ) [ 1 ] ) . replace ( '+P' , '' ) ) ) ) ) ) : null ;
2024-02-16 04:45:46 +05:00
2024-02-15 07:09:33 +05:00
//anime-world.in and mandranime.com
/(iconicblogger.com|segurosdevida.site)/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( document . getElementById ( 'wpsafe-link' ) . querySelector ( 'a' ) . getAttribute ( 'onclick' ) . match ( /window\.open\('([^']*)'/ ) [ 1 ] ) } ) : null ;
2024-02-15 18:11:51 +05:00
2024-02-15 07:09:33 +05:00
//anime-world.in 2nd step
2024-02-15 04:56:17 +05:00
/link.unlockner.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn.get-link' ) } ) : null ;
//atozcartoonist.com
/cybercityhelp.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { document . querySelector ( '#username' ) . value = 'filler' } ) : null ;
/cybercityhelp.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { document . querySelector ( '#tp982' ) . click ( ) } ) : null ;
/cybercityhelp.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { document . querySelector ( 'button.tp-btn.tp-blue' ) . click ( ) } ) : null ;
/www.akcartoons.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { document . querySelector ( '#btn6 > button' ) . click ( ) } ) : null ;
/www.akcartoons.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( document . querySelector ( 'a[href*="go.moonlinks.in"]' ) ) } ) : null ;
/go.moonlinks.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.btn' ) } ) : null ;
2024-02-15 07:09:33 +05:00
2024-02-15 18:11:51 +05:00
//shrinkme.us
/shrinkme.us/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
2024-02-20 04:31:52 +05:00
//test.shrinkurl.org https://github.com/FastForwardTeam/FastForward/issues/1365
/test.shrinkurl.org/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
/test.shrinkurl.org/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-02-16 06:59:04 +05:00
//fc-lc
/fc-lc.(xyz|com)/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
2024-03-11 00:14:05 +05:00
// extra steps for some fc-lc cases: https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8736277
/tmail.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#next' ) } ) : null ;
/tmail.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#scroll' ) } ) : null ;
/tmail.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#glink' ) } ) : null ;
/tmail.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#surl' ) } ) : null ;
2024-02-16 04:45:46 +05:00
2024-03-11 01:32:28 +05:00
//cpmlink.net
/cpmlink.net\/go/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#btn-main' ) } ) : null ;
2024-02-23 07:21:54 +05:00
//kingshortener.com (seen used in reidostorrents.com)
/kingshortener.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
/kingshortener.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-02-17 15:05:15 +05:00
//shareus.io https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/2
2024-02-15 18:11:51 +05:00
/shareus.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( '#root > div > main > div.main-container-1 > div.main-container-2 > div:nth-child(1) > div.adunit-container > button' ) } ) : null ;
2024-02-18 01:54:57 +05:00
// shareus.io (type 2) https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8501665
if ( /shareus\.io\/go\?sid=/ . test ( url ) ) {
popupsToRedirects ( ) ;
let selector = '#custom-root > div > div:nth-child(3) > div.flex.align-center.space-between.button-texts > button.MuiButtonBase-root.MuiButton-root.MuiButton-contained.MuiButton-containedPrimary.MuiButton-sizeLarge.MuiButton-containedSizeLarge.MuiButton-root.MuiButton-contained.MuiButton-containedPrimary.MuiButton-sizeLarge.MuiButton-containedSizeLarge.css-s7ybtv' ;
afterDOMLoaded ( function ( ) { setTimeout ( ( ) => { clickIfExists ( selector ) ; } , 1000 ) ; } )
}
2024-02-15 20:56:02 +05:00
//verpeliculasonline.org && subtituladas.com
/(verpeliculasonline.org|subtituladas.com)\/enlace/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( document . getElementById ( 'link' ) . href . split ( '?s=' ) [ 1 ] ) } ) : null ;
2024-02-15 21:49:02 +05:00
//maxcine.net
/links.cuevana.ac\/short/ . test ( url ) ? afterDOMLoaded ( function ( ) {
var extractedUrl = document . documentElement . innerHTML . split ( '\n' ) . find ( line => line . includes ( "document.getElementById('contador').href = 'htt" ) ) . split ( "href" ) [ 1 ] . match ( /'([^']+)'/ ) [ 1 ] ;
extractedUrl . includes ( '?s=' ) ? redirect ( extractedUrl . split ( '?s=' ) [ 1 ] ) : redirect ( extractedUrl ) ;
} ) : null ;
2024-02-15 22:14:49 +05:00
//ouo.io
2024-02-20 20:47:41 +05:00
/ouo.io/ . test ( url ) && url . includes ( '?s=' ) ? redirect ( decodeURIComponent ( url . split ( '?s=' ) [ 1 ] ) ) : null ;
2024-02-15 22:14:49 +05:00
/ouo.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#btn-main' ) } ) : null ;
2024-03-10 17:35:19 +05:00
//exeo.app
/exeo.app/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#submit-button' ) } ) : null ;
2024-02-22 07:05:47 +05:00
//vegamovies, worldfree4u, desiremovies.wales, hdhub4u.re ... https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8508217
2024-02-21 06:15:50 +05:00
const redirectOrClickIfExistsEnabledWithDelay = ( selector ) => { afterDOMLoaded ( function ( ) { //Wait for the page to load
let intervalId = setInterval ( ( ) => { //Check every 0.5s
let button = document . querySelector ( selector + ':not(.disabled)' ) ; //Check the element is not disabled
if ( button ) { setTimeout ( ( ) => { isValidUrl ( button . href ) ? redirect ( button . href ) : button . click ( ) ; } , 100 ) ; } //Redirect or click, with a 0.1s delay
} , 500 ) ; } ) ; } ;
2024-02-22 06:30:52 +05:00
/((cybertyrant|profitshort|technorozen|hubdrive.me|bestadvise4u|newztalkies|aiotechnical|cryptonewzhub|techvybes|wizitales|101desires|gdspike).com|courselinkfree.us|10desires.(org|net)|theapknews.shop|trendzguruji.me|speedynews.xyz)(?!.*\?r=)/ . test ( url ) ?
2024-02-16 00:45:38 +05:00
redirectOrClickIfExistsEnabledWithDelay ( '.rd_btn' ) : null ;
2024-02-22 00:08:24 +05:00
//vegamovies
/cybertyrant.com\/\?r=/ . test ( url ) ? redirect ( atob ( url . split ( '?r=' ) [ 1 ] ) ) : null ;
// worldfree4u
//bloggingvector.shop\/re/.test(url) ? redirect(atob(url.split('/re/')[1].split('?')[0])) : null; // not necessary, the site does this one by itself for now
2024-02-22 06:30:52 +05:00
// desiremovies.wales
/gyanigurus.net\/view/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#show_button' ) } ) : null ;
2024-02-20 19:06:07 +05:00
//ovagames.com - linkspy.cc & clicksfly.com|shrinkme.io|clk.sh|shrinkearn.com|clk.asia|clk.wiki concatenated - https://github.com/FastForwardTeam/FastForward/issues/1352
2024-02-16 01:29:51 +05:00
if ( /linkspy.cc\/tr/ . test ( url ) ) {
var decodedUrl = atob ( url . split ( '/tr/' ) [ 1 ] ) ;
var urlParam = getParam ( decodedUrl , 'url' ) ;
2024-02-20 19:06:07 +05:00
urlParam ? redirect ( atob ( urlParam ) ) : redirect ( decodedUrl ) ;
2024-02-16 01:29:51 +05:00
}
2024-02-17 15:05:15 +05:00
//dropgalaxy https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/2
2024-02-16 02:32:38 +05:00
/dropgalaxy.(com|co)\/drive/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#method_free' ) } ) : null ;
/dropgalaxy.(com|co)\/drive/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#downloadbtn' ) } ) : null ;
/dropgalaxy.(com|co)\/drive/ . test ( url ) ? afterDOMLoaded ( function ( ) {
var intervalId = setInterval ( function ( ) { // Keep checking if link is available, every 1s
var downloadUrl = document . getElementById ( 'dllink' ) . getAttribute ( 'action' ) ;
if ( downloadUrl ) {
clearInterval ( intervalId ) ;
alert ( 'Press OK to go to the download link:\n' + downloadUrl ) ;
redirect ( downloadUrl )
}
} , 1000 ) ;
} ) : null ;
2024-02-17 15:40:53 +05:00
// short-ly.co https://github.com/FastForwardTeam/FastForward/issues/1363
/short-ly.co/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '.btn-secondary' ) } ) : null ;
2024-02-18 01:54:57 +05:00
// multimovies.uno
//##Intermediate buttons
const handleShamikcardButtons = ( buttonSelector , targetText ) => afterDOMLoaded ( ( ) => setInterval ( ( ) => { const button = document . querySelector ( buttonSelector ) ; if ( button && button . textContent . includes ( targetText ) && ! ( targetText == 'Get Link' ) ) { setTimeout ( ( ) => button . click ( ) , 500 ) ; } } , 2000 ) ) ;
/shramikcard.in/ . test ( url ) ? handleShamikcardButtons ( '#topButton' , 'Click to Continue' ) : null ;
/shramikcard.in/ . test ( url ) ? handleShamikcardButtons ( '#topButton' , 'Continue' ) : null ;
/shramikcard.in/ . test ( url ) ? handleShamikcardButtons ( '#bottomButton' , 'Click to Continue' ) : null ;
/shramikcard.in/ . test ( url ) ? handleShamikcardButtons ( '#bottomButton' , 'Continue' ) : null ;
//##Final button
/shramikcard.in/ . test ( url ) ? ( ( ) => afterDOMLoaded ( ( ) => setInterval ( ( ) => { const button = document . querySelector ( '#bottomButton' ) ; if ( button && button . textContent . includes ( 'Get Link' ) && button . style . display === 'block' ) { setTimeout ( ( ) => button . click ( ) , 2000 ) ; } } , 1000 ) ) ) ( ) : null ; //Final button
2024-02-22 06:56:48 +05:00
// ssrmovies.rent mkvhub.rent
2024-02-18 05:56:31 +05:00
/blogging.techworldx.net/ . test ( url ) ? clickIfVisible ( '.wait > center:nth-child(1) > img:nth-child(1)' ) : null ;
/blogging.techworldx.net/ . test ( url ) ? clickIfVisible ( '#generater > img:nth-child(1)' ) : null ;
/blogging.techworldx.net/ . test ( url ) ? clickIfVisible ( '#showlink' ) : null ;
2024-02-18 17:51:04 +05:00
// starsddl.me
/starsddl.me\/short\/\?anonym=/ . test ( url ) ? redirect ( atob ( url . split ( '?anonym=' ) [ 1 ] ) ) : null ;
2024-02-22 19:04:30 +05:00
// uhdmovies.us (fixed in upstream. Disabling except for the redirect, because it avoids the popups, which are often blocked by browsers)
// /tech.unblockedgames.world/.test(url) ? afterDOMLoaded(function() {clickIfExists('span.block > a:nth-child(1)')}) : null;
// /tech.unblockedgames.world/.test(url) ? afterDOMLoaded(function() {clickIfExists('#verify_button')}) : null;
// /tech.unblockedgames.world/.test(url) ? afterDOMLoaded(function() {clickIfExists('#verify_button2')}) : null;
2024-02-18 17:51:04 +05:00
/tech.unblockedgames.world/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#two_steps_btn' ) } ) : null ;
2024-02-18 22:13:28 +05:00
// seriezloaded.com.ng
2024-02-19 05:17:23 +05:00
/seriezloaded.com.ng\/sl-download\/\?link=/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( document . querySelector ( '.sl-button' ) . getAttribute ( 'onclick' ) . match ( /'(https:\/\/[^']+)'/ ) [ 1 ] ) } ) : null ;
2024-02-18 22:13:28 +05:00
2024-02-18 22:47:41 +05:00
// privatemoviez.baby
/www.itscybertech.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( 'a.button' ) } ) : null ;
/www.itscybertech.com/ . test ( url ) ? clickIfVisible ( '#gtbtn2' ) : null ;
/www.itscybertech.com/ . test ( url ) ? clickIfVisible ( '.download' ) : null ;
/thegadgetking.in/ . test ( url ) ? popupsToRedirects ( ) && afterDOMLoaded ( function ( ) { clickIfExists ( '#openbtn' ) } ) : null ;
2024-02-26 20:50:44 +05:00
// Linkvertise (solve easy case locally, hard case through bypass.city)
/(linkvertise.com|linkvertise.net|link-to.net).*\?r=/ . test ( url ) ? redirect ( atob ( ( new URLSearchParams ( window . location . search ) ) . get ( 'r' ) ) ) : null ; // Solve locally
const solveThroughBypassCity = ( linkShortenerUrl ) => { if ( ! /(bypass.city|adbypass.org)/ . test ( linkShortenerUrl ) ) { redirect ( 'https://adbypass.org/bypass?bypass=' + encodeURIComponent ( linkShortenerUrl ) ) } } ;
/^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|linkvertise.net|link-to.net)(?!.*\?r=)/ . test ( url ) ? solveThroughBypassCity ( url ) : null ;
2024-02-19 08:31:33 +05:00
2024-02-26 20:50:44 +05:00
// Ad-maven (optionally solve through bypass.city, but currently solved through adbypass.eu)
// /^(https?:\/\/)(?!(bypass.city|adbypass.org))(free-content.pro|(ebaticalfel|downbadleaks|megadropsz|megadumpz|stownrusis|iedprivatedqu).com)\/s\?/.test(url) ? solveThroughBypassCity(url) : null;
2024-03-10 17:35:19 +05:00
// empebau.eu used by adbypass.eu
/empebau.eu\/s/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#skip > p:nth-child(1) > a:nth-child(1)' ) } ) : null ;
2024-02-26 20:50:44 +05:00
// Loot-links (optionally solve through bypass.city, but currently solved locally)
// /^(https?:\/\/)(?!(bypass.city|adbypass.org))(loot-link.com|loot-links.com|lootlink.org|lootlinks.co|lootdest.(info|org|com)|links-loot.com|linksloot.net)\/s\?.*$/.test(url) ? solveThroughBypassCity(url) : null;
2024-02-26 17:08:48 +05:00
2024-02-19 19:25:54 +05:00
// Epicload (seen used in t.me/joinchat/3cfq_APl8Hs4N2Ux)
/epicload.com\/files/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '.btn-primary' ) } ) : null ;
/epicload.com\/files/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '.btn-getlink' ) } ) : null ;
2024-02-20 20:19:32 +05:00
// mirrorace, doodrive, tested in fluxyrepacks.site
/woowebtools.com|pallabmobile.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( '.hv-grid > div:nth-child(2) > div:nth-child(1) > form:nth-child(2) > button:nth-child(2)' ) } ) : null ; //continue button
/woowebtools.com|pallabmobile.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( 'body > div:nth-child(5) > div:nth-child(1) > div:nth-child(1) > p:nth-child(4) > button:nth-child(1)' ) } ) : null ; //close anti-adblock banner
/doodrive.com\/f/ . test ( url ) ? window . addEventListener ( "load" , function ( event ) { setTimeout ( function ( ) { clickIfExists ( 'button.uk-button-primary:nth-child(1)' ) } , 1000 ) } ) : null ; //continue button
2024-02-20 22:38:32 +05:00
// taodung.com
2024-02-20 20:47:41 +05:00
/ipamod.com\/redirect-to/ . test ( url ) && url . includes ( '?s=' ) ? redirect ( decodeURIComponent ( url . split ( '?s=' ) [ 1 ] ) ) : null ;
2024-02-20 22:38:32 +05:00
// 9xflix.business
/9xflix\.(\w+)\/m\/goto/ . test ( url ) ? redirect ( url . split ( '/goto/' ) [ 1 ] ) : null ;
2024-02-21 00:07:37 +05:00
// animeacademy.in
/highkeyfinance.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#wpsafelinkhuman' ) } ) : null ;
/highkeyfinance.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#wpsafe-link > a:nth-child(1)' ) } ) : null ;
/tech5s.co/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#go_d2' ) } ) : null ;
/ez4mods.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#go_d' ) } ) : null ;
/ez4short.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.btn' ) } ) : null ;
/bookszone.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#tp98' ) } ) : null ;
/bookszone.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#btn6' ) } ) : null ;
/learnmany.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#tp98' ) } ) : null ;
/learnmany.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#btn6' ) } ) : null ;
/yoshare.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( 'input.btn' ) } ) : null ;
/yoshare.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn6' ) } ) : null ;
/reminimod.co/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#wpsafe-link > a:nth-child(1)' ) } ) : null ;
/blog.disheye.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#gourl' ) } ) : null ;
/techrayzer.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#link' ) } ) : null ;
/techrayzer.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn6' ) } ) : null ;
/techrayzer.com\/insurance/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn--bg-primary' ) } ) : null ;
/techfizia.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#fizia-btn-after > center:nth-child(1) > a:nth-child(1) > button:nth-child(1)' ) } ) : null ;
/lksfy.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.btn' ) } ) : null ;
/droplink.co/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.btn' ) } ) : null ;
/lnks.primarchweb.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn--bg-primary' ) } ) : null ;
2024-02-21 05:51:24 +05:00
// toonhub4u.net
/toonhub4u.net\/redirect\/main.php\?url=/ . test ( url ) ? redirect ( atob ( url . split ( 'url=' ) [ 1 ] ) ) : null ;
2024-02-21 06:15:50 +05:00
// toonsouthindia.com (partial bypass. sometimes it makes you disable ublock and click ads to continue)
const clickIfVisible2 = ( selector ) => setInterval ( ( ) => { const button = document . querySelector ( selector ) ; if ( button && button . style . display === 'block' ) { button . click ( ) ; clearInterval ( intervalId ) ; } } , 1000 ) ;
const clickIfLinkIsReady = buttonSelector => setInterval ( ( ) => { const button = document . querySelector ( buttonSelector ) ; if ( button && button . getAttribute ( 'href' ) !== '#' ) button . click ( ) ; } , 1000 ) ;
2024-03-10 17:54:43 +05:00
/(nhmgujarat|pmyojanasarkari).in|minijankari.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfVisible2 ( '#VerifyBtn' ) } ) : null ;
/(nhmgujarat|pmyojanasarkari).in|minijankari.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfLinkIsReady ( '#NextBtn' ) } ) : null ;
2024-02-21 06:15:50 +05:00
/gplinks.co\/[^/#]+\/(?:#|\?pid=)/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#link-btn > a' ) } ) : null ;
2024-02-21 22:45:21 +05:00
// rareanimes.net
2024-02-21 22:03:13 +05:00
/aipebel.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#wpsafelinkhuman' ) } ) : null ;
/aipebel.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#wpsafe-generate > a > img' ) } ) : null ;
/aipebel.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#image3' ) } ) : null ;
/raretoonsindia.rtilinks.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-02-21 22:45:21 +05:00
///(do|fast).rtilinks.com/.test(url) ? window.addEventListener("load", function(event) {redirectIfExists('a[class^="rti_btn"]')}) : null; //dont bypass because it might give streaming option
///vidhidepro.com\/d/.test(url) ? afterDOMLoaded(function() {clickIfExists('body > main > div > center > div > div > a > span')}) : null; //maybe shouldnt autoclick this one
///vidhidepro.com\/d/.test(url) ? afterDOMLoaded(function() {clickIfExists('#F1 > button > div > div:nth-child(1) > b')}) : null; //maybe shouldnt autoclick this one
2024-02-21 22:03:13 +05:00
// mirrored.to seen in rareanimes.net
/www.mirrored.to\/files\/(?!.*\?hash=)/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( 'body > div.container.dl-width > div:nth-child(4) > div > a' ) } ) : null ;
2024-02-22 01:12:10 +05:00
// skyve.io file host, seen on dodi-repacks.site
2024-02-22 02:04:42 +05:00
const clickIfExistsWithConfirmation = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button ) { clearInterval ( intervalId ) ; if ( confirm ( 'Press OK to download.' ) ) { button . click ( ) ; } } } , 500 ) ; } ;
2024-02-22 01:12:10 +05:00
/skyve.io/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#method_free' ) } ) : null ;
2024-03-11 00:34:42 +05:00
// /skyve.io/.test(url) ? afterDOMLoaded(function() {clickIfExistsWithConfirmation('.bicon')}) : null; //download button
2024-02-22 01:12:10 +05:00
2024-02-22 06:10:49 +05:00
// toonworldtamil.com
///itradercoin.com\/verify\/\?/.test(url) ? redirect('https://blog.filepresident.com/' + url.split('/?')[1]) : null; doesnt work, the site doesnt let you get directly to that URL
const redirectIfVisible = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button && ! button . getAttribute ( 'style' ) . includes ( 'display:none' ) ) { clearInterval ( intervalId ) ; redirect ( button . href ) } } , 500 ) ; } ;
const redirectIfVisible2 = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button && button . getAttribute ( 'style' ) . includes ( 'block' ) ) { clearInterval ( intervalId ) ; redirect ( button . querySelector ( 'a' ) . href ) } } , 500 ) ; } ;
/itradercoin.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfVisible ( '#yuidea-btn-after' ) } ) : null ; //Step 1
/itradercoin.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfVisible2 ( '#yuidea-snp' ) } ) : null ; // Steps 2-3
/blog.filepresident.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( 'a.btn' ) } ) : null ;
2024-02-22 21:49:44 +05:00
// mkvmoviespoint.casa
/mkvmoviespoint.casa\/goto/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( 'body > div:nth-child(7) > a:nth-child(1)' ) } ) : null ;
/w.linkspoint.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '.btnx' ) } ) : null ;
2024-02-26 01:03:26 +05:00
// moviehunt.us
/gdslink.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( document . querySelector ( '.main-wrap > form:nth-child(2) > input:nth-child(1)' ) . value ) } ) : null ;
2024-02-27 05:37:48 +05:00
// link.tnshort.net - https://github.com/FastForwardTeam/FastForward/issues/1368
/financeyogi.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn5' ) } ) : null ;
/financeyogi.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn2' ) } ) : null ;
/jrlinks.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn1' ) } ) : null ;
/jrlinks.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn2' ) } ) : null ;
/go.tnshort.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-02-27 17:08:30 +05:00
// 4fnet.org - https://github.com/FastForwardTeam/FastForward/issues/1298
/www.4fnet.org\/goto/ . test ( url ) ? redirect ( atob ( url . split ( '/goto/' ) [ 1 ] ) ) : null ;
2024-02-27 17:25:20 +05:00
// linkmo.net / adpayl.ink - https://github.com/FastForwardTeam/FastForward/issues/1291 / https://github.com/FastForwardTeam/FastForward/issues/1290
/(linkmo.net|adpayl.ink)\/[^?]+\?data=.+$/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-02-27 17:22:11 +05:00
2024-02-27 17:46:33 +05:00
// musicc.xyz - https://github.com/FastForwardTeam/FastForward/issues/1234 (note: this one is already bypassed by the original script, because it runs on every domain. It was just necessary to let the script run on this domain)
/musicc.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-03-01 23:06:54 +05:00
// zshort.net, shotzon.com - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/5
/(cravesandflames|codesnse).com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( 'button.btn:nth-child(1)' ) } ) : null ;
/go.(cravesandflames|codesnse).com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-03-12 23:22:54 +05:00
// psa.wf (adding here stuff missing from the main script)
/10short.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '.btn' ) } ) : null ;
/zegtrends.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '.bsub' ) } ) : null ;
/zegtrends.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#go1' ) } ) : null ;
/icutlink.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
/motakhokhara.blogspot.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( 'a.safeb' ) } ) : null ;
/motakhokhara.blogspot.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#safesub' ) } ) : null ;
/xpshort.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.btn' ) } ) : null ;
2024-02-20 05:59:53 +05:00
} ) ( ) ;
( function ( ) {
//'use strict';
const url = window . location . href
const boostTimers = ( ) => { const FsT = window . setTimeout ; const FsI = window . setInterval ;
Object . defineProperty ( window , 'setTimeout' , { value : function ( func , delay ) { if ( delay === 1000 ) { delay = 50 ; } return FsT . apply ( this , arguments ) ; } } ) ;
Object . defineProperty ( window , 'setInterval' , { value : function ( func , delay ) { if ( delay === 1000 ) { delay = 50 ; } return FsI . apply ( this , arguments ) ; } } ) ;
} ;
2024-02-22 02:04:42 +05:00
2024-02-20 05:59:53 +05:00
// www.gtaall.com - https://github.com/FastForwardTeam/FastForward/issues/1348
/www.gtaall.com\/get-manual/ . test ( url ) ? boostTimers ( ) : null ;
2024-03-12 23:22:54 +05:00
// psa.wf (adding here stuff missing from the main script)
/motakhokhara.blogspot.com/ . test ( url ) ? boostTimers ( ) : null ;
2024-02-15 01:34:19 +05:00
} ) ( ) ;
// ----- ----- -----