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-05-31 18:48:26 +05:00
// @include /(mundopolo.net|myfirstdollar.net|adsense.tupaste.top|acorta2.com|web.admoneyclick.net|acortaphd.live|onlypc.net|link.manudatos.com)/
2024-02-15 01:34:19 +05:00
// @include /comohoy.com/
// @include /sphinxanime.com\/short/
2024-02-15 21:56:23 +05:00
// @include /japan-paw.net\/out/
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-04-21 18:02:53 +05:00
// @include /shrinkme.(us|site|cc)/
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-05-07 20:31:42 +05:00
// @include /exeo.app|mrgec.com|cety.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-05-26 19:40:02 +05:00
// @include /www.ovagames.com\/.*\.html$/
2024-04-16 19:29:03 +05:00
// @include /((cybertyrant|profitshort|technorozen|hubdrive.me|bestadvise4u|newztalkies|aiotechnical|cryptonewzhub|techvybes|wizitales|101desires|gdspike|caronwhaley|maxxfour|thewizitale).com|courselinkfree.us|10desires.(org|net)|theapknews.shop|trendzguruji.me|speedynews.xyz|nzarticles.pro|blog.offerboom.top)/
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-06-01 18:00:53 +05:00
// @include /(shramikcard|pmkisanlists|techishant).in|cookad.net|tejtime24.com/
2024-04-13 03:44:12 +05:00
// @include /blogging.techworldx.net|10beasts.biz/
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-03-15 04:05:01 +05:00
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(linkvertise.com|(linkvertise|link-to).net)/
2024-06-11 01:11:37 +05:00
// @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(free-content.pro|(ebaticalfel|downbadleaks|megadropsz|megadumpz|stownrusis|iedprivatedqu|megaspremium|premiumstashdrop|teenspremium|kmendation|eofmukindwo).com)|best-links.org\/s\?/
2024-02-26 20:50:44 +05:00
// @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-04-07 06:22:09 +05:00
// @include /toonhub4u\.net\/([^\/]+)\/$/
2024-03-19 19:47:11 +05:00
// @include /mdsuuniversity.org|instander.me|jameen.xyz|dhamakamusic.ink|eternalcbse.i|financialstudy.me|(foreverhealth|newzwala.co|nhmgujarat|jobkijankari|jobwaala|learnwithsaif|lyricsx|smartsetkari|theringtonesworld|recruitmentrasta|mediniweb|pmyojanasarkari|netflixvip|mghindinews|gentletrail|w3hindi|ryzenmusic).in|(anumin|awolio|cgbsesupport|gptproguide|iplquotes|kaisekareblog|minijankari|news36tech|newsloti|odiamusicsong|sugargliderfaqs|picassoappk|geniuseducares|ndlifestylego|raidersixgameapk|sarkariexam365|potter-world|jankari4u|trancebazar|taazaalerts).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-03-14 00:11:40 +05:00
// @include /(itradercoin|nichapk|easyworldbusiness|riveh).com/
2024-02-22 06:10:49 +05:00
// @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-05-29 16:56:21 +05:00
// @include /empebau.eu\/s\/linker/
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-03-12 23:36:18 +05:00
// @include /jobzspk.xyz/
// @include /urls.cx/
2024-03-13 03:34:52 +05:00
// @include /sunci.net/
2024-03-14 00:22:51 +05:00
// @include /(adclicker.(io|info)|(discoveryultrasecure|yourihollier).com)\/url\/\#/
2024-04-29 20:18:34 +05:00
// @include /antonimos.de|tiktokcounter.net|tiktokrealtime.com|tpayr.xyz|quesignifi.ca|lifgam.online|waezf.xyz|ashrfd.xyz/
2024-03-14 23:29:59 +05:00
// @include /minimilionario.com\/noticia.php\?token=/
2024-03-15 04:05:01 +05:00
// @include /usandoapp.com/
2024-04-21 17:45:13 +05:00
// @include /v2links.(com|me)/
2024-04-21 18:07:53 +05:00
// @include /(utkarshonlinetest|newsbawa).com/
2024-03-16 08:22:01 +05:00
// @include /techtnet.com/
2024-03-16 21:31:35 +05:00
// @include /asideway.com/
2024-03-16 21:54:07 +05:00
// @include /web1s.asia\/api-mode/
2024-03-16 21:31:35 +05:00
// @include /(linkvip|blitly).io/
2024-03-17 02:01:38 +05:00
// @include /^https:\/\/megalink.pro\/[a-zA-Z0-9]+$/
2024-04-21 19:54:16 +05:00
// @include /lnbz.la/
2024-05-22 16:01:46 +05:00
// @include /tii.la|oko.sh|shrinke.me|clk.wiki|techy.veganab.co|atglinks.com|linx.cc|get.megaurl.in|wordcounter.icu|exeo.app|pwrpa.cc|(go|get).megafly.in|birdurls.com|blog.graphicuv.com|try2link.com|owllink.net|oei.la/
2024-04-21 17:34:06 +05:00
// @include /ez4short.com\/[^\/]+\/\?token=[^\/]+$/
2024-03-17 05:03:48 +05:00
// @include /shon.xyz/
2024-03-17 21:17:13 +05:00
// @include /veganab.co\/\?link=/
2024-03-17 21:45:48 +05:00
// @include /veganab.co/
// @include /camdigest.com/
2024-03-17 21:17:13 +05:00
// @include /tawda.xyz\/tag/
2024-03-17 22:06:27 +05:00
// @include /pastebin.com\/raw/
2024-03-19 05:54:59 +05:00
// @include /spacetica.com/
2024-03-19 16:46:11 +05:00
// @include /linegee.net|intercelestial.com/
2024-04-18 17:32:51 +05:00
// @include /(loanoffering|djmp3world).in|moonplusnews.com/
2024-03-23 08:46:21 +05:00
// @include /modijiurl.com/
2024-03-23 09:11:16 +05:00
// @include /4hi.in/
2024-03-23 09:20:42 +05:00
// @include /lnk.news/
2024-03-25 01:49:49 +05:00
// @include /imagereviser.com/
// @include /upshrink.com/
2024-03-27 04:39:25 +05:00
// @include /bangclinic.life/
// @include /dow-dow-dow-dow-dow.xyz\/download\/\?id=/
// @include /ofilmetorrent.com\/download\/\?id=/
// @include /librospdfgratismundo.net/
2024-04-05 03:11:29 +05:00
// @include /besargaji.com/
// @include /moneyblink.com\/ready\/go\?u=/
2024-04-08 00:18:10 +05:00
// @include /dw-anime.net\/short\/\?anonym=/
2024-04-08 01:28:43 +05:00
// @include /fiuxy2.co\/threads/
2024-04-08 15:45:04 +05:00
// @include /megalinks.info\/index.php\?v=/
2024-04-08 18:48:36 +05:00
// @include /ocultandoo.blogspot.com/
2024-04-12 10:50:21 +05:00
// @include /rodimalam.com/
2024-04-12 16:33:15 +05:00
// @include /platinsport.com/
2024-04-20 05:54:04 +05:00
// @include /(ay.live|aylink.co|gitlink.pro)\/[^\/]+$/
// @include /(lopteapi.com|1link.vip|blitly.io|web1s.com|megalink.pro)\/[^\/]+$/
2024-04-20 19:13:22 +05:00
// @include /short-url.link\/[^\/]+$/
2024-04-21 01:06:32 +05:00
// @include /urlx.one\/[^\/]+$/
2024-04-21 02:19:34 +05:00
// @include /trimorspacks.com|pastescript.com|updrop.link/
2024-04-21 23:34:04 +05:00
// @include /earnmoneyyt.com/
// @include /sheralinks.com/
2024-04-21 23:45:28 +05:00
// @include /go.bloggingaro.com/
// @include /land.povathemes.com/
2024-04-22 15:31:14 +05:00
// @include /pahe.plus/
2024-04-30 20:18:09 +05:00
// @include /www.(sinsitio.site|dixva.com)\/out\/\?go=/
// @include /www.yitarx.com/
2024-05-04 02:38:33 +05:00
// @include /myshrinker.com/
2024-05-05 16:24:41 +05:00
// @include /thotpacks.xyz/
2024-05-09 17:21:23 +05:00
// @include /readytechflip.com/
// @include /fitnessholic.net\/token.php\?post=/
2024-05-09 18:00:15 +05:00
// @include /fitnessholic.net/
2024-06-01 18:00:53 +05:00
// @include /linkshortify.in/
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-04-08 01:28:43 +05:00
const rot13 = str => str . replace ( /[A-Za-z]/g , char => String . fromCharCode ( ( char . charCodeAt ( 0 ) % 32 + 13 ) % 26 + ( char < 'a' ? 65 : 97 ) ) ) ;
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-03-17 22:06:27 +05:00
const isValidUrl = url => / ^ ( ? : https ? | ftp ) : \ / \ / ( ? : \ w + \ . ) { 1 , 3 } \ w + ( ? : \ / \ S * ) ? $ / . test ( url ) ;
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-03-13 19:46:53 +05:00
const preventForcedFocusOnWindow = ( ) => { window . mouseleave = true ; window . onmouseover = true ; document . hasFocus = function ( ) { return true ; } ; Object . defineProperty ( document , 'webkitVisibilityState' , { get ( ) { return 'visible' ; } } ) ;
Object . defineProperty ( document , 'visibilityState' , { get ( ) { return 'visible' ; } } ) ; window . addEventListener ( 'visibilitychange' , function ( e ) { e . stopImmediatePropagation ( ) ; } , true , true ) ;
window . addEventListener ( 'focus' , onfocus , true ) ; document . addEventListener ( 'visibilitychange' , function ( e ) { e . stopImmediatePropagation ( ) ; } , true , true ) ; Object . defineProperty ( document , 'hidden' , { get ( ) { return false ; } } ) ; } ;
2024-02-15 01:34:19 +05:00
2024-05-31 18:48:26 +05:00
//peliculasgd.net, animesgd.net, club-hd.com, librolandia.net, pelishd4k.com, programasvirtualespc.net, pasteprivado.blogspot.com
/(mundopolo.net|myfirstdollar.net|adsense.tupaste.top|acorta2.com|web.admoneyclick.net|acortaphd.live|onlypc.net|link.manudatos.com)/ . test ( url ) ? redirect ( decodeURIComponent ( atob ( atob ( atob ( url . split ( '#!' ) [ 1 ] ) ) ) ) ) : null ;
2024-05-01 03:41:16 +05:00
2024-04-08 00:18:10 +05:00
// dw-anime.net
/dw-anime.net\/short\/\?anonym=/ . test ( url ) ? redirect ( atob ( url . split ( '?anonym=' ) [ 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-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-03-16 08:22:01 +05:00
// linkneverdie.net
/techtnet.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
/techtnet.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#originalLink' ) } ) : null ;
2024-02-15 18:11:51 +05:00
//shrinkme.us
2024-04-21 18:02:53 +05:00
/shrinkme.(us|site|cc)/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
2024-02-15 18:11:51 +05:00
2024-05-04 02:38:33 +05:00
//freecoursesite.com 2nd step - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/43
/myshrinker.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
/myshrinker.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : 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
2024-03-18 03:32:09 +05:00
///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-05-07 20:31:42 +05:00
//cuty.io - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/46
/exeo.app|mrgec.com|cety.app/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#submit-button' ) } ) : null ;
2024-03-10 17:35:19 +05:00
2024-04-21 19:54:16 +05:00
//oko.sh
/lnbz.la/ . test ( url ) ? afterDOMLoaded ( function ( ) { timeSec = 0 ; afterElementVisible ( 'form' , function ( ) { clickIfExists ( 'button#getlink.btn-success' ) ; } ) } ) : null ;
2024-03-17 02:50:43 +05:00
// tii.la oko.sh final step
2024-05-22 16:01:46 +05:00
/tii.la|oko.sh|shrinke.me|clk.wiki|techy.veganab.co|atglinks.com|linx.cc|get.megaurl.in|wordcounter.icu|exeo.app|pwrpa.cc|(go|get).megafly.in|birdurls.com|blog.graphicuv.com|try2link.com|owllink.net|oei.la/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-04-21 17:34:06 +05:00
/ez4short.com\/[^\/]+\/\?token=[^\/]+$/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled2 ( '#aaoii2o' ) } ) : null ;
2024-03-17 02:50:43 +05:00
2024-03-17 05:03:48 +05:00
// shon.xyz, seen in mega-descargas-serie.blogspot.com
/shon.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn-main' ) } ) : null ;
2024-04-13 03:44:12 +05:00
//vegamovies, worldfree4u, desiremovies.wales, hdhub4u.rsvp ... 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-04-16 19:29:03 +05:00
if ( /((cybertyrant|profitshort|technorozen|hubdrive.me|bestadvise4u|newztalkies|aiotechnical|cryptonewzhub|techvybes|wizitales|101desires|gdspike|caronwhaley|maxxfour|thewizitale).com|courselinkfree.us|10desires.(org|net)|theapknews.shop|trendzguruji.me|speedynews.xyz|nzarticles.pro|blog.offerboom.top)/ . test ( url ) ) {
2024-03-17 05:26:49 +05:00
if ( url . includes ( '?r=' ) ) redirect ( atob ( url . split ( '?r=' ) [ 1 ] ) ) ;
else redirectOrClickIfExistsEnabledWithDelay ( '.rd_btn' ) ;
}
2024-02-22 00:08:24 +05:00
// 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-05-26 19:40:02 +05:00
/www.ovagames.com\/.*\.html$/ . test ( url ) ? afterWindowLoaded ( function ( ) {
document . querySelectorAll ( 'a[href*="https://l4s.cc/q/e/1f/aHR0"]' ) . forEach ( link => {
let decodedUrl = atob ( link . getAttribute ( 'href' ) . split ( '/1f/' ) [ 1 ] ) ;
let urlParam = getParam ( decodedUrl , 'url' ) ;
urlParam ? link . href = atob ( urlParam ) : link . href = decodedUrl ;
} ) ; } ) : null ;
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-05-20 19:06:56 +05:00
/dropgalaxy.(com|co)\/drive/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#method_free' ) } ) : null ; //1st page
// /dropgalaxy.(com|co)\/drive/.test(url) ? afterDOMLoaded(function() {clickIfNotDisabled('#downloadbtn')}) : null; //2nd page
// /dropgalaxy.(com|co)\/drive/.test(url) ? afterDOMLoaded(function() { //3rd page
// 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-16 02:32:38 +05:00
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-06-01 18:00:53 +05:00
// multimovies.space, https://github.com/FastForwardTeam/FastForward/issues/1434
2024-02-18 01:54:57 +05:00
//##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 ) ) ;
2024-06-01 18:00:53 +05:00
if ( /(shramikcard|pmkisanlists|techishant).in|cookad.net|tejtime24.com/ . test ( url ) ) {
2024-04-09 04:25:34 +05:00
preventForcedFocusOnWindow ( ) ; //preventForcedFocusOnWindow not working for this site apparently
2024-04-09 04:20:21 +05:00
handleShamikcardButtons ( '#topButton' , 'Click to Continue' ) ;
handleShamikcardButtons ( '#topButton' , 'Continue' ) ;
handleShamikcardButtons ( '#bottomButton' , 'Click to Continue' ) ;
handleShamikcardButtons ( '#bottomButton' , 'Continue' ) ;
2024-06-01 18:00:53 +05:00
handleShamikcardButtons ( '#bottomButton' , 'Next' ) ; // added for https://lksfy.com/59EhFF
2024-04-09 04:20:21 +05:00
//##Final button
( ( ) => afterDOMLoaded ( ( ) => setInterval ( ( ) => { const button = document . querySelector ( '#bottomButton' ) ; if ( button && button . textContent . includes ( 'Get Link' ) && button . style . display === 'block' ) { setTimeout ( ( ) => button . click ( ) , 2000 ) ; } } , 1000 ) ) ) ( ) ; //Final button
}
2024-06-01 18:00:53 +05:00
/linkshortify.in/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ; // added for https://lksfy.com/59EhFF
2024-02-18 01:54:57 +05:00
2024-04-13 03:44:12 +05:00
// ssrmovies.rent mkvhub.rent hdhub4u.rsvp
if ( /blogging.techworldx.net|10beasts.biz/ . test ( url ) ) {
popupsToRedirects ( ) ; //popupsToRedirects not working for this site apparently
clickIfVisible ( '.wait > center:nth-child(1) > img:nth-child(1)' ) ;
clickIfVisible ( '#generater > img:nth-child(1)' ) ;
clickIfVisible ( '#showlink' ) ;
}
2024-02-18 05:56:31 +05:00
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-03-29 06:55:37 +05:00
// privatemoviez.homes
/www.itscybertech.com/ . test ( url ) ? popupsToRedirects ( ) : null ;
2024-02-18 22:47:41 +05:00
/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-03-15 04:05:01 +05:00
// Linkvertise
2024-03-18 01:10:14 +05:00
const solveThroughBypassCity = ( linkShortenerUrl ) => { if ( ! /(bypass.city|adbypass.org)/ . test ( linkShortenerUrl ) ) { redirect ( 'https://adbypass.org/bypass?bypass=' + encodeURIComponent ( linkShortenerUrl ) ) } } ;
2024-03-15 04:05:01 +05:00
if ( /linkvertise.com|(linkvertise|link-to).net/ . test ( url ) ) {
//solve easy case locally
let rParam = new URLSearchParams ( window . location . search ) . get ( 'r' ) ;
if ( rParam ) {
redirect ( atob ( rParam ) ) ;
// solve hard case through bypass.city
} else {
solveThroughBypassCity ( url ) ;
}
}
2024-02-19 08:31:33 +05:00
2024-04-14 00:38:04 +05:00
// bstlar.com - not supported by bypass.city anymore
2024-04-14 00:45:47 +05:00
// // @include /^(https?:\/\/)(?!(bypass.city|adbypass.org))(bstlar.com)/
2024-04-14 00:38:04 +05:00
// /bstlar.com/.test(url) ? solveThroughBypassCity(url) : null;
2024-03-18 01:10:14 +05:00
2024-05-17 03:58:54 +05:00
// Ad-maven
2024-06-11 01:11:37 +05:00
/^(https?:\/\/)(?!(bypass.city|adbypass.org))(free-content.pro|(ebaticalfel|downbadleaks|megadropsz|megadumpz|stownrusis|iedprivatedqu|megaspremium|premiumstashdrop|teenspremium|kmendation|eofmukindwo).com)|best-links.org\/s\?/ . test ( url ) ? solveThroughBypassCity ( url ) : null ;
2024-02-26 20:50:44 +05:00
2024-05-29 16:56:21 +05:00
// empebau.eu after ad-maven links
2024-05-29 16:59:15 +05:00
/empebau.eu\/s\/linker\/.*/ . test ( url ) ? afterWindowLoaded ( function ( ) {
2024-05-29 16:56:21 +05:00
const targetUrl = document . querySelector ( '#box > p:nth-child(1) > a:nth-child(1)' ) . href ;
if ( ! targetUrl . startsWith ( 'https://empebau.eu' ) ) { redirect ( targetUrl ) }
} ) : null ;
2024-03-10 17:35:19 +05:00
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-04-21 23:34:04 +05:00
// toonshub.xyz - https://earnmoneyyt.com/safe.php?link=RNRm2b2H
/earnmoneyyt.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#tp98' ) } ) : null ;
/earnmoneyyt.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn6' ) } ) : null ;
/earnmoneyyt.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '.tp-blue' ) } ) : null ;
/sheralinks.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-04-21 23:45:28 +05:00
/go.bloggingaro.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
/land.povathemes.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-02-21 00:07:37 +05:00
2024-03-21 01:14:25 +05:00
// gplinks, used in psa.wf sometimes, changes domains daily, use https://greasyfork.org/scripts/490365 instead
2024-03-19 19:47:11 +05:00
if ( /mdsuuniversity.org|instander.me|jameen.xyz|dhamakamusic.ink|eternalcbse.i|financialstudy.me|(foreverhealth|newzwala.co|nhmgujarat|jobkijankari|jobwaala|learnwithsaif|lyricsx|smartsetkari|theringtonesworld|recruitmentrasta|mediniweb|pmyojanasarkari|netflixvip|mghindinews|gentletrail|w3hindi|ryzenmusic).in|(anumin|awolio|cgbsesupport|gptproguide|iplquotes|kaisekareblog|minijankari|news36tech|newsloti|odiamusicsong|sugargliderfaqs|picassoappk|geniuseducares|ndlifestylego|raidersixgameapk|sarkariexam365|potter-world|jankari4u|trancebazar|taazaalerts).com/ . test ( url ) ) {
2024-03-17 19:46:09 +05:00
const clickIfVisible2 = ( selector ) => setInterval ( ( ) => { const button = document . querySelector ( selector ) ; if ( button && button . style . display === 'block' ) { setTimeout ( function ( ) { button . click ( ) } , 500 ) ; ; clearInterval ( intervalId ) ; } } , 1000 ) ;
const clickIfLinkIsReady = buttonSelector => setInterval ( ( ) => { const button = document . querySelector ( buttonSelector ) ; if ( button && button . getAttribute ( 'href' ) !== '#' ) setTimeout ( function ( ) { button . click ( ) } , 500 ) ; ; } , 1000 ) ;
2024-03-13 23:49:48 +05:00
afterDOMLoaded ( function ( ) {
count = 0 ; //Skip the timer
clickIfVisible2 ( '#VerifyBtn' ) ;
clickIfLinkIsReady ( '#NextBtn' ) ;
} ) ;
}
2024-03-17 02:11:49 +05:00
/gplinks.co\/[^/#]+\/(?:#|\?pid=)/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#link-btn > a' ) } ) : null ;
2024-02-21 06:15:50 +05:00
2024-03-21 01:14:25 +05:00
// gtlinks, used in toonsouthindia.com
/tech.hipsonyc.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '.bt-success' ) } ) : null ;
/tech.hipsonyc.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#popup-button' ) } ) : null ;
/tech.hipsonyc.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#gotolink' ) } ) : null ;
/golink.gyanitheme.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-03-17 21:17:13 +05:00
// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/10
2024-03-17 21:45:48 +05:00
// /veganab.co\/\?link=/.test(url) ? redirect('https://za.gl/' + url.split('?link=')[1]) : null;
// https://greasyfork.org/en/scripts/431691-bypass-all-shortlinks/discussions/165265
/veganab.co/ . test ( url ) ? popupsToRedirects ( ) : null ;
/veganab.co/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( 'button.btn-hover:nth-child(2)' ) } ) : null ;
const extractLinkFromButtonOnclick = buttonElement => buttonElement . getAttribute ( "onclick" ) . match ( /window\.open\('([^']+)'/ ) [ 1 ] ;
const redirectToOnclickIfExists = ( selector ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button ) { clearInterval ( intervalId ) ; redirect ( extractLinkFromButtonOnclick ( button ) ) } } , 500 ) ; } ;
/camdigest.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectToOnclickIfExists ( '#wpsafe-link > a:nth-child(1) > button:nth-child(1)' ) } ) : null ;
2024-03-18 00:17:47 +05:00
/pastebin.com\/raw/ . test ( url ) ? afterDOMLoaded ( function ( ) { const rawContent = document . body . textContent . trim ( ) ; isValidUrl ( rawContent ) ? setTimeout ( ( ) => { redirect ( rawContent ) } , 1500 ) : null ; } ) : null ; //for firefox, with afterDOMLoaded (must be first)
/pastebin.com\/raw/ . test ( url ) ? ! function ( ) { const rawContent = document . body . textContent . trim ( ) ; isValidUrl ( rawContent ) ? setTimeout ( ( ) => { redirect ( rawContent ) } , 1500 ) : null ; } ( ) : null ; //for chrome, without afterDOMLoaded (must be second)
2024-03-17 21:45:48 +05:00
2024-03-17 21:17:13 +05:00
const clickIfCorrectText = ( selector , textContent ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button && button . innerText . includes ( textContent ) ) { clearInterval ( intervalId ) ; setTimeout ( ( ) => { button . click ( ) ; } , 500 ) ; } } , 500 ) ; } ;
2024-03-19 19:49:52 +05:00
/tawda.xyz\/tag/ . test ( url ) ? preventForcedFocusOnWindow ( ) : null ;
2024-03-17 21:17:13 +05:00
/tawda.xyz\/tag/ . test ( url ) ? popupsToRedirects ( ) : null ;
/tawda.xyz\/tag/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfCorrectText ( '#continueButton' , 'Click to continue' ) } ) : 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-03-14 00:11:40 +05:00
// toonworldtamil.net
///(itradercoin|nichapk|easyworldbusiness|riveh).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
if ( /(itradercoin|nichapk|easyworldbusiness|riveh).com/ . test ( 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 ) ; } ;
afterDOMLoaded ( function ( ) {
redirectIfVisible ( '#yuidea-btn-after' ) ; //Step 1
count = 0 ; // skip timer
redirectIfVisible2 ( '#yuidea-snp' ) ; // Steps 2-3
} ) ; }
2024-02-22 06:10:49 +05:00
/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-04-21 17:45:13 +05:00
// olamovies.icu - https://v2links.me/q1z4ssolam //add stuff missing from the main script
/v2links.(com|me)/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-04-21 18:07:53 +05:00
/(utkarshonlinetest|newsbawa).com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#GetLink' ) } ) : null ;
2024-03-15 15:17:11 +05:00
// psa.wf, olamovies.bar, https://ez4short.com/ar02kkolam - (adding here stuff missing from the main script)
2024-04-17 19:40:56 +05:00
///tiktokcounter.net/.test(url) ? preventForcedFocusOnWindow() : null;
2024-04-30 17:53:18 +05:00
// /antonimos.de|tiktokcounter.net|tiktokrealtime.com|tpayr.xyz|quesignifi.ca|lifgam.online|waezf.xyz|ashrfd.xyz/.test(url) ? setInterval(function(){window.wT9882=0;},1000) : null;
2024-03-15 15:17:11 +05:00
// /tiktokcounter.net/.test(url) ? afterDOMLoaded(function() {wT9982 = 0;}) : null; //Skip the timer
// const clickTikTokCounterButtons = () => { let buttonSelector = 'button#cbt.btn.btn-warningbtn.btn-primary'; let intervalId = setInterval(() => { let button = document.querySelector(buttonSelector); if (!button.hasAttribute('disabled') && button.innerHTML.includes('Continue')) { clearInterval(intervalId); isHoverDone = true; setTimeout(function() { button.click();}, 500) } }, 500); };
// /tiktokcounter.net/.test(url) ? afterDOMLoaded(function() {clickTikTokCounterButtons()}) : null;
2024-03-13 20:27:40 +05:00
2024-03-15 15:17:11 +05:00
// psa.wf
2024-03-12 23:22:54 +05:00
/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-03-12 23:36:18 +05:00
/jobzspk.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn1' ) } ) : null ;
/jobzspk.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn2' ) } ) : null ;
/jobzspk.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn4' ) } ) : null ;
/jobzspk.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn5' ) } ) : null ;
/urls.cx/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( '.video-button' ) } ) : null ;
2024-03-12 23:22:54 +05:00
2024-03-13 03:34:52 +05:00
//suncy.net (upfiles.com) (seen used in fiuxy2.co)
/sunci.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( 'button#link-button.btn-primary:not(.btn-download)' ) } ) : null ;
2024-03-13 05:50:07 +05:00
// AdClicker (used in animesgd.net and many others)
2024-03-14 00:22:51 +05:00
if ( /(adclicker.(io|info)|(discoveryultrasecure|yourihollier).com)\/url\/\#/ . test ( url ) ) {
2024-03-13 05:50:07 +05:00
var decodedUrl = decodeURIComponent ( atob ( atob ( atob ( url . split ( '/url/#' ) [ 1 ] ) ) ) ) ;
2024-03-13 06:53:55 +05:00
if ( decodedUrl . includes ( '&url=' ) ) { decodedUrl = decodedUrl . split ( '&' ) [ 1 ] ; }
var urlParam = new URLSearchParams ( decodedUrl ) . get ( 'url' ) ;
if ( urlParam ) { redirect ( urlParam ) ; }
2024-03-13 05:50:07 +05:00
}
2024-03-14 23:29:59 +05:00
// filmesmega.online
/minimilionario.com\/noticia.php\?token=/ . test ( url ) ? redirect ( atob ( url . split ( '?token=' ) [ 1 ] ) ) : null ;
2024-03-15 04:05:01 +05:00
// ontorrent.org
/usandoapp.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '.DownloadButOn' ) } ) : null ;
2024-03-16 21:31:35 +05:00
// web1s - examples: (nsfw) https://github.com/AdguardTeam/AdguardFilters/issues/154319 / https://t.me/s/cosplaydistrict / https://discord.com/invite/mtMGnm9aTd
2024-03-16 21:54:07 +05:00
/web1s.asia\/api-mode/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#submit' ) } ) : null ;
/web1s.asia\/api-mode/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#submit-button' ) } ) : null ;
2024-03-16 21:31:35 +05:00
// asideway sub-link-shortener. example: https://asideway.com/normal/j5GLNIDiHq/
/asideway.com/ . test ( url ) ? afterWindowLoaded ( function ( ) { count = 0 ; } ) : null ;
const clickIfVisible4 = ( selector , textContent ) => { let intervalId = setInterval ( ( ) => { let button = document . querySelector ( selector ) ; if ( button && button . style . display . includes ( 'block' ) && button . innerText . includes ( textContent ) && ! button . hasAttribute ( 'disabled' ) ) { clearInterval ( intervalId ) ; setTimeout ( ( ) => { button . click ( ) ; } , 500 ) ; } } , 500 ) ; } ;
/asideway.com/ . test ( url ) ? afterWindowLoaded ( function ( ) { clickIfVisible4 ( '#link1s' , '1/2' ) } ) : null ;
/asideway.com/ . test ( url ) ? afterWindowLoaded ( function ( ) { clickIfVisible4 ( '#link1s' , '2/2' ) } ) : null ;
// linkvip.io blitly.io sub-link-shortener. example: https://linkvip.io/redirect?api=9VAupEozzdsn3k6tMTcLWL4DJ&url=https://drive.google.com/drive/folders/1vvSM0OXgnZTcALJeThAkIRxzRBRsBGjm?usp=sharing
/(linkvip|blitly).io/ . test ( url ) ? url . includes ( 'url=' ) ? redirect ( new URL ( url ) . searchParams . get ( 'url' ) ) : null : null ;
2024-03-17 02:20:30 +05:00
// megalink.pro - https://greasyfork.org/en/scripts/431691-bypass-all-shortlinks/discussions/235270 - https://megalink.pro/pD6wK (nsfw)
/megalink.pro\/[a-zA-Z0-9]+$/ . test ( url ) ? afterWindowLoaded ( function ( ) { setTimeout ( function ( ) { clickIfNotDisabled ( 'a.btn:nth-child(1)' ) } , 3000 ) } ) : null ;
2024-03-19 05:54:59 +05:00
//pahe.ink final step
2024-03-19 16:46:11 +05:00
/linegee.net|intercelestial.com/ . test ( url ) ? preventForcedFocusOnWindow ( ) : null ;
2024-03-19 06:18:42 +05:00
/spacetica.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( 'center a' ) } ) : null ;
2024-05-04 17:37:33 +05:00
/pahe.plus/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) } ) : null ;
2024-04-22 15:31:14 +05:00
/pahe.plus/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-03-19 05:54:59 +05:00
2024-05-02 21:26:48 +05:00
// https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8878055 / https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-9061651 / https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-9296298
2024-04-18 17:32:51 +05:00
if ( /(loanoffering|djmp3world).in|moonplusnews.com/ . test ( url ) ) { afterDOMLoaded ( function ( ) {
2024-05-02 21:26:48 +05:00
clickIfExists ( '#startButton' ) ; clickIfExists ( '#verifybtn' ) ; clickIfExists ( '#tp98' ) ; clickIfExists ( '#tp44' ) ;
2024-03-23 08:46:21 +05:00
clickIfExists ( '#tp4' ) ; clickIfExists ( '#tp3' ) ; clickIfExists ( '#rtg-snp2' ) ; } ) }
2024-05-02 21:26:48 +05:00
/modijiurl.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled2 ( 'a.get-link' ) } ) : null ;
2024-03-23 08:46:21 +05:00
2024-03-23 09:11:16 +05:00
// https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8884375
if ( /4hi.in/ . test ( url ) ) { afterDOMLoaded ( function ( ) {
clickIfExists ( '.btn-warning:not(.btn-captcha)' ) ;
clickIfNotDisabled ( '#invisibleCaptchaShortlink' ) ;
redirectIfNotDisabled ( 'a.get-link' ) ; } ) }
2024-03-23 09:20:42 +05:00
// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/12
/lnk.news/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#csubmit' ) } ) : null ;
2024-03-25 01:49:49 +05:00
// https://github.com/uBlockOrigin/uAssets/discussions/17361#discussioncomment-8893133
const afterElementVisible = ( selector , callback ) => { let intervalId = setInterval ( ( ) => { let element = document . querySelector ( selector ) ; if ( element && ( element . style . display . includes ( 'block' ) || ! element . style . display . includes ( 'none' ) ) ) { clearInterval ( intervalId ) ; callback ( ) ; } } , 500 ) ; } ;
/imagereviser.com/ . test ( url ) ? preventForcedFocusOnWindow ( ) : null ;
/imagereviser.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { afterElementVisible ( '#second_btn_div' , function ( ) { document . querySelector ( '#bottom_btn' ) . click ( ) ; } ) } ) : null ;
/upshrink.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-03-27 04:39:25 +05:00
// comandofilmeshd.org
/bangclinic.life/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( 'a.DownloadButOn' ) } ) : null ;
// ofilmetorrent.com
/dow-dow-dow-dow-dow.xyz\/download\/\?id=/ . test ( url ) ? redirect ( atob ( url . split ( '?id=' ) [ 1 ] . split ( '&' ) [ 0 ] ) ) : null ;
/ofilmetorrent.com\/download\/\?id=/ . test ( url ) ? afterDOMLoaded ( function ( ) {
document . querySelectorAll ( 'a[href*="https://dow-dow-dow-dow-dow.xyz/download?id="]' ) . forEach ( link => {
link . href = atob ( link . getAttribute ( 'href' ) . split ( '?id=' ) [ 1 ] . split ( '&' ) [ 0 ] ) ;
} ) ; } ) : null ;
// librospdfgratismundo.net
2024-04-08 01:28:43 +05:00
/librospdfgratismundo.net/ . test ( url ) ? afterDOMLoaded ( function ( ) {
2024-03-27 04:39:25 +05:00
document . querySelectorAll ( 'a[href*="https://librospdfgratismundo.net/rt?url="]' ) . forEach ( link => {
link . href = atob ( link . getAttribute ( 'href' ) . split ( '?url=' ) [ 1 ] ) ;
} ) ; } ) : null ;
2024-04-12 16:33:15 +05:00
// platinsport.com
/platinsport.com/ . test ( url ) ? afterDOMLoaded ( function ( ) {
document . querySelectorAll ( 'a[href*="http://bc.vc/"]' ) . forEach ( link => {
link . href = 'https://' + link . getAttribute ( 'href' ) . split ( '/https://' ) [ 1 ] ;
} ) ; } ) : null ;
2024-04-08 01:28:43 +05:00
//fiuxy2.co
/fiuxy2.co\/threads/ . test ( url ) ? afterWindowLoaded ( function ( ) {
document . querySelectorAll ( 'a[href*="mega-enlace.com/ext.php?o="]' ) . forEach ( function ( element ) {
if ( isValidUrl ( element . innerText ) ) { element . href = element . innerText ; } ;
// element.href = rot13(atob(rot13(atob(element.href.split('?o=')[1])))).split('|')[0];
} ) ; } ) : null ;
2024-04-08 18:48:36 +05:00
// ocultandoo (used in fiuxy2.co)
/ocultandoo.blogspot.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( '#getlink' ) } ) : null ;
/ocultandoo.blogspot.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExistsNonStop ( '#gotolink' ) } ) : null ;
2024-04-07 06:22:09 +05:00
// toonhub4u.net
/toonhub4u.net\/redirect\/main.php\?url=/ . test ( url ) ? redirect ( atob ( url . split ( 'url=' ) [ 1 ] ) ) : null ;
/toonhub4u\.net\/([^\/]+)\/$/ . test ( url ) ? afterWindowLoaded ( function ( ) {
document . querySelectorAll ( 'a[href*="https://toonhub4u.net/redirect/main.php?url="]' ) . forEach ( link => {
link . href = atob ( link . getAttribute ( 'href' ) . split ( '?url=' ) [ 1 ] ) ;
} ) ; } ) : null ;
2024-04-05 03:15:36 +05:00
// dramaday.me - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/21
2024-04-05 03:11:29 +05:00
/besargaji.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn-1' ) } ) : null ;
/besargaji.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { clickIfExists ( '#btn-2' ) } ) : null ;
/moneyblink.com\/ready\/go\?u=/ . test ( url ) ? redirect ( atob ( url . split ( '?u=' ) [ 1 ] ) ) : null ;
2024-04-08 15:45:04 +05:00
// megalinks (used in peliculasmega1k.com)
/megalinks.info\/index.php\?v=/ . test ( url ) ? clickIfExists ( '#continue' ) : null ;
2024-04-12 10:50:21 +05:00
// doroni.me - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/24
if ( /rodimalam.com/ . test ( url ) ) { afterDOMLoaded ( function ( ) {
clickIfExistsNonStop ( '#SafelinkChecker' ) ;
let intervalId = setInterval ( function ( ) {
let targetLink = document . querySelector ( 'a[href*="https://semawur.com/st/?api="]' ) ;
if ( targetLink ) { clearInterval ( intervalId ) ; redirect ( decodeURIComponent ( targetLink . href . split ( 'url=' ) [ 1 ] ) ) ; } ; } , 1000 ) ;
} ) ; }
2024-04-20 19:13:22 +05:00
// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/32
/short-url.link\/[^\/]+$/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( 'a.go-to-button' ) } ) : null ;
2024-04-12 16:33:15 +05:00
2024-04-21 01:06:32 +05:00
// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/34
const redirectIfNotDisabled2 = ( selector ) => { let intervalId = setInterval ( ( ) => { let linkButton = document . querySelector ( selector + ':not(.disabled)' ) ; if ( linkButton && ! linkButton . href . includes ( '/undefined' ) && isValidUrl ( linkButton . href ) ) { clearInterval ( intervalId ) ; setTimeout ( function ( ) { redirect ( linkButton . href ) ; } , 500 ) } } , 500 ) ; } ;
if ( /urlx.one\/[^\/]+$/ . test ( url ) ) { afterDOMLoaded ( function ( ) {
redirectIfNotDisabled2 ( 'a.get-link' ) ;
const overlay = Object . assign ( document . createElement ( 'div' ) , { style : 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); color: #fff; font-family: Arial, sans-serif; font-size: 44px; text-align: center; padding-top: 50%;' , innerText : 'Bypassing... Wait ~5s' } ) ;
document . body . appendChild ( overlay ) ;
} ) }
2024-04-21 02:19:34 +05:00
// https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/36
/trimorspacks.com|pastescript.com|updrop.link/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfExists ( '#wpsafe-link > a:nth-child(1)' ) } ) : null ;
2024-04-30 20:18:09 +05:00
// sinsitio.site / dixva.com
if ( /www.(sinsitio.site|dixva.com)\/out\/\?go=/ . test ( url ) ) {
2024-05-01 02:42:22 +05:00
const decode = ( encodedString ) => {
const dictionary = { '0' : 'z' , '1' : 'y' , '2' : 'x' , '3' : 'w' , '4' : 'v' , '5' : 'u' , '6' : 't' , '7' : 's' , '8' : 'r' , '9' : 'q' , 'A' : 'p' , 'a' : 'P' , 'B' : 'o' , 'b' : 'O' , 'C' : 'n' , 'c' : 'N' , 'D' : 'm' , 'd' : 'M' , 'E' : 'l' , 'e' : 'L' , 'F' : 'k' , 'f' : 'K' , 'G' : 'j' , 'g' : 'J' , 'H' : 'i' , 'h' : 'I' , 'I' : 'h' , 'i' : 'H' , 'J' : 'g' , 'j' : 'G' , 'K' : 'f' , 'k' : 'F' , 'L' : 'e' , 'l' : 'E' , 'M' : 'd' , 'm' : 'D' , 'N' : 'c' , 'n' : 'C' , 'O' : 'b' , 'o' : 'B' , 'P' : 'a' , 'p' : 'A' , 'q' : '9' , 'Q' : 'Z' , 'r' : '8' , 'R' : 'Y' , 's' : '7' , 'S' : 'X' , 't' : '6' , 'T' : 'W' , 'u' : '5' , 'U' : 'V' , 'v' : '4' , 'V' : 'U' , 'w' : '3' , 'W' : 'T' , 'x' : '2' , 'X' : 'S' , 'y' : '1' , 'Y' : 'R' , 'z' : '0' , 'Z' : 'Q' } ;
return encodedString . split ( '' ) . map ( char => dictionary [ char ] || char ) . join ( '' ) ;
2024-04-30 20:18:09 +05:00
}
2024-05-01 02:42:22 +05:00
redirect ( decode ( atob ( url . split ( '?go=' ) [ 1 ] ) ) ) ;
2024-04-30 20:18:09 +05:00
}
/www.yitarx.com/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-05-05 16:24:41 +05:00
// https://thotpacks.xyz/R7p2l
/thotpacks.xyz/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirectIfNotDisabled ( 'a.get-link' ) } ) : null ;
2024-04-30 20:18:09 +05:00
2024-05-09 17:21:23 +05:00
// linkpays - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/48
2024-05-09 18:00:15 +05:00
/fitnessholic.net\/token.php\?post=/ . test ( url ) ? redirect ( "https://exercise.fitnessholic.net/?go=" + url . split ( '?post=' ) [ 1 ] ) : null ; //works for firefox only
/fitnessholic.net/ . test ( url ) ? afterDOMLoaded ( function ( ) { redirect ( "https://exercise.fitnessholic.net/?go=" + document . querySelector ( 'div[id="btn11"]' ) . querySelector ( 'input[name="newwpsafelink"]' ) . value ) } ) : null ; //redudancy needed for chrome
2024-05-09 17:21:23 +05:00
/readytechflip.com/ . test ( url ) ? clickIfVisible ( '#tp-snp2' ) : 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-04-05 03:15:36 +05:00
// dramaday.me - https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/issues/21
2024-04-05 03:11:29 +05:00
/besargaji.com/ . test ( url ) ? boostTimers ( ) : null ;
2024-02-15 01:34:19 +05:00
} ) ( ) ;
// ----- ----- -----