Auto-bypass shorteners, ads, popups, adblock checks, and go directly to destinations (AdFly, downloads, Flickr, YouTube, etc.)
Size
98.8 KB
Version
35 (1)
Created
Dec 25, 2025
Updated
27 days ago
1// ==UserScript==
2// @name JUST TESTING CODE
3// @namespace bloggerpemula.pythonanywhere.com
4// @version 35 (1)
5// @description Auto-bypass shorteners, ads, popups, adblock checks, and go directly to destinations (AdFly, downloads, Flickr, YouTube, etc.)
6// @author Bloggerpemula
7// @match *://t.me/*
8// @match *://ouo.io/*
9// @match *://4hi.in/*
10// @match *://kut.li/*
11// @match *://oii.si/*
12// @match *://f2h.io/*
13// @match *://ify.ac/*
14// @match *://k2s.cc/*
15// @match *://tii.la/*
16// @match *://oei.la/*
17// @match *://iir.la/*
18// @match *://tvi.la/*
19// @match *://oii.la/*
20// @match *://tpi.li/*
21// @match *://oke.io/*
22// @match *://wii.si/*
23// @match *://sfl.gl/*
24// @match *://8tm.net/*
25// @match *://surl.li/*
26// @match *://surl.gd/*
27// @match *://apkw.ru/*
28// @match *://1ink.cc/*
29// @match *://mexa.sh/*
30// @match *://qiwi.gg/*
31// @match *://tlin.me/*
32// @match *://jksb.in/*
33// @match *://clk.kim/*
34// @match *://adfoc.us/*
35// @match *://lanza.me/*
36// @match *://ss7.info/*
37// @match *://mitly.us/*
38// @match *://a4a.site/*
39// @match *://rcccn.in/*
40// @match *://fbol.top/*
41// @match *://send.now/*
42// @match *://dbree.me/*
43// @match *://files.fm/*
44// @match *://adoc.pub/*
45// @match *://pwrpa.cc/*
46// @match *://snipn.cc/*
47// @match *://quins.us/*
48// @match *://tmail.io/*
49// @match *://ecq.info/*
50// @match *://work.ink/*
51// @match *://zaku.pro/*
52// @match *://exeo.app/*
53// @match *://cety.app/*
54// @match *://vosan.co/*
55// @match *://adbtc.top/*
56// @match *://aylink.co/*
57// @match *://4fnet.org/*
58// @match *://bico8.com/*
59// @match *://boost.ink/*
60// @match *://aduzz.com/*
61// @match *://mboost.me/*
62// @match *://the2.link/*
63// @match *://cuturl.cc/*
64// @match *://1short.io/*
65// @match *://slink.bid/*
66// @match *://dvjobs.in/*
67// @match *://ouo.press/*
68// @match *://rokni.xyz/*
69// @match *://ewall.biz/*
70// @match *://freeth.in/*
71// @match *://lksfy.com/*
72// @match *://tech5s.co/*
73// @match *://tfly.link/*
74// @match *://fx-22.com/*
75// @match *://upload.ee/*
76// @match *://gofile.io/*
77// @match *://gofile.to/*
78// @match *://hxfile.co/*
79// @match *://udrop.com/*
80// @match *://fc-lc.xyz/*
81// @match *://wokaz.com/*
82// @match *://exblog.jp/*
83// @match *://pahe.plus/*
84// @match *://tinygo.co/*
85// @match *://cdrab.com/*
86// @match *://petly.lat/*
87// @match *://biit.site/*
88// @match *://curto.win/*
89// @match *://oydir.com/*
90// @match *://gkfun.xyz/*
91// @match *://vebma.com/*
92// @match *://shrs.link/*
93// @match *://tuasy.com/*
94// @match *://djstar.in/*
95// @match *://exego.app/*
96// @match *://flickr.com/*
97// @match *://bewbin.com/*
98// @match *://linksly.co/*
99// @match *://2the.space/*
100// @match *://filedm.com/*
101// @match *://paycut.pro/*
102// @match *://yitarx.com/*
103// @match *://cshort.org/*
104// @match *://howifx.com/*
105// @match *://dsmusic.in/*
106// @match *://bnbfree.in/*
107// @match *://adsssy.com/*
108// @match *://shortex.in/*
109// @match *://tutwuri.id/*
110// @match *://indids.com/*
111// @match *://redfea.com/*
112// @match *://ddieta.net/*
113// @match *://lmktec.net/*
114// @match *://game5s.com/*
115// @match *://dddrive.me/*
116// @match *://megadb.net/*
117// @match *://uploady.io/*
118// @match *://up-load.io/*
119// @match *://megaup.net/*
120// @match *://gdflix.dad/*
121// @match *://linkspy.cc/*
122// @match *://zygina.com/*
123// @match *://cekip.site/*
124// @match *://fingau.com/*
125// @match *://smoner.com/*
126// @match *://yeifly.com/*
127// @match *://shrink.icu/*
128// @match *://gally.shop/*
129// @match *://google.com/*
130// @match *://shortit.pw/*
131// @match *://labgame.io/*
132// @match *://jobydt.com/*
133// @match *://indobo.com/*
134// @match *://bubblix.eu/*
135// @match *://grtjobs.in/*
136// @match *://devnote.in/*
137// @match *://tinybc.com/*
138// @match *://phimne.com/*
139// @match *://mgame.info/*
140// @match *://upfion.com/*
141// @match *://miuiku.com/*
142// @match *://adshnk.com/*
143// @match *://teqwit.com/*
144// @match *://odiafm.com/*
145// @match *://shareus.io/*
146// @match *://multiup.io/*
147// @match *://suaurl.com/*
148// @match *://lixapk.com/*
149// @match *://jobqwe.com/*
150// @match *://bjp.org.in/*
151// @match *://nashib.xyz/*
152// @match *://veganab.co/*
153// @match *://falpus.com/*
154// @match *://exnion.com/*
155// @match *://g34new.com/*
156// @match *://bebkub.com/*
157// @match *://gocmod.com/*
158// @match *://tiktok.com/*
159// @match *://cutnet.net/*
160// @match *://alorra.com/*
161// @match *://bigbtc.win/*
162// @match *://cpmlink.pro/*
163// @match *://lolinez.com/*
164// @match *://cointox.net/*
165// @match *://cpmlink.net/*
166// @match *://mirrored.to/*
167// @match *://bonloan.xyz/*
168// @match *://studyis.xyz/*
169// @match *://m.flyad.vip/*
170// @match *://bit4me.info/*
171// @match *://earnbee.xyz/*
172// @match *://disheye.com/*
173// @match *://revlink.pro/*
174// @match *://yoshare.net/*
175// @match *://revly.click/*
176// @match *://clikern.com/*
177// @match *://link.whf.bz/*
178// @match *://hnablog.com/*
179// @match *://orbitlo.com/*
180// @match *://rotizer.net/*
181// @match *://ez4mods.com/*
182// @match *://sharedp.com/*
183// @match *://10short.com/*
184// @match *://encurt4.com/*
185// @match *://shortie.sbs/*
186// @match *://gold-24.net/*
187// @match *://karanpc.com/*
188// @match *://filemoon.sx/*
189// @match *://ex-load.com/*
190// @match *://hitfile.net/*
191// @match *://sub2get.com/*
192// @match *://bowfile.com/*
193// @match *://earnme.club/*
194// @match *://topshare.in/*
195// @match *://uptomega.me/*
196// @match *://linclik.com/*
197// @match *://up4cash.com/*
198// @match *://coinclix.co/*
199// @match *://foodxor.com/*
200// @match *://pdfvale.com/*
201// @match *://wpcheap.net/*
202// @match *://newsamp.net/*
203// @match *://gadifeed.in/*
204// @match *://dekhe.click/*
205// @match *://techforu.in/*
206// @match *://uprwssp.org/*
207// @match *://adshrink.it/*
208// @match *://bulkpit.com/*
209// @match *://diudemy.com/*
210// @match *://blog4nx.com/*
211// @match *://ziggame.com/*
212// @match *://azmath.info/*
213// @match *://bchlink.xyz/*
214// @match *://usdlink.xyz/*
215// @match *://worldzc.com/*
216// @match *://4ace.online/*
217// @match *://katfile.com/*
218// @match *://v34down.com/*
219// @match *://rfaucet.com/*
220// @match *://cutyion.com/*
221// @match *://cutynow.com/*
222// @match *://jixo.online/*
223// @match *://comohoy.com/*
224// @match *://xonnews.net/*
225// @match *://share4u.men/*
226// @match *://mohtawaa.com/*
227// @match *://anonym.ninja/*
228// @match *://enlacito.com/*
229// @match *://bioinflu.com/*
230// @match *://rekonise.com/*
231// @match *://merekrut.com/*
232// @match *://deltabtc.xyz/*
233// @match *://getunic.info/*
234// @match *://forex-22.com/*
235// @match *://vocalley.com/*
236// @match *://winezones.in/*
237// @match *://kabilnews.in/*
238// @match *://techawaaz.in/*
239// @match *://biharhelp.co/*
240// @match *://themezon.net/*
241// @match *://vi-music.app/*
242// @match *://sarkarins.in/*
243// @match *://viralxns.com/*
244// @match *://coinjest.com/*
245// @match *://dogefury.com/*
246// @match *://almontsf.com/*
247// @match *://offerwall.me/*
248// @match *://freebitco.in/*
249// @match *://finquizy.com/*
250// @match *://vbnmx.online/*
251// @match *://ezeviral.com/*
252// @match *://forexrw7.com/*
253// @match *://whatgame.xyz/*
254// @match *://apkadmin.com/*
255// @match *://megaupto.com/*
256// @match *://1fichier.com/*
257// @match *://sharefile.co/*
258// @match *://turbobit.net/*
259// @match *://up-4ever.net/*
260// @match *://o-pro.online/*
261// @match *://uploadev.org/*
262// @match *://emubliss.com/*
263// @match *://btcon.online/*
264// @match *://blogmado.com/*
265// @match *://doodrive.com/*
266// @match *://modsbase.com/*
267// @match *://modcombo.com/*
268// @match *://atglinks.com/*
269// @match *://linkpayu.com/*
270// @match *://wordcount.im/*
271// @match *://freeat30.org/*
272// @match *://ivnlnews.xyz/*
273// @match *://coinhub.wiki/*
274// @match *://autodime.com/*
275// @match *://gamezizo.com/*
276// @match *://mealcold.com/*
277// @match *://gkvstudy.com/*
278// @match *://geotides.net/*
279// @match *://chownest.com/*
280// @match *://mythnest.com/*
281// @match *://gizmoera.com/*
282// @match *://speakzyo.com/*
283// @match *://formshelp.in/*
284// @match *://newspute.com/*
285// @match *://gadialert.in/*
286// @match *://coinsrev.com/*
287// @match *://wp2hostt.com/*
288// @match *://helpdeep.com/*
289// @match *://maqal360.com/*
290// @match *://docadvice.eu/*
291// @match *://gamezigg.com/*
292// @match *://modsfire.com/*
293// @match *://lapviral.com/*
294// @match *://skyrimer.com/*
295// @match *://aiimsopd.com/*
296// @match *://infonerd.org/*
297// @match *://expertvn.com/*
298// @match *://spatsify.com/*
299// @match *://exe-urls.com/*
300// @match *://owoanime.com/*
301// @match *://gamco.online/*
302// @match *://hipsonyc.com/*
303// @match *://sharetext.me/*
304// @match *://ecryptly.com/*
305// @match *://equickle.com/*
306// @match *://coincroco.com/*
307// @match *://surflink.tech/*
308// @match *://bestfonts.pro/*
309// @match *://techleets.xyz/*
310// @match *://sharphindi.in/*
311// @match *://nyushuemu.com/*
312// @match *://jioupload.com/*
313// @match *://jobzhub.store/*
314// @match *://crypto-fi.net/*
315// @match *://neverdims.com/*
316// @match *://keeplinks.org/*
317// @match *://aysodamag.com/*
318// @match *://1bitspace.com/*
319// @match *://zegtrends.com/*
320// @match *://junkyponk.com/*
321// @match *://mythvista.com/*
322// @match *://blog-myst.com/*
323// @match *://odiadance.com/*
324// @match *://wastenews.xyz/*
325// @match *://fourlinez.com/*
326// @match *://stockmarg.com/*
327// @match *://jobmatric.com/*
328// @match *://techsl.online/*
329// @match *://blogsward.com/*
330// @match *://playpaste.com/*
331// @match *://jioupload.icu/*
332// @match *://easyshort.xyz/*
333// @match *://besargaji.com/*
334// @match *://thardekho.com/*
335// @match *://fastcars1.com/*
336// @match *://go.linkify.ru/*
337// @match *://easyupload.io/*
338// @match *://mp4upload.com/*
339// @match *://drop.download/*
340// @match *://douploads.net/*
341// @match *://takefile.link/*
342// @match *://sharemods.com/*
343// @match *://desiupload.co/*
344// @match *://thotpacks.xyz/*
345// @match *://7misr4day.com/*
346// @match *://ddownload.com/*
347// @match *://pdfcoffee.com/*
348// @match *://loanifyt.site/*
349// @match *://litecoin.host/*
350// @match *://downfile.site/*
351// @match *://uploadrar.com/*
352// @match *://getpczone.com/*
353// @match *://mediafire.com/*
354// @match *://paid4link.com/*
355// @match *://linkbulks.com/*
356// @match *://themesilk.com/*
357// @match *://link4rev.site/*
358// @match *://geekgrove.net/*
359// @match *://cryptorex.net/*
360// @match *://cooklike.info/*
361// @match *://coinilium.net/*
362// @match *://mbantul.my.id/*
363// @match *://carsmania.net/*
364// @match *://petsguide.net/*
365// @match *://gputrends.net/*
366// @match *://carstopia.net/*
367// @match *://coinsrise.net/*
368// @match *://giftmagic.net/*
369// @match *://retrocove.net/*
370// @match *://vaultfind.net/*
371// @match *://lifeprovy.com/*
372// @match *://tastywhiz.com/*
373// @match *://carfocus.site/*
374// @match *://coinscap.info/*
375// @match *://sportweb.info/*
376// @match *://tejtime24.com/*
377// @match *://mazen-ve3.com/*
378// @match *://hosttbuzz.com/*
379// @match *://blogmystt.com/*
380// @match *://thepopxp.shop/*
381// @match *://on-scroll.com/*
382// @match *://horoscop.info/*
383// @match *://minhamoto.com/*
384// @match *://camdigest.com/*
385// @match *://sevayojana.in/*
386// @match *://manga4nx.site/*
387// @match *://trangchu.news/*
388// @match *://techacode.com/*
389// @match *://aztravels.net/*
390// @match *://posterify.net/*
391// @match *://ukrupdate.com/*
392// @match *://writedroid.in/*
393// @match *://proappapk.com/*
394// @match *://greasyfork.org/*
395// @match *://claimcrypto.cc/*
396// @match *://xtrabits.click/*
397// @match *://1shortlink.com/*
398// @match *://panyhealth.com/*
399// @match *://karyawan.co.id/*
400// @match *://marketrook.com/*
401// @match *://kaomojihub.com/*
402// @match *://biharkhabar.co/*
403// @match *://teknoasian.com/*
404// @match *://uploadsoon.com/*
405// @match *://itijobalert.in/*
406// @match *://kiddyshort.com/*
407// @match *://pokoarcade.com/*
408// @match *://financenuz.com/*
409// @match *://bankshiksha.in/*
410// @match *://odiadjremix.in/*
411// @match *://solidcoins.net/*
412// @match *://animerigel.com/*
413// @match *://3rabsports.com/*
414// @match *://dayuploads.com/*
415// @match *://workupload.com/*
416// @match *://rapidgator.net/*
417// @match *://freepreset.net/*
418// @match *://dropgalaxy.com/*
419// @match *://anonymfile.com/*
420// @match *://downloadani.me/*
421// @match *://amanguides.com/*
422// @match *://askpaccosi.com/*
423// @match *://earningtime.in/*
424// @match *://usersdrive.com/*
425// @match *://getknldgg.site/*
426// @match *://kredilerim.com/*
427// @match *://pixeldrain.com/*
428// @match *://dutchycorp.ovh/*
429// @match *://paylinks.cloud/*
430// @match *://get.megafly.in/*
431// @match *://insurelean.com/*
432// @match *://finance240.com/*
433// @match *://fitdynamos.com/*
434// @match *://dataupload.net/*
435// @match *://bitwidgets.net/*
436// @match *://melodyspot.net/*
437// @match *://hobbymania.net/*
438// @match *://gamestopia.net/*
439// @match *://gadgetbuzz.net/*
440// @match *://coinsvalue.net/*
441// @match *://coinstrend.net/*
442// @match *://wiki-topia.com/*
443// @match *://bitcrypto.info/*
444// @match *://raftarwords.in/*
445// @match *://thinksrace.com/*
446// @match *://loopmyhub.shop/*
447// @match *://videoclip.info/*
448// @match *://firefaucet.win/*
449// @match *://videolyrics.in/*
450// @match *://mobcupring.com/*
451// @match *://advupdates.com/*
452// @match *://heygirlish.com/*
453// @match *://mastkhabre.com/*
454// @match *://setroom.biz.id/*
455// @match *://dlgamingvn.com/*
456// @match *://phimsubmoi.com/*
457// @match *://hamroguide.com/*
458// @match *://forex-trnd.com/*
459// @match *://kisalt.digital/*
460// @match *://kongutoday.com/*
461// @match *://camnangvay.com/*
462// @match *://shortfaster.net/*
463// @match *://web9academy.com/*
464// @match *://ourcoincash.xyz/*
465// @match *://financenube.com/*
466// @match *://mixrootmods.com/*
467// @match *://pastescript.com/*
468// @match *://exactpay.online/*
469// @match *://olhonagrana.com/*
470// @match *://blog.yurasu.xyz/*
471// @match *://creditsgoal.com/*
472// @match *://yogablogfit.com/*
473// @match *://newkhabar24.com/*
474// @match *://aiperceiver.com/*
475// @match *://myscheme.org.in/*
476// @match *://biharkhabar.net/*
477// @match *://newsonnline.com/*
478// @match *://alljntuworld.in/*
479// @match *://updatewallah.in/*
480// @match *://vyaapaarguru.in/*
481// @match *://viralmp3.com.in/*
482// @match *://carjankaari.com/*
483// @match *://adz7short.space/*
484// @match *://vahanmitra24.in/*
485// @match *://link2unlock.com/*
486// @match *://fitnesswifi.com/*
487// @match *://earnmoneyyt.com/*
488// @match *://dinoogaming.com/*
489// @match *://financemonk.net/*
490// @match *://encurtacash.com/*
491// @match *://finish.wlink.us/*
492// @match *://watchtheeye.com/*
493// @match *://todogame.online/*
494// @match *://docs.google.com/*
495// @match *://krakenfiles.com/*
496// @match *://file-upload.net/*
497// @match *://uploadhaven.com/*
498// @match *://mega4upload.net/*
499// @match *://ilespayouts.com/*
500// @match *://file-upload.org/*
501// @match *://playnano.online/*
502// @match *://buzzheavier.com/*
503// @match *://michaelemad.com/*
504// @match *://largestpanel.in/*
505// @match *://financebolo.com/*
506// @match *://jansamparks.com/*
507// @match *://financewada.com/*
508// @match *://linkforearn.com/*
509// @match *://wordcounter.icu/*
510// @match *://skyfreeshrt.top/*
511// @match *://playonpc.online/*
512// @match *://2wheelslife.com/*
513// @match *://admediaflex.com/*
514// @match *://financekita.com/*
515// @match *://templeshelp.com/*
516// @match *://atomicatlas.xyz/*
517// @match *://cookinguide.net/*
518// @match *://cinemascene.net/*
519// @match *://plantsguide.net/*
520// @match *://makeupguide.net/*
521// @match *://renovatehub.net/*
522// @match *://techiephone.com/*
523// @match *://render-state.to/*
524// @match *://djbassking.live/*
525// @match *://sportswordz.com/*
526// @match *://remixsounds.com/*
527// @match *://sabkiyojana.com/*
528// @match *://newscrypto.info/*
529// @match *://writeprofit.org/*
530// @match *://trendzilla.club/*
531// @match *://inshortnote.com/*
532// @match *://reidoplacar.com/*
533// @match *://yodharealty.com/*
534// @match *://downloader.tips/*
535// @match *://modmania.eu.org/*
536// @match *://travelinian.com/*
537// @match *://timbertales.xyz/*
538// @match *://hyperkhabar.com/*
539// @match *://freevpshere.com/*
540// @match *://api.gplinks.com/*
541// @match *://financedoze.com/*
542// @match *://adtival.network/*
543// @match *://drive.google.com/*
544// @match *://socialwolvez.com/*
545// @match *://inicerita.online/*
546// @match *://flamebook.eu.org/*
547// @match *://trimorspacks.com/*
548// @match *://tutorialsaya.com/*
549// @match *://zippynest.online/*
550// @match *://sproutworkers.co/*
551// @match *://ac.totsugeki.com/*
552// @match *://financerites.com/*
553// @match *://mpsarkarihelp.in/*
554// @match *://aceforce2apk.com/*
555// @match *://phonesparrow.com/*
556// @match *://creditcarred.com/*
557// @match *://thanks.tinygo.co/*
558// @match *://short.croclix.me/*
559// @match *://techkhulasha.com/*
560// @match *://shorturlearn.xyz/*
561// @match *://blog.adscryp.com/*
562// @match *://dailyuploads.net/*
563// @match *://imagereviser.com/*
564// @match *://tempatwisata.pro/*
565// @match *://cryptomonitor.in/*
566// @match *://djremixganna.com/*
567// @match *://minimonetize.com/*
568// @match *://learncrypto.blog/*
569// @match *://yolasblog.online/*
570// @match *://skyfreecoins.top/*
571// @match *://webfreetools.net/*
572// @match *://playallgames.net/*
573// @match *://ecofriendlyz.com/*
574// @match *://brewmasterly.com/*
575// @match *://insurancegold.in/*
576// @match *://healthylifez.com/*
577// @match *://sekilastekno.com/*
578// @match *://majalahhewan.com/*
579// @match *://article24.online/*
580// @match *://servicemassar.ma/*
581// @match *://paidinsurance.in/*
582// @match *://nishankhatri.xyz/*
583// @match *://masrawytrend.com/*
584// @match *://blog.klublog.com/*
585// @match *://toilaquantri.com/*
586// @match *://lajangspot.web.id/*
587// @match *://wellness4live.com/*
588// @match *://triggeredplay.com/*
589// @match *://minhapostagem.top/*
590// @match *://bloggingwow.store/*
591// @match *://lakhisarainews.in/*
592// @match *://fishingbreeze.com/*
593// @match *://lyricsbaazaar.com/*
594// @match *://carbikenation.com/*
595// @match *://fileresources.net/*
596// @match *://jobinmeghalaya.in/*
597// @match *://dramaticqueen.com/*
598// @match *://usanewstoday.club/*
599// @match *://galaxy-link.space/*
600// @match *://playarcade.online/*
601// @match *://vitalityvista.net/*
602// @match *://newsobjective.com/*
603// @match *://cryptowidgets.net/*
604// @match *://ountriesguide.net/*
605// @match *://wanderjourney.net/*
606// @match *://virtuous-tech.net/*
607// @match *://freeoseocheck.com/*
608// @match *://funplayarcade.com/*
609// @match *://origamiarthub.com/*
610// @match *://fitbodygenius.com/*
611// @match *://dailytech-news.eu/*
612// @match *://drinkspartner.com/*
613// @match *://raftarsamachar.in/*
614// @match *://fansonlinehub.com/*
615// @match *://insurancemyst.com/*
616// @match *://down.mdiaload.com/*
617// @match *://go.paylinks.cloud/*
618// @match *://social-unlock.com/*
619// @match *://howtoconcepts.com/*
620// @match *://handydecor.com.vn/*
621// @match *://headlinerpost.com/*
622// @match *://dinheiromoney.com/*
623// @match *://writedroid.eu.org/*
624// @match *://healthfirstweb.com/*
625// @match *://goodmorningimg.com/*
626// @match *://pagalworldsong.com/*
627// @match *://passivecryptos.xyz/*
628// @match *://faucetsatoshi.site/*
629// @match *://forex-articles.com/*
630// @match *://offeergames.online/*
631// @match *://financenova.online/*
632// @match *://link.freebtc.my.id/*
633// @match *://ecosolardigest.com/*
634// @match *://countriesguide.net/*
635// @match *://homesteadfeast.com/*
636// @match *://pubghighdamage.com/*
637// @match *://anmolbetiyojana.in/*
638// @match *://policiesreview.com/*
639// @match *://techxploitz.eu.org/*
640// @match *://down.fast-down.com/*
641// @match *://cryptoblast.online/*
642// @match *://worldwallpaper.top/*
643// @match *://placementsmela.com/*
644// @match *://sastainsurance.xyz/*
645// @match *://carbikesupdate.com/*
646// @match *://importantclass.com/*
647// @match *://topgeninsurance.com/*
648// @match *://healthvainsure.site/*
649// @match *://retrotechreborn.com/*
650// @match *://thecryptoworld.site/*
651// @match *://techreviewhub.store/*
652// @match *://tvseriescentral.net/*
653// @match *://languagefluency.net/*
654// @match *://insurancexguide.com/*
655// @match *://constructorspro.com/*
656// @match *://studywithsanjeet.in/*
657// @match *://todayheadliners.com/*
658// @match *://cialisstrong.online/*
659// @match *://thunder-appz.eu.org/*
660// @match *://superheromaniac.com/*
661// @match *://bestloansoffers.com/*
662// @match *://travelironguide.com/*
663// @match *://baristakesehatan.com/*
664// @match *://cryptonewssite.rf.gd/*
665// @match *://keedabankingnews.com/*
666// @match *://knowiz0.blogspot.com/*
667// @match *://furtnitureplanet.net/*
668// @match *://selfcareinsights.com/*
669// @match *://advertisingcamps.com/*
670// @match *://mangareleasedate.com/*
671// @match *://cryptosparatodos.com/*
672// @match *://mobileflashtools.com/*
673// @match *://akash.classicoder.com/*
674// @match *://cryptorotator.website/*
675// @match *://utkarshonlinetest.com/*
676// @match *://sololevelingmanga.pics/*
677// @match *://swachataparnibandh.com/*
678// @match *://wp.thunder-appz.eu.org/*
679// @match *://insuranceleadsinfo.com/*
680// @match *://historyofyesterday.com/*
681// @match *://illustrationmaster.com/*
682// @match *://onlinetechsolution.link/*
683// @match *://arkarinaukrinetwork.com/*
684// @match *://encurtadorcashlinks.com/*
685// @match *://virtualrealitieshub.com/*
686// @match *://shortlinks2btc.somee.com/*
687// @match *://programasvirtualespc.net/*
688// @match *://cryptonews.faucetbin.com/*
689// @match *://loanforuniversity.online/*
690// @match *://businesssoftwarehere.com/*
691// @match *://maloma3arbi.blogspot.com/*
692// @match *://easylink.gamingwithtr.com/*
693// @match *://thepragatishilclasses.com/*
694// @match *://softwaresolutionshere.com/*
695// @match *://governmentjobvacancies.com/*
696// @match *://mukhyamantriyojanadoot.com/*
697// @match *://autofaucet.dutchycorp.space/*
698// @match *://vk.com/away.php*
699// @match *://youtube.com/redirect*
700// @match *://facebook.com/flx/warn/*
701// @match *://instagram.com/linkshim/*
702// @icon https://i.ibb.co/qgr0H1n/BASS-Blogger-Pemula.png
703// @grant GM_setValue
704// @grant GM_getValue
705// @grant GM_download
706// @grant GM_addStyle
707// @grant GM_openInTab
708// @grant GM_addElement
709// @grant GM_deleteValue
710// @grant GM_registerMenuCommand
711// @grant GM_addValueChangeListener
712// @run-at document-start
713// @noframes
714// @downloadURL https://update.greasyfork.org/scripts/546026/JUST%20TESTING%20CODE.user.js
715// @updateURL https://update.greasyfork.org/scripts/546026/JUST%20TESTING%20CODE.meta.js
716// ==/UserScript==
717/*
718TODO: Make the match rules more specific for popular websites (tiktok, mediafire.com)
719// @match *://shrinke.w+/*
720// @match *://shrinkme.w+/*
721// @match *://noodlemagazine.com/*
722 "oii": [
723 "oii.si",
724 "oii.la"
725 ],
726 "gofile": [
727 "gofile.io",
728 "gofile.to"
729 ],
730 "cpmlink": [
731 "cpmlink.pro",
732 "cpmlink.net"
733 ]
734*/
735const scriptId = '431691-bypass-all-shortlinks';
736const window = unsafeWindow;
737const {
738 href: currentUrl,
739 pathname,
740 host,
741 search,
742 hash
743} = location;
744const queryParams = new URLSearchParams(search);
745class ConfigUI {
746 constructor(options) {
747 this.id = options.id || "myConfigIframe";
748 this.title = options.title || "Settings";
749 this.fields = options.fields || [];
750 this.contributors = options.contributors || [];
751 }
752
753 open() {
754 document.getElementById(this.id)?.remove();
755
756 const overlay = document.createElement("div");
757 overlay.style = `
758 position:fixed; z-index:9999;
759 top:0; left:0; width:100%; height:100%;
760 background:rgba(0,0,0,0.5);
761 `;
762 document.body.appendChild(overlay);
763
764 const iframe = document.createElement('iframe');
765 iframe.id = this.id;
766 iframe.style = `
767 position: fixed;
768 top: 50%; left: 50%;
769 transform: translate(-50%, -50%);
770 width: 60%; height: 80%;
771 border: 1px solid #ccc;
772 border-radius: 8px;
773 box-shadow: 0 0 15px rgba(0,0,0,0.5);
774 z-index: 10000; background:#fff;
775 `;
776 document.body.appendChild(iframe);
777
778 const doc = iframe.contentDocument || iframe.contentWindow.document;
779 doc.body.innerHTML = `
780 <style>
781 body { font-family: Arial,sans-serif; margin:20px; color:#333; overflow-y:auto; }
782 .highlight { font-weight:bold; color:#d9534f; margin-top:20px; }
783 button { margin-top:10px; padding:5px 10px; cursor:pointer; }
784 footer ul { padding-left:0; list-style:none; }
785 a { color:#007BFF; text-decoration:none; }
786 footer { margin-top:20px; font-size:0.9em; }
787 label { display:block; margin:10px 0; }
788 a:hover { text-decoration:underline; }
789 </style>
790 <h2>${this.title}</h2>
791 <form id="cfg_form"></form>
792 <p class="highlight">Please respect if my scripts are useful for you:</p>
793 <ul>
794 <li>Support Me Via <a href="https://saweria.co/Bloggerpemula" target="_blank">https://saweria.co/Bloggerpemula</a> or Crypto</li>
795 <li>Don't try to copy-paste my scripts and share as your own.</li>
796 <li>Please don't remove or change my blog.</li>
797 <li>Disable your AdBlock on my blog. Thanks for your support!</li>
798 </ul>
799 <footer>
800 <h3>Credits & Contributors</h3>
801 <ul id="contributors"></ul>
802 Also, thank you to everyone who has contributed with good feedback and to all donors who supported the project.
803 </footer>`;
804
805 const form = doc.getElementById("cfg_form");
806
807 this.fields.forEach(f => {
808 const val = GM_getValue(f.key, f.default || "");
809 const label = document.createElement("label");
810 label.textContent = f.label || f.key;
811 form.appendChild(label);
812
813 let input = document.createElement("input");
814 if (f.type === "checkbox") input.checked = val;
815 else input.value = val;
816
817 input.type = f.type;
818 input.id = "cfg_" + f.key;
819 label.appendChild(input);
820 });
821
822 const saveBtn = document.createElement("button");
823 saveBtn.textContent = "Save";
824 form.appendChild(saveBtn);
825
826 const cancelBtn = document.createElement("button");
827 cancelBtn.textContent = "Cancel";
828 cancelBtn.style.marginLeft = "10px";
829 form.appendChild(cancelBtn);
830
831 const ul = doc.getElementById("contributors");
832 this.contributors.forEach(c => {
833 let name, desc;
834 if (typeof c === "string") {
835 name = c;
836 } else {
837 name = c.name;
838 desc = c.desc;
839 }
840 const li = document.createElement("li");
841 li.innerHTML = `<a href="https://greasyfork.org/users?q=${name}" target="_blank">@${name}</a>${desc ? ' - ' + desc : ''}`;
842 ul.appendChild(li);
843 });
844
845 const close = () => [overlay, iframe].forEach(e => e.remove());
846
847 saveBtn.addEventListener("click", () => {
848 let el, val;
849 this.fields.forEach(f => {
850 el = doc.getElementById("cfg_" + f.key);
851 val = f.type === "checkbox" ? el.checked : el.value;
852 GM_setValue(f.key, val);
853 });
854 close();
855 });
856
857 cancelBtn.addEventListener("click", close);
858 overlay.addEventListener("click", close);
859 }
860
861 get(key) {
862 const f = this.fields.find(f => f.key === key);
863 return GM_getValue(key, f ? f.default : null);
864 }
865}
866const checkbox = (key, label) => ({
867 key,
868 label,
869 default: false,
870 type: 'checkbox'
871});
872const config = new ConfigUI({
873 fields: [
874 checkbox('AutoDL', 'Auto-Download on Supported Sites'),
875 checkbox('Cmenu', 'Allow Context Menu'),
876 checkbox('Prompt', 'Disable Prompts & Notifications'),
877 checkbox('BlockFC', 'BlockFC'),
878 checkbox('Flickr', 'Flickr'),
879 checkbox('noAdb', 'Disable Adblock Detections')
880 ],
881 contributors: ['Konf', 'hacker09', 'juansi', 'NotYou', 'cunaqr', 'Rust1667', {
882 name: 'varram',
883 desc: 'provided great bypass sites'
884 }]
885});
886GM_registerMenuCommand("⚙️ Script Settings", () => config.open());
887GM_registerMenuCommand('📊 Script Metrics', async function() {
888 const url = `https://api.greasyfork.org/scripts/${scriptId}/stats.json`;
889 const data = await fetch(url).then(response => response.json());
890 let totalInstalls = 0,
891 totalUpdateChecks = 0,
892 daysCount = 0;
893
894 for (const date in data) {
895 const stats = data[date];
896 totalInstalls += stats.installs;
897 totalUpdateChecks += stats.update_checks;
898 daysCount++;
899 }
900 const averageInstalls = (totalInstalls / daysCount).toFixed(2);
901 const averageUpdateChecks = (totalUpdateChecks / daysCount).toFixed(2);
902
903 alert(
904 'Total Days: ' + daysCount + '\n' +
905 'Total Installs: ' + totalInstalls + '\n' +
906 'Total Update Checks: ' + totalUpdateChecks + '\n' +
907 'Average Installs per Day: ' + averageInstalls + '\n' +
908 'Average Update Checks per Day: ' + averageUpdateChecks
909 );
910});
911GM_registerMenuCommand('🐞 Bug Report', function() {
912 const url = `https://greasyfork.org/en/scripts/${scriptId}/feedback?attachLogs=1#new-script-discussion`;
913 GM_openInTab(url, {
914 active: true,
915 insert: true
916 });
917});
918
919let hostRunCounter = 0;
920
921function GM_onMessage(label, callback = () => {}) {
922 logger.log('GM_onMessage is on');
923 GM_addValueChangeListener('postMessage-' + label, function(_, _, newValue, remote) {
924 logger.log('inside postMessage')
925 if (remote) {
926 logger.log('inside postMessage value', {
927 newValue
928 })
929 callback(newValue);
930 GM_deleteValue('postMessage-' + label);
931 }
932 });
933}
934
935function GM_sendMessage(label, value) {
936 GM_setValue('postMessage-' + label, value);
937}
938
939String.prototype.getBetween = function(start, end) {
940 const regex = new RegExp(`(?<=${start}).*?(?=${end})`, 'g');
941 const matches = this.match(regex);
942 return matches ? matches[0] : '';
943};
944
945function setActiveElement(selector) {
946 waitForElement(selector)
947 .then(element => {
948 const temp = element.tabIndex;
949 element.tabIndex = 0;
950 element.focus();
951 element.tabIndex = temp;
952 });
953 Object.defineProperty(document, 'hidden', {
954 get: () => true,
955 configurable: true
956 });
957}
958// Element.prototype.setActive = function() {
959// const tempTabIndex = this.tabIndex;
960// this.tabIndex = 0;
961// this.focus();
962// this.tabIndex = tempTabIndex;
963// Object.defineProperty(document, 'hidden', {
964// get: () => true,
965// configurable: true
966// });
967// };
968function RSCookie(name, value = undefined, days = null) {
969 if (!name) return null;
970
971 // --- SET MODE ---
972 if (value !== undefined) {
973 let expires = '';
974 if (typeof days === 'number') {
975 const date = new Date();
976 date.setTime(date.getTime() + (days * 86400000));
977 expires = `; expires=${date.toUTCString()}`;
978 }
979
980 document.cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}${expires}; path=/`;
981 return true;
982 }
983
984 // --- READ MODE ---
985 const cookies = document.cookie.split(';').map(c => c.trim());
986 const cookie = cookies.find(c => c.startsWith(encodeURIComponent(name) + '='));
987 return cookie ? decodeURIComponent(cookie.split('=')[1]) : null;
988}
989
990function captchaSolved(callback, onWait = () => {}) {
991 let intervalId;
992 const stopChecking = () => clearInterval(intervalId);
993
994 waitForElement('//div[contains(@class, \'iconcaptcha-modal__body-title\') and normalize-space(text())=\'Verification complete.\'] | //*[@id=\'captcha-result\' and normalize-space()=\'Verified!\']')
995 .then(function() {
996 stopChecking();
997 callback();
998 })
999 const checkCaptcha = () => {
1000 try {
1001 const captcha = window.turnstile || window.hcaptcha || window.grecaptcha;
1002 const response = captcha.getResponse();
1003
1004 if (response) {
1005 stopChecking();
1006 callback();
1007 }
1008 } catch (error) {
1009 onWait(stopChecking);
1010 }
1011 };
1012
1013 checkCaptcha();
1014 intervalId = setInterval(checkCaptcha, 1000);
1015}
1016
1017function httpListener(callback) {
1018 const originalOpen = XMLHttpRequest.prototype.open;
1019 XMLHttpRequest.prototype.open = function(method, url) {
1020 this.addEventListener('load', () => {
1021 this.method = method;
1022 this.url = url;
1023 callback(this);
1024 });
1025 originalOpen.apply(this, arguments);
1026 };
1027}
1028
1029function waitForElement(selector, timeout = 0) {
1030 const findElement = () => {
1031 if (selector.startsWith('//')) {
1032 return document.evaluate(selector, document, null, 9).singleNodeValue;
1033 }
1034 return document.querySelector(selector);
1035 };
1036
1037 return new Promise(async (resolve, reject) => {
1038 let element = findElement();
1039 if (document.contains(element)) {
1040 return resolve(element);
1041 }
1042 const observer = new MutationObserver(() => {
1043 element = findElement();
1044 if (document.contains(element)) {
1045 observer.disconnect();
1046 resolve(element);
1047 }
1048 });
1049 observer.observe(document.documentElement, {
1050 // attributes: true,
1051 childList: true,
1052 subtree: true,
1053 });
1054 if (timeout > 0) {
1055 await waitSec(timeout)
1056 observer.disconnect();
1057 reject(new Error(`Element '${selector}' not found in time.`));
1058 }
1059 })
1060}
1061
1062function openWithReferrerPolicy(href) {
1063 GM_addElement(document.head, 'meta', {
1064 name: 'referrer',
1065 content: 'origin'
1066 })
1067 const element = GM_addElement('a', {
1068 href
1069 })
1070 element.click();
1071}
1072
1073function waitSec(s) {
1074 return new Promise(r => setTimeout(r, s * 1000));
1075}
1076
1077const domains = GM_info?.script?.matches.map(match => {
1078 const domain = match.replace(/^.*?:\/\//, '').replace(/\/.*$/, '');
1079 const parts = domain.split('.');
1080 return parts.slice(0, -1).join('.');
1081});
1082const tempdom = [...domains];
1083
1084function runIfHost(pattern, fn, ...args) {
1085 let isMatch = false, debug = false;
1086 if (pattern instanceof RegExp) {
1087 isMatch = pattern.test(host);
1088 } else if (typeof pattern === 'string') {
1089 const filterList = pattern.split('|');
1090 if (debug) {
1091 const n = domains.filter(d => filterList.includes(d));
1092 for (const d of n) {
1093 const idx = tempdom.indexOf(d);
1094 if (idx !== -1) {
1095 tempdom.splice(idx, 1); // remove element in place
1096 }
1097 console.log(tempdom);
1098 }
1099
1100 // TODO: Print all @match patterns that are defined but never used in the global variable
1101 }
1102 if (filterList.length > 0) {
1103 const regex = new RegExp(filterList.map(t => '^' + t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|'));
1104 isMatch = regex.test(host);
1105 }
1106 }
1107
1108 if (!isMatch) return;
1109
1110 hostRunCounter += 1;
1111
1112 logger.info('Function triggered', {
1113 count: hostRunCounter,
1114 pattern,
1115 fn: fn.name || fn.toString(),
1116 args
1117 });
1118
1119 fn(...args);
1120}
1121
1122
1123function goTo(url, useBlog = false) {
1124 const target = useBlog ? `${GM_info.script.namespace}?BypassResults=${url}` : url;
1125 logger.info('goTo', {
1126 target
1127 })
1128 location = target
1129}
1130
1131function createGMLogger(options = {}) {
1132 const logs = [];
1133 const maxLogs = options.maxLogs || 200;
1134 const gmKey = options.gmKey || 'tm_logs';
1135
1136 function _saveLog(entry) {
1137 logs.push(entry);
1138 if (logs.length > maxLogs) logs.shift();
1139 GM_setValue(gmKey, logs);
1140 }
1141
1142 function formatAndStoreLog(level, ...args) {
1143 const time = new Date().toLocaleTimeString();
1144 const message = args.map(arg =>
1145 (typeof arg === 'object' && arg !== null) ? JSON.stringify(arg) : String(arg)
1146 ).join(' ');
1147 const entry = `${host}: [${time}] [${level.toUpperCase()}] ${message}`;
1148 console[level](entry);
1149 _saveLog(entry);
1150 }
1151
1152 return {
1153 log: (...args) => formatAndStoreLog('log', ...args),
1154 info: (...args) => formatAndStoreLog('info', ...args),
1155 warn: (...args) => formatAndStoreLog('warn', ...args),
1156 error: (...args) => formatAndStoreLog('error', ...args),
1157 getLogs: () => [...(GM_getValue(gmKey, []))],
1158 clearLogs: () => {
1159 logs.length = 0;
1160 GM_deleteValue(gmKey);
1161 console.log('Logs cleared');
1162 }
1163 };
1164}
1165
1166const logger = new createGMLogger();
1167
1168async function elementRedirect(selector, attribute = 'href') {
1169 logger.info('elementRedirect triggered', {
1170 selector
1171 });
1172 const selectors = selector.split(', ');
1173
1174 if (selectors.length > 1) {
1175 for (const sel of selectors) elementRedirect(sel, attribute);
1176 return;
1177 }
1178
1179 const element = await waitForElement(selector);
1180 const target = element.getAttribute(attribute);
1181 logger.info('Redirecting to element attribute', {
1182 selector,
1183 target,
1184 attribute
1185 });
1186 goTo(target);
1187}
1188
1189function parameterRedirect(url, parameters) {
1190 // parameters = parameters.split(',');
1191 // if (parameters.every(parameter => searchParams.has(parameter)))
1192 if (parameters !== undefined && !queryParams.has(parameters)) return;
1193
1194 const link = url.replace(/\$(.*)/, (_, p) => {
1195 const [paramName, queryString] = p.split(/\?/);
1196 const paramValue = queryParams.get(paramName);
1197
1198 if (!paramValue) return _;
1199
1200 return /([A-Za-z0-9]+=)$/.test(paramValue) ?
1201 atob(paramValue) :
1202 paramValue + (queryString ? '?' + queryString : '');
1203 });
1204
1205 if (link !== url) goTo(link);
1206}
1207
1208const referrerPolicy = (key) => queryParams.has(key) && openWithReferrerPolicy(atob(queryParams.get(key)));
1209
1210async function clickSel(selector, delay = 0) {
1211 const selectors = selector.split(', ');
1212
1213 if (selectors.length > 1) {
1214 for (const sel of selectors) clickSel(sel, delay);
1215 return;
1216 }
1217
1218 const element = await waitForElement(selector);
1219 if (delay > 0) {
1220 logger.info('wait before clicking on element', {
1221 delay
1222 });
1223 await waitSec(delay);
1224 }
1225 element.removeAttribute('disabled');
1226 element.removeAttribute('target');
1227 //TODO REMOVE ONCLICK
1228 if (element.tagName === 'FORM') {
1229 element.submit();
1230 logger.info('Form submitted', {
1231 selector
1232 });
1233 } else {
1234 logger.info('Clicked on element ', {
1235 selector
1236 });
1237 // element.click();
1238 ['mouseover', 'mousedown', 'mouseup', 'click'].forEach(name => {
1239 element.dispatchEvent(new MouseEvent(name, {
1240 bubbles: true,
1241 cancelable: true
1242 }));
1243 });
1244 }
1245}
1246// Any code repeated over 50 times should be moved into a separate function, or replaced with a more general function that handles most cases with minimal changes.
1247// Documentation should also be added, making it easier for other developers to contribute code and enabling AI to utilize both the code and the documentation to ensure proper integration with the system.
1248const redirectIfHost = (pattern, selector, attribute) => runIfHost(pattern, elementRedirect, selector, attribute);
1249const clickIfHost = (pattern, selector) => runIfHost(pattern, clickSel, selector);
1250const autoDownloadIfHost = (pattern, fn, ...args) => config.get('AutoDL') && runIfHost(pattern, fn, ...args);
1251const clickAfterCaptcha = (selector) => captchaSolved(() => clickSel(selector));
1252
1253// All of these functions need to be more specific.
1254runIfHost('.*', async function() {
1255 if (!config.get('Prompt')) return;
1256 logger.info('Prompt handling enabled');
1257
1258 window.alert = () => {};
1259 window.confirm = () => true;
1260 window.prompt = () => null;
1261 if (window.Notification) {
1262 Notification.requestPermission = () => Promise.resolve('denied');
1263 Object.defineProperty(window, 'Notification', {
1264 value: null,
1265 writable: false
1266 });
1267 }
1268 const selectors = [];
1269
1270 function helper(type, list) {
1271 const items = list.split(', ').map(item => `[${type}*='${item}']`);
1272 selectors.push(...items)
1273 }
1274 helper('class', 'cookie, gdpr, notice, privacy, banner, consent');
1275 helper('id', 'cookie, gdpr, notice, privacy, banner, consent');
1276 helper('role', 'dialog');
1277 helper('aria-label', 'cookie, consent, privacy')
1278
1279 // Currently waiting for a single element; might need to change this later
1280 const element = await waitForElement(selectors.join(', '));
1281 const isBanner = element.textContent.match(/cookie|consent|tracking|gdpr|privacy|accept|agree|decline|manage|preferences/i)
1282 isBanner && element.remove();
1283})
1284runIfHost('.*', function() {
1285 if (!config.get('BlockFC')) return;
1286 logger.info('focus handling enabled');
1287
1288 // window.mouseleave = true;
1289 // window.onmouseover = true;
1290 // document.hasFocus = () => true;
1291
1292 Object.defineProperty(document, 'webkitVisibilityState', {
1293 get: () => 'visible',
1294 configurable: true
1295 });
1296 Object.defineProperty(document, 'visibilityState', {
1297 get: () => 'visible',
1298 configurable: true
1299 });
1300 Object.defineProperty(document, 'hidden', {
1301 get: () => false,
1302 configurable: true
1303 });
1304
1305 const eventOptions = {
1306 capture: true,
1307 passive: true
1308 };
1309 window.addEventListener('focus', e => e.stopImmediatePropagation(), eventOptions);
1310 window.addEventListener('blur', e => e.stopImmediatePropagation(), eventOptions);
1311})
1312runIfHost('.*', function() {
1313 if (!config.get('noAdb')) return;
1314 logger.info('noAdb');
1315 const blockPattern = /(adblock(reg)?|adb(model)?|checkadblock|detect(anyadb|adblock)|justdetectadb|fuckadblock|testadblock|disable(devtools)?|devtools)/i;
1316 const re = new RegExp(blockPattern);
1317 const observer = new MutationObserver(mutations => {
1318 mutations.forEach(mutation => {
1319 mutation.addedNodes.forEach(node => {
1320 if (node.nodeType === 1 && /SCRIPT|IFRAME/.test(node.tagName)) {
1321 const source = node.src || node.textContent || '';
1322 re.test(source) && node.remove();
1323 }
1324 });
1325 });
1326 });
1327 observer.observe(document, {
1328 childList: true,
1329 subtree: true
1330 });
1331 document.querySelectorAll('script, iframe').forEach(element => {
1332 const source = element.src || element.textContent || '';
1333 re.test(source) && element.remove();
1334 })
1335})
1336//
1337
1338//All the code below have been tested and should work.
1339{
1340 runIfHost('vk', () => queryParams.has('to') && goTo(decodeURIComponent(queryParams.get('to'))));
1341 runIfHost('flickr', async () => {
1342 if (!config.get('Flickr')) return;
1343
1344 const photoId = currentUrl.match(/\d+/)
1345 if (!photoId) return;
1346
1347 const flickrSizes = {
1348 sq: 'Square 75',
1349 q: 'Square 150',
1350 t: 'Thumbnail',
1351 s: 'Small 240',
1352 n: 'Small 320',
1353 w: 'Small 400',
1354 m: 'Medium 500',
1355 z: 'Medium 640',
1356 c: 'Medium 800',
1357 l: 'Large 1024',
1358 h: 'Large 1600',
1359 k: 'Large 2048',
1360 '3k': 'X-Large 3K',
1361 '4k': 'X-Large 4K'
1362 };
1363 const sizesContainer = await waitForElement('.sizes');
1364
1365 Object.entries(flickrSizes).forEach(([key, label]) => {
1366 const element = GM_addElement(sizesContainer, 'li', {
1367 class: 'download-size-item',
1368 // textContent: label
1369 });
1370 const a = GM_addElement(element, 'a', {
1371 href: 'javascript:void(0)',
1372 class: 'download-image-size'
1373 })
1374 GM_addElement(a, 'span', {
1375 class: 'label',
1376 textContent: label
1377 })
1378 element.addEventListener('click', async function() {
1379 const url = `https://www.flickr.com/photos/zedzap/${photoId}/sizes/${key}/`;
1380 const html = await fetch(url).then(response => response.text());
1381 const res = html.match(/<img src="https:\/\/live.staticflickr.com\/(.*)">/);
1382 GM_download('https://live.staticflickr.com/' + res[1], `BloggerP_${photoId}_${label}.jpeg`);
1383 });
1384 });
1385 });
1386 runIfHost('drive.google', () => {
1387 const id = currentUrl.split('/').slice(-2)[0];
1388 if (currentUrl.includes('/file/d/')) {
1389 goTo(`https://drive.usercontent.google.com/download?id=${id}&export=download`);
1390 } else if (currentUrl.includes('/u/0/uc?id')) {
1391 clickSel('#download-form');
1392 }
1393 });
1394 runIfHost('adbtc', async () => {
1395 window.onbeforeunload = () => {
1396 window?.myWindow.close();
1397 window?.coinwin?.close();
1398 window.coinwin = {};
1399 };
1400 clickAfterCaptcha('input[class^=btn]');
1401 clickSel('div.col.s4 > a:not(.hide)', 1);
1402 });
1403 runIfHost('.*', function() {
1404 if (!config.get('Cmenu')) return;
1405 logger.info('RightFCL is Enabled');
1406 const events = [
1407 'contextmenu', 'copy', 'cut', 'paste',
1408 'select', 'selectstart', 'dragstart', 'drop'
1409 ];
1410 for (const eventName of events) {
1411 document.addEventListener(eventName, e => e.stopImmediatePropagation(), true);
1412 }
1413 });
1414 runIfHost('greasyfork', async function() {
1415 const currentId = currentUrl.match(/\d+/);
1416 if (currentId != scriptId.match(/\d+/)[0] || !queryParams.has('attachLogs')) {
1417 return;
1418 }
1419
1420 const comment = await waitForElement('.comment-entry');
1421 comment.value += '<b>Explain the issue:</b>\n\n\n<b>Logs:</b>\n' + logger.getLogs().join('\n')
1422 });
1423}
1424//end of "All the code below have been tested and should work."
1425// Not tested, but should work since the logic hasn’t changed much
1426{
1427 runIfHost('aylink|cpmlink', async () => {
1428 clickSel('.btn.btn-go, .btn-go');
1429 const element = await waitForElement('#main');
1430 goTo(element.getAttribute('onclick').getBetween('window.open\(', '\)'));
1431 });
1432 runIfHost('bewbin', async () => {
1433 const element = await waitForElement('.wpsafe-top > script:nth-child(4)');
1434 goTo('https://bewbin.com?safelink_redirect=' + element.textContent.getBetween('window.open(\'https://bewbin.com?safelink_redirect=', '\')'));
1435 });
1436 runIfHost('lajangspot.web', async () => {
1437 const element = await waitForElement('#wpsafe-link > script:nth-child(2)');
1438 goTo('https://lajangspot.web.id?safelink_redirect=' + element.textContent.getBetween('window.open(\'https://lajangspot.web.id?safelink_redirect=', '\')'));
1439 });
1440 redirectIfHost('adfoc', '.skip');
1441 redirectIfHost('lanza', 'a#botonGo');
1442 redirectIfHost('lolinez', 'p#url a');
1443 redirectIfHost('coincroco|surflink|cointox', '.mb-sm-0.mt-3.btnBgRed');
1444 redirectIfHost('8tm', 'a.btn.btn-secondary.btn-block.redirect');
1445 redirectIfHost('bestfonts', '.download-font-button > a:nth-child(1)');
1446 redirectIfHost('cpmlink', 'a#btn-main.btn.btn-warning.btn-lg');
1447 redirectIfHost('noodlemagazine', 'a#downloadLink.downloadBtn');
1448 redirectIfHost('mirrored', 'div.col-sm.centered.extra-top a, div.centerd > a');
1449 redirectIfHost('mohtawaa', 'a.btn.btn-success.btn-lg.get-link.enabled');
1450 redirectIfHost('techleets|bonloan|sharphindi|nyushuemu', 'a#tp-snp2');
1451 redirectIfHost('linksly', 'div.col-md-12 a');
1452 redirectIfHost('surl', '#redirect-button');
1453 runIfHost('socialwolvez', async () => {
1454 const url = `https://us-central1-social-infra-prod.cloudfunctions.net/linksService/link/guid/${pathname.substr(7)}`;
1455 const data = await fetch(url).then(response => response.json());
1456 goTo(data.link.url);
1457 });
1458 runIfHost('wellness4live|akash.classicoder|2the|inicerita', async () => {
1459 const element = await waitForElement('#landing');
1460 const data = JSON.parse(atob(element.newwpsafelink.value));
1461 goTo(data.linkr);
1462 });
1463 runIfHost('jioupload', async () => {
1464 function calculateAnswer(text) {
1465 const parts = text.replace('Solve:', '').replace(/[=?]/g, '').trim().split(/\s+/);
1466 const [num1, op, num2] = [parseInt(parts[0]), parts[1], parseInt(parts[2])];
1467 return op === '+' ? num1 + num2 : num1 - num2;
1468 }
1469 clickAfterCaptcha('#continueBtn');
1470 clickSel('form button.btn-secondary');
1471 elementRedirect('a.btn.btn-secondary[href*=\'/file/\']');
1472 const element = await waitForElement('#challenge');
1473 const input = await waitForElement('#captcha');
1474 input.value = calculateAnswer(element.textContent);
1475 clickSel('button[type=\'submit\']');
1476 });
1477 runIfHost('apkw', () => currentUrl.includes('/away') && goTo(atob(currentUrl.split('/').slice(-1))));
1478 runIfHost('4fnet', () => currentUrl.includes('/goto') && goTo(atob(currentUrl.split('/').slice(-1))));
1479 runIfHost('anonym', () => currentUrl.includes('download/') && goTo(`https://anonym.ninja/download/file/request/${currentUrl.split('/').slice(-1)[0]}`));
1480 runIfHost('filedm', async () => {
1481 const element = await waitForElement('#dlbutton');
1482 goTo(`http://cdn.directfiledl.com/getfile?id=${element.href.split('_')[1]}`);
1483 });
1484 runIfHost('flamebook.eu', async () => {
1485 // Probably not needed, but without the link I can’t be sure
1486 for (const selector of ['#button1', '#button2', '#button3'])
1487 await clickSel(selector, 3);
1488 });
1489 runIfHost('jobzhub', async () => {
1490 clickSel('#surl');
1491 await waitForElement('#next');
1492 window.startCountdown();
1493 clickSel('form.text-center', 'submit', 15);
1494 });
1495 runIfHost('enlacito', async () => {
1496 await waitSec(2);
1497 window?.DYykkzwP && goTo(window.DYykkzwP);
1498 });
1499 runIfHost('paycut', () => {
1500 if (currentUrl.includes('/ad/')) {
1501 goTo(currentUrl.replace('ad/', ''));
1502 }
1503 });
1504 runIfHost('triggeredplay', () => {
1505 if (currentUrl.includes('#')) {
1506 const usp = new URLSearchParams(hash.substring(1));
1507 usp.has('url') && goTo(atob(usp.get('url')));
1508 }
1509 });
1510 runIfHost('shortfaster', () => {
1511 const twoMinutesAgo = Date.now() - 2 * 60 * 1000;
1512 localStorage.setItem('lastRedirectTime_site1', twoMinutesAgo.toString());
1513 });
1514 runIfHost('onlinetechsolution', async () => {
1515 const element = await waitForElement('input[name=newwpsafelink]');
1516 const data = JSON.parse(atob(element.value));
1517 goTo(data.linkr);
1518 });
1519 runIfHost('crypto-fi|claimcrypto|xtrabits|web9academy|bioinflu|bico8|ourcoincash|studyis', async () => {
1520 const element = await waitForElement('#landing [name=\'go\']');
1521 const target = atob(`aH${element.value.split('aH').slice(1).join('aH')}`);
1522 goTo(target);
1523 });
1524 runIfHost('rekonise', async () => {
1525 const url = `https://api.rekonise.com/social-unlocks${pathname}`;
1526 const data = await fetch(url).then(response => response.json());
1527 goTo(data.url);
1528 });
1529 runIfHost('boost', async () => {
1530 const html = await fetch(currentUrl).then(response => response.text());
1531 goTo(atob(html.split('bufpsvdhmjybvgfncqfa=\'\')[1].split(\'\'')[0]));
1532 });
1533 runIfHost('yitarx', () => currentUrl.includes('enlace/') && goTo(atob(atob(atob(currentUrl.split('#!')[1])))));
1534 runIfHost('m.flyad', async () => {
1535 const display = await waitForElement('#captchaDisplay');
1536 const input = await waitForElement('#captchaInput');
1537 input.value = display.innerText;
1538 clickSel('button[onclick=\'validateCaptcha()\']');
1539 });
1540 runIfHost('financenube|mixrootmods|pastescript|trimorspacks', async () => {
1541 const element = await waitForElement('#wpsafe-link a');
1542 goTo(element.getAttribute('onclick').getBetween('window.open(\'', '\', \'_self\')'));
1543 });
1544 runIfHost('aduzz|tutorialsaya|baristakesehatan|merekrut|deltabtc|bit4me', async () => {
1545 const element = await waitForElement('div[id^=wpsafe] > a[rel=nofollow]');
1546 goTo(element.getAttribute('onclick').getBetween('window.open(\'', '\', \'_self\')'));
1547 });
1548 runIfHost('mboost', async () => {
1549 await waitForElement('#firstsection'); // If there is a link, check whether this line is needed.
1550 const element = await waitForElement('#__NEXT_DATA__');
1551 const target = JSON.parse(element.textContent).props.pageProps.data.targeturl;
1552 goTo(target)
1553 });
1554 runIfHost('earnbee|zippynest|getunic', () => {
1555 localStorage.setItem('earnbee_visit_data', JSON.stringify({
1556 firstUrl: currentUrl,
1557 timestamp: Date.now() - 180000
1558 }));
1559 });
1560 runIfHost('exactpay|neverdims|sproutworkers', async () => {
1561 window.onscroll = () => {};
1562 window.check2();
1563 const element = await waitForElement('[name=\'answer\']');
1564 element.addEventListener('change', window.check3);
1565 });
1566}
1567// end of "Not tested, but should work since the logic hasn’t changed much"
1568// Some of the click scripts may not work because they rely on outdated selectors referencing other elements. Each such script will need to be reviewed and updated.
1569clickIfHost('the2', '#get-link-btn');
1570clickIfHost('keeplinks', '#btnchange');
1571clickIfHost('forex-22', '#continuebutton');
1572clickIfHost('1shortlink', '#redirect-link');
1573clickIfHost('1ink|cuturl', '#countingbtn');
1574clickIfHost('1short', '#countDownForm');
1575clickIfHost('disheye', '#redirectForm');
1576clickIfHost('aysodamag', '#link1s-form');
1577clickIfHost('cryptonewssite.rf', '#dynamic-button a');
1578clickIfHost('1bitspace', '.button-element-verification');
1579clickIfHost('cshort', '.timer.redirect');
1580clickIfHost('ac.totsugeki', '.btn-lg.btn-success.btn');
1581clickIfHost('revlink', '#main-content-wrapper > button');
1582clickIfHost('panyhealth', 'form[method=\'get\']');
1583clickIfHost('minhapostagem', '#alf_continue.alf_button');
1584clickIfHost('karyawan.co', 'button#btn.bg-blue-100.text-blue-600');
1585clickIfHost('yoshare|olhonagrana', '#yuidea, #btn6');
1586clickIfHost('slink', '.btn-success.btn, #btn-generate');
1587clickIfHost('blog.yurasu', '#wcGetLink, #gotolink');
1588clickIfHost('zegtrends', '#cln, #bt1, #go');
1589clickIfHost('creditsgoal', '#tp-snp2, //button[normalize-space(text())=\'Continue\']');
1590clickIfHost('howifx|vocalley|financerites|yogablogfit|healthfirstweb|junkyponk|mythvista|blog-myst|ss7|sololevelingmanga', '#getlink')
1591clickIfHost(
1592 'marketrook|governmentjobvacancies|swachataparnibandh|goodmorningimg|odiadance|newkhabar24|aiperceiver|kaomojihub|arkarinaukrinetwork|topgeninsurance|winezones|kabilnews|myscheme.org|mpsarkarihelp|dvjobs|techawaaz|biharhelp|wastenews|biharkhabar',
1593 'a#btn7, #open-link > .pro_btn, form[name=\'dsb\'], //button[normalize-space(text())=\'Continue\']'
1594);
1595clickIfHost('keedabankingnews|aceforce2apk|themezon|healthvainsure|rokni|bloggingwow|dsmusic|vi-music', 'form[name=\'tp\'], #tp-snp2');
1596//It’s probably not working because the element loads later, but this can be fixed by creating a function that uses shorter text.
1597clickIfHost('teknoasian', '//button[contains(normalize-space(text()), \'Link\') or normalize-space(text())=\'Continue\' or normalize-space(text())=\'Click To Verify\']')
1598clickIfHost('fourlinez|newsonnline|phonesparrow|creditcarred|stockmarg|alljntuworld|updatewallah|vyaapaarguru|viralmp3.com|sarkarins', '#continue-show');
1599clickIfHost('knowiz0.blogspot', 'button#nextBtn');
1600clickIfHost('jobmatric|carjankaari|techsl', 'form[name=\'rtg\'], #btn6');
1601clickIfHost('viralxns|uploadsoon', '#tp-snp2.tp-blue.tp-btn, .tp-white.tp-btn');
1602clickIfHost('blogsward|coinjest', '#continueBtn');
1603clickIfHost('dogefury|thanks.tinygo', '#form-continue');
1604clickIfHost('almontsf', '#nextBtn, a.btn-moobiedat');
1605clickIfHost('short.croclix|adz7short', '#link, input#continue, continue.button, #btn-main');
1606clickIfHost('techkhulasha|itijobalert', '#waiting > div > .bt-success, //button[normalize-space(text())=\'Open-Continue\']')
1607runIfHost('offerwall|ewall', clickAfterCaptcha, '#submitBtn')
1608runIfHost('shortlinks2btc.somee', clickAfterCaptcha, '#btLogin');
1609runIfHost('playpaste', clickAfterCaptcha, 'button.btn');
1610runIfHost('bnbfree|freeth|freebitco', clickAfterCaptcha, '#free_play_form_button');
1611runIfHost('revly|clikern|kiddyshort|adsssy|mitly|link.whf|shortex|easyshort|shorturlearn', () => {
1612 //The initial implementation wasn’t good, so I changed it to work in mitly, but it might not work in other.
1613 clickAfterCaptcha('#link-view:has(#captchaShortlink)');
1614 clickSel('.col-md-12 form:not(:has(#captchaShortlink))'); //:has(.get-link:not(.disabled)) #go-link
1615 httpListener(function(xhr) {
1616 if (!xhr.url.includes('links/go')) return;
1617 const data = JSON.parse(xhr.responseText);
1618 goTo(data.url);
1619 });
1620});
1621runIfHost('lakhisarainews|vahanmitra24', () => {
1622 clickSel('form[name=\'dsb\']');
1623 elementRedirect('a#btn7');
1624});
1625runIfHost('tutwuri|besargaji|link2unlock', () => {
1626 clickSel('#submit-button, #btn-2, #verify > a, #verify > button');
1627 clickAfterCaptcha('#btn-3');
1628});
1629runIfHost('wp.thunder-appz.eu|blog.adscryp', () => {
1630 clickSel('form[name=\'dsb\']');
1631 elementRedirect('#button3 > a');
1632});
1633runIfHost('fitnesswifi|earnmoneyyt|thardekho|dinoogaming|pokoarcade|hnablog|orbitlo|finquizy|indids|redfea|financenuz|pagalworldsong|ddieta|lmktec|bankshiksha|odiadjremix|vbnmx', () => {
1634 elementRedirect('div[id^=\'rtg-\'] > a:nth-child(1)');
1635 clickSel('#rtg, #rtg-snp21 .rtg_btn, #rtg-snp2, #rtg-snp21 > button');
1636});
1637runIfHost('solidcoins|fishingbreeze', () => {
1638 clickAfterCaptcha('form[action]');
1639 clickSel('mdn');
1640});
1641runIfHost('lyricsbaazaar|ezeviral', () => {
1642 clickAfterCaptcha('#btn6');
1643 elementRedirect('div.modal-content a');
1644});
1645runIfHost('financemonk', () => {
1646 clickAfterCaptcha('#downloadBtnClick');
1647 clickSel('#dllink');
1648});
1649runIfHost('rotizer', clickAfterCaptcha, '//button[normalize-space(text())=\'Confirm\']');
1650runIfHost('lksfy', clickAfterCaptcha, '.get-link.btn-primary.btn');
1651runIfHost('ez4mods|game5s|sharedp|fastcars1|carbikenation|tech5s|a4a|rcccn', () => {
1652 clickSel('div.text-center form, #go_d');
1653 elementRedirect('a#go_d.submitBtn.btn.btn-primary, a#go_d2.submitBtn.btn.btn-primary');
1654});
1655runIfHost('cryptorotator', () => {
1656 clickSel('#alf_continue:not([disabled]), //div[contains(@class,\'btn\') and contains(normalize-space(.),\'Click here to unlock\']');
1657 clickAfterCaptcha('#invisibleCaptchaShortlink');
1658});
1659runIfHost('4hi|10short|animerigel|encurt4|encurtacash|finish.wlink|passivecryptos|fbol|kut|shortie|zippynest|faucetsatoshi|tfly|oii', () => {
1660 clickSel('#form-continue');
1661 clickAfterCaptcha('#link-view');
1662});
1663runIfHost('forexrw7|forex-articles|3rabsports|fx-22|watchtheeye|offeergames|todogame|whatgame|gold-24', () => {
1664 clickSel('.oto > a:nth-child(1)');
1665 elementRedirect('.oto > a');
1666});
1667
1668autoDownloadIfHost('upload', clickSel, '#d_l');
1669autoDownloadIfHost('f2h', clickSel, '.btn-success');
1670autoDownloadIfHost('send', clickSel, '#downloadbtn');
1671autoDownloadIfHost('dayuploads', clickSel, '#ad-link2');
1672autoDownloadIfHost('workupload', clickSel, '.btn-prio.btn');
1673autoDownloadIfHost('docs.google', clickSel, '#downloadForm');
1674autoDownloadIfHost('gofile', clickSel, 'button.item_download');
1675autoDownloadIfHost('dddrive', clickSel, '.btn-outline-primary');
1676autoDownloadIfHost('ify|go.linkify', window?.open_href);
1677autoDownloadIfHost('easyupload', clickSel, '.start-download.div');
1678autoDownloadIfHost('karanpc', clickSel, '#downloadButton > form');
1679autoDownloadIfHost('krakenfiles', clickSel, '.download-now-text');
1680autoDownloadIfHost('dbree', clickSel, '.center-block.btn-default.btn');
1681autoDownloadIfHost('rapidgator', clickSel, '.btn-free.act-link.link');
1682autoDownloadIfHost('mp4upload', clickSel, '#todl, form[name=\'F1\']');
1683autoDownloadIfHost('freepreset', elementRedirect, 'a#button_download');
1684autoDownloadIfHost('filemoon', elementRedirect, 'div.download2 a.button');
1685autoDownloadIfHost('dropgalaxy', clickSel, 'button[id^=\'method_fre\']');
1686autoDownloadIfHost('apkadmin', elementRedirect, 'div.text.text-center a');
1687autoDownloadIfHost('drop', clickSel, '#method_free, .btn-download');
1688autoDownloadIfHost('fileresources', elementRedirect, 'a.btn.btn-default');
1689autoDownloadIfHost('megaupto', clickSel, '#direct_link > a:nth-child(1)');
1690autoDownloadIfHost('1fichier', clickSel, '.btn-orange.btn-general.ok, .alc');
1691autoDownloadIfHost('douploads', clickSel, '.btn-primary.btn-lg.btn-block.btn');
1692autoDownloadIfHost('anonymfile|sharefile|gofile', elementRedirect, 'a.btn-info');
1693autoDownloadIfHost('uploadhaven', clickSel, '.alert > a:nth-child(1), #form-download');
1694autoDownloadIfHost('takefile', clickSel, 'div.no-gutter:nth-child(2) > form:nth-child(1)');
1695autoDownloadIfHost('files', clickSel, '#head_download__all-files > div > div > a:nth-child(1)');
1696autoDownloadIfHost('hxfile|ex-load|megadb', clickSel, '.btn-dow.btn, form[name=\'F1\']');
1697autoDownloadIfHost('turbobit', () => {
1698 elementRedirect('#nopay-btn, #free-download-file-link')
1699 clickAfterCaptcha('#submit');
1700});
1701autoDownloadIfHost('uploady', () => {
1702 clickAfterCaptcha('#downloadbtn');
1703 clickSel('#free_dwn, .rounded.btn-primary.btn', 2);
1704});
1705autoDownloadIfHost('mega4upload', () => {
1706 clickSel('input[name=mega_free]');
1707 clickAfterCaptcha('#downloadbtn');
1708});
1709autoDownloadIfHost('ilespayouts', () => {
1710 clickSel('input[name=\'method_free\']');
1711 clickAfterCaptcha('#downloadbtn');
1712});
1713autoDownloadIfHost('hitfile', () => {
1714 clickAfterCaptcha('#submit');
1715 clickSel('.nopay-btn.btn-grey');
1716 elementRedirect('#popunder2');
1717});
1718autoDownloadIfHost('up-4ever', () => {
1719 clickSel('input[name=\'method_free\'], #downLoadLinkButton');
1720 clickAfterCaptcha('#downloadbtn');
1721});
1722autoDownloadIfHost('up-load|downloadani', () => {
1723 clickSel('input[name=\'method_free\'], .btn-dow.btn', 2);
1724 clickAfterCaptcha('#downloadbtn');
1725});
1726autoDownloadIfHost('file-upload', () => {
1727 clickSel('button[name=\'method_free\'], .download-btn', 2);
1728 clickSel('#downbild.g-recaptcha')
1729 clickAfterCaptcha('#downloadbtn');
1730});
1731autoDownloadIfHost('mexa', () => {
1732 clickSel('#Downloadfre, #direct_link');
1733 clickAfterCaptcha('#downloadbtn');
1734});
1735autoDownloadIfHost('qiwi', () => {
1736 clickSel('button[class^=\'DownloadButton_ButtonSoScraperCanTakeThisName\']');
1737 elementRedirect('a[class^=\'DownloadButton_DownloadButton\']');
1738});
1739autoDownloadIfHost('sharemods', () => {
1740 clickSel('#dForm');
1741 elementRedirect('a#downloadbtn.btn.btn-primary');
1742});
1743autoDownloadIfHost('dailyuploads', () => {
1744 clickAfterCaptcha('#downloadbtn');
1745 clickSel('#fbtn1', 2);
1746});
1747autoDownloadIfHost('udrop', async () => {
1748 const element = await waitForElement('.responsiveMobileMargin > button:nth-child(1)');
1749 goTo(element.getAttribute('onclick').getBetween('openUrl(\'', '\')'));
1750});
1751autoDownloadIfHost('k2s', () => {
1752 clickSel('.button-download-slow');
1753 elementRedirect('a.link-to-file');
1754});
1755autoDownloadIfHost('desiupload', () => {
1756 clickSel('.downloadbtn.btn-block.btn-primary.btn');
1757 elementRedirect('a.btn.btn-primary.btn-block.mb-4');
1758});
1759
1760/*
1761It should work without any issues.
1762*/
1763runIfHost('fc-lc|thotpacks', async function() {
1764 clickSel('#invisibleCaptchaShortlink:not([disabled])', 1);
1765 const element = await waitForElement('script');
1766 const target = element.textContent.match(/https?:\/\/[^\s'"]+/g);
1767 target && goTo(target)
1768})
1769//
1770
1771clickIfHost('imagereviser', '.bottom_btn');
1772redirectIfHost('amanguides', '#wpsafe-link > .bt-success');
1773clickIfHost('stockmarg', '#codexa, #open-continue-btn');
1774redirectIfHost('michaelemad|7misr4day', 'a.s-btn-f');
1775clickIfHost('dramaticqueen|emubliss', '#notarobot.button, #btn7');
1776runIfHost('tempatwisata', () => {
1777 const buttons = ['Generate Link', 'Continue', 'Get Link', 'Next'].map(text => `//button[normalize-space(text())='${text}']`);
1778 clickSel(buttons.join(', '));
1779});
1780
1781runIfHost('tii|oei|iir|tvi|oii|tpi', clickAfterCaptcha, '#continue');
1782runIfHost('askpaccosi|cryptomonitor', clickAfterCaptcha, 'form[name=\'dsb\']')
1783clickIfHost('largestpanel|djremixganna|financebolo|emubliss|earnme|usanewstoday|earningtime', '#tp-snp2');
1784runIfHost('adoc', () => {
1785 clickSel('.btn-block.btn-success.btn', 2);
1786 clickAfterCaptcha('.mt-15.btn-block.btn-success.btn-lg.btn');
1787});
1788runIfHost('usersdrive|ddownload', () => {
1789 clickAfterCaptcha('#downloadbtn');
1790 clickSel('.btn-download.btn', 1);
1791});
1792runIfHost('pdfcoffee', () => {
1793 clickSel('.btn-block.btn-success.btn');
1794 clickAfterCaptcha('.my-2.btn-block.btn-primary.btn-lg.btn');
1795});
1796clickIfHost('zygina|jansamparks|loanifyt|getknldgg|topshare|btcon', 'form[name=\'tp\'], #btn6');
1797clickIfHost('financewada|utkarshonlinetest|financenova', '.get_btn.step_box > .btn, .get_btn a[href]');
1798runIfHost('blogmado|kredilerim|insuranceleadsinfo', () => {
1799 clickAfterCaptcha('button.btn');
1800 elementRedirect('a.get-link.disabled a');
1801});
1802runIfHost('litecoin|cekip', () => {
1803 clickAfterCaptcha('#ibtn');
1804 clickSel('.btn-primary.btn');
1805});
1806
1807redirectIfHost('linkforearn', '#shortLinkSection a');
1808clickIfHost('downfile', 'button.h-captcha, #megaurl-submit', 2);
1809autoDownloadIfHost('doodrive', () => {
1810 clickSel('.tm-button-download.uk-button-primary.uk-button', 3);
1811 elementRedirect('.uk-container > div > .uk-button-primary.uk-button');
1812});
1813clickIfHost('uploadrar|fingau|getpczone|wokaz|uptomega', '.mngez-free-download, #direct_link > a:nth-child(1), #downloadbtn');
1814clickIfHost('jobinmeghalaya', '#bottomButton, a#btn7, #wpsafelink-landing, #open-link > .pro_btn, #wpsafe-link > .bt-success');
1815clickIfHost('playnano', '#watch-link, .watch-next-btn.btn-primary.button, button.button.btn-primary.watch-next-btn');
1816redirectIfHost('sub2get', '#butunlock > a:nth-child(1)')
1817redirectIfHost('o-pro', '#newbutton, a.btn.btn-default.btn-sm');
1818// redirectIfHost('oxy\.', '.ocdsf233', 'data-source_url'); // need a more specific pattern
1819
1820autoDownloadIfHost('buzzheavier', clickSel, '#download-link');
1821autoDownloadIfHost('bowfile', clickSel, '.download-timer > .btn--primary.btn > .btn__text');
1822autoDownloadIfHost('uploadev', () => {
1823 clickAfterCaptcha('#downloadbtn');
1824 clickSel('#direct_link > a', 2);
1825});
1826autoDownloadIfHost('megaup', clickSel, 'a.btn.btn-default, #btndownload');
1827autoDownloadIfHost('gdflix', clickSel, 'a.btn.btn-outline-success');
1828redirectIfHost('linkspy', '.skipButton');
1829clickIfHost('superheromaniac|spatsify|mastkhabre|ukrupdate', '#tp98, #btn6, form[name=\'tp\']');
1830clickIfHost('bestloansoffers|worldzc|earningtime', '#rtg, #rtg-form, .rtg-blue.rtg-btn, #rtg-snp21 > button');
1831clickIfHost('exeo|exego|falpus|exe-urls|exnion|4ace', '#invisibleCaptchaShortlink, #before-captcha');
1832runIfHost('dinheiromoney', () => {
1833 clickSel('div[id^=\'button\'] form');
1834 elementRedirect('div[id^=\'button\'] center a');
1835});
1836runIfHost('writedroid.eu|modmania.eu|writedroid', () => {
1837 clickSel('#shortPostLink');
1838 elementRedirect('#shortGoToLink');
1839});
1840autoDownloadIfHost('katfile', () => {
1841 clickAfterCaptcha('#downloadbtn');
1842 clickSel('#fbtn1');
1843 elementRedirect('#dlink');
1844});
1845clickIfHost('setroom.biz|travelinian', 'form[name=\'dsb\'], a:nth-child(1) > button');
1846redirectIfHost('g34new|dlgamingvn|v34down|phimsubmoi|almontsf|nashib|timbertales', '#wpsafegenerate > #wpsafe-link > a[href]');
1847runIfHost('2linkes', () => {
1848 clickAfterCaptcha('#link-view');
1849 clickSel('.box-body > form:nth-child(2)');
1850});
1851runIfHost('importantclass|hamroguide', () => {
1852 clickSel('#pro-continue, #pro-link a');
1853 elementRedirect('#my-btn.pro_btn');
1854});
1855runIfHost('nishankhatri|bebkub|owoanime|hyperkhabar', () => {
1856 clickSel('#pro-continue, #my-btn');
1857 elementRedirect('a#pro-btn');
1858});
1859clickIfHost('gocmod', '.download-line-title');
1860runIfHost('travelironguide|businesssoftwarehere|softwaresolutionshere|freevpshere|masrawytrend', () => {
1861 clickAfterCaptcha('#lview > form', 'submit');
1862 elementRedirect('.get-link > a');
1863});
1864runIfHost('gocmod', parameterRedirect, '$urls');
1865runIfHost('api.gplinks', parameterRedirect, '$url');
1866runIfHost('rfaucet', parameterRedirect, '$linkAlias');
1867runIfHost('maloma3arbi.blogspot', parameterRedirect, '$link');
1868runIfHost('financenuz', parameterRedirect, 'https://financenuz.com/?web=$url');
1869runIfHost('thepragatishilclasses', parameterRedirect, 'https://thepragatishilclasses.com/?adlinkfly=$url');
1870runIfHost('coinilium', parameterRedirect, '$id');
1871/* not sure what the +2 is
1872BypassedByBloggerPemula('(inshort|youlinks|adrinolinks).in|(linkcents|nitro-link).com|clk.sh', null, 'url+2', '');
1873*/
1874runIfHost('blog.klublog', parameterRedirect, '$safe');
1875runIfHost('t', parameterRedirect, '$url');
1876runIfHost('financedoze', parameterRedirect, 'https://www.google.com/url?q=https://financedoze.com', 'id');
1877// runIfHost('financedoze', () => parameterRedirect('https://www.google.com/url?q=https://financedoze.com', 'id'));
1878clickIfHost('forex-trnd', '#exfoary-form');
1879clickIfHost('cutnet|cutyion|cutynow|exego|cety|jixo|gamco', '#submit-button:not([disabled])');
1880clickIfHost('alorra', '.single-layout-1.ast-post-format- > button');
1881
1882runIfHost('adtival', referrerPolicy, 'shortid');
1883runIfHost('sfl|kisalt', referrerPolicy, 'u');
1884runIfHost('kongutoday|proappapk|hipsonyc', referrerPolicy, 'safe');
1885runIfHost('sharetext', () => currentUrl.includes('/redirect') && referrerPolicy('url'));
1886runIfHost('comohoy', () => currentUrl.includes('/view/out.html') && referrerPolicy('url'));
1887runIfHost('ecryptly|equickle', async () => {
1888 referrerPolicy('id');
1889 waitForElement('#open-continue-form > input:nth-child(3)').then(e => goTo(atob(e.value)));
1890 clickSel('#rtg-snp2');
1891 const element = await waitForElement('#open-continue-btn');
1892 goTo(element.getAttribute('onclick').getBetween('window.location.href=\'', '\';'));
1893});
1894
1895runIfHost('bigbtc', () => {
1896 clickAfterCaptcha('#claimbutn');
1897 currentUrl.includes('/bonus') && clickSel('#clickhere');
1898});
1899clickIfHost('vosan', '.elementor-size-lg, .wpdm-download-link');
1900
1901redirectIfHost('xonnews|toilaquantri|share4u|camnangvay', 'div#traffic_result a');
1902runIfHost('easylink.gamingwithtr', () => {
1903 clickSel('#countdown');
1904 elementRedirect('a#pagelinkhref.btn.btn-lg.btn-success.my-4.px-3.text-center');
1905})
1906autoDownloadIfHost('modsbase', () => {
1907 clickSel('.download-file-btn');
1908 elementRedirect('#downloadbtn > a');
1909});
1910autoDownloadIfHost('mediafire', () => currentUrl.includes('file/') && elementRedirect('.download_link .input'));
1911runIfHost('ouo', function() {
1912 clickSel('button#btn-main.btn.btn-main')
1913 parameterRedirect('$s');
1914})
1915runIfHost('pixeldrain', () => currentUrl.includes('/u/') && goTo(`${currentUrl.replace('u/', '/api/file/')}?download`));
1916clickIfHost('exblog', '//a[normalize-space(text())=\'Continue To\'], //a[normalize-space(text())=\'NEST ARTICLE\']')
1917runIfHost('modcombo', () => {
1918 if (currentUrl.includes('download/')) {
1919 elementRedirect('div.item.item-apk a');
1920 clickSel('a.btn.btn-submit');
1921 } else {
1922 clickSel('a.btn.btn-red.btn-icon.btn-download.br-50');
1923 }
1924});
1925// runIfHost('facebook|instagram', parameterRedirect, '$u');
1926runIfHost('tiktok', parameterRedirect, '$target');
1927
1928// working but still can be improved
1929runIfHost('coinclix|coinhub|vitalityvista|geekgrove|instagram|youtube|google|facebook', async () => {
1930 document?.referrer == '' && clickSel('.-cx-PRIVATE-Linkshim__followLink__, #invalid-token-redirect-goto-site-button, .selected');
1931 /vitalityvista|geekgrove|coinhub/.test(document?.referrer) && queryParams.has('url') && goTo(queryParams.get('url'));
1932
1933 if (currentUrl.includes('go/')) {
1934 let tab;
1935 const code = await waitForElement('.mb-2 code');
1936 try {
1937 const link = await waitForElement('strong > a', 1);
1938 GM_setValue('geek_code', code.innerText);
1939 tab = GM_openInTab(link.href, {
1940 active: true
1941 });
1942 } catch (e) {
1943 const q = document.querySelector('.user-select-none').textContent;
1944 tab = GM_openInTab(`https://www.google.com/url?q=${q}`, {
1945 active: true
1946 });
1947 }
1948
1949 GM_onMessage('finalcode', function(newValue) {
1950 tab?.close();
1951 document.querySelector('#verification_code').value = newValue;
1952 })
1953 }
1954 //TODO REMOVE #btn_link_start:not([disabled])
1955 clickSel('a.btn:has(.mdi-check), #btnLinkStart:not([disabled]), #linkResFooter > #btnLinkContinue:not([disabled]), #linkResHeader > #btnLpcont');
1956 clickAfterCaptcha('#btnLinkContinue');
1957 clickSel('#btnLinkContinue:not(:has(.iconcaptcha-modal)), .iconcaptcha-modal__body');
1958 clickSel('#btnLpcont');
1959 waitForElement('#linkInput').then((input) => {
1960 input.value = GM_getValue('geek_code', '');
1961 clickSel('#btnLink', 1);
1962 })
1963 const codeEl = await waitForElement('code.link_code');
1964 GM_sendMessage('finalcode', codeEl.innerText)
1965});
1966runIfHost('shortit', () => {
1967 clickSel('.pulse.btn-primary.btn');
1968 clickAfterCaptcha('#btn2');
1969});
1970runIfHost('autodime|cryptorex', () => {
1971 clickAfterCaptcha('#button1');
1972 clickSel('.mb-sm-0.mt-3.btnBgRed');
1973});
1974clickIfHost('tmail|labgame|gamezizo|fitdynamos', '#surl, form.text-center, #next, #glink');
1975autoDownloadIfHost('dataupload', clickSel, '.downloadbtn');
1976
1977function clickWithTrusted() {
1978 return;
1979 const sandbox = new Proxy(window, {
1980 get(target, key) {
1981 if (key === 'Object') {
1982 return new Proxy(Object, {
1983 get(objTarget, objKey) {
1984 if (objKey === 'freeze') {
1985 return function(obj) {
1986 console.warn('Object.freeze disabled in sandbox.');
1987 return obj;
1988 };
1989 }
1990 return Reflect.get(objTarget, objKey);
1991 }
1992 });
1993 }
1994 return Reflect.get(target, key);
1995 }
1996 });
1997
1998 const originalAddEventListener = EventTarget.prototype.addEventListener;
1999 EventTarget.prototype.addEventListener = function(type, listener, options) {
2000 const wrappedListener = function(event) {
2001 const clonedEvent = Object.create(event);
2002 Object.defineProperty(clonedEvent, 'isTrusted', {
2003 value: true,
2004 writable: false
2005 });
2006 return listener.call(this, clonedEvent);
2007 };
2008 return originalAddEventListener.call(this, type, wrappedListener, options);
2009 };
2010
2011 return sandbox;
2012}
2013runIfHost('admediaflex|cdrab|financekita|jobydt|foodxor|mealcold|newsobjective|gkvstudy|mukhyamantriyojanadoot|thepragatishilclasses|indobo|pdfvale|templeshelp|ecq|cooklike|wpcheap|bitwidgets|newsamp|coinilium|atomicatlas|gadifeed|thecryptoworld|skyfreecoins|petly|techreviewhub|mbantul.my', async () => {
2014 const element = await waitForElement('#wpsafe-link a[onclick*=\'window.open\']');
2015 const onclick = element.getAttribute('onclick');
2016 goTo(onclick.getBetween('window.open\(\'', '\'\)'));
2017});
2018runIfHost('cryptowidgets|melodyspot|carsmania|cookinguide|tvseriescentral|cinemascene|hobbymania|plantsguide|furtnitureplanet|petsguide|gputrends|gamestopia|ountriesguide|carstopia|makeupguide|gadgetbuzz|coinsvalue|coinstrend|coinsrise|webfreetools|wanderjourney|languagefluency|giftmagic|bitwidgets|virtuous-tech|retrocove|vaultfind|geotides|renovatehub|playallgames|countriesguide|freeoseocheck|insurancexguide|funplayarcade|origamiarthub|fitbodygenius|illustrationmaster|selfcareinsights|constructorspro|ecofriendlyz|virtualrealitieshub|wiki-topia|techiephone|brewmasterly|teknoasian|lifeprovy|chownest|mythnest|homesteadfeast|gizmoera|tastywhiz|speakzyo|bubblix|dailytech-news|biit|carfocus|coinscap|insurancegold|wii', clickWithTrusted);
2019runIfHost('cryptowidgets|melodyspot|carsmania|cookinguide|tvseriescentral|cinemascene|hobbymania|plantsguide|furtnitureplanet|petsguide|gputrends|gamestopia|ountriesguide|carstopia|makeupguide|gadgetbuzz|coinsvalue|coinstrend|coinsrise|webfreetools|wanderjourney|languagefluency|giftmagic|bitwidgets|virtuous-tech|freeoseocheck|insurancexguide|funplayarcade|origamiarthub|fitbodygenius|illustrationmaster|selfcareinsights|constructorspro|ecofriendlyz|virtualrealitieshub|wiki-topia|techiephone|brewmasterly|bubblix|dailytech-news|biit|carfocus|blogfly|coinscap|insurancegold|wii', () => {
2020 clickSel('//button[normalize-space(text())=\'Verify\'], #loadingDiv[style*=\'display: block\'] button, #loadingDiv[style*=\'display: block\'] button');
2021 // if (['dailytech-news.eu', 'wii.si', 'bubblix.eu', 'bitwidgets.net', 'virtuous-tech.net', 'carfocus.site', 'biit.site'].some(tino => currentUrl.includes(tino))) {
2022 // } else
2023 waitForElement('#clickMessage[style*=\'display: block\'], clickMessage[style*=\'display: block\']').then(() => {
2024 setActiveElement('[data-placement-id=\'revbid - leaderboard\']');
2025 });
2026 // Checkvisibility('#loadingDiv[style^=\'display\'] > span', () => {
2027 // const buttonText = strBetween(document.querySelector('#loadingDiv[style^=\'display\'] > span').textContent, 'Click', 'To Start');
2028 // waitForElement(`#loadingDiv[style^='display'] .btn.btn-primary:contains('${buttonText}')`).then(buttonElement => {
2029 // const buttons = Array.from(bp('#loadingDiv[style^=\'display\'] .btn.btn-primary', true));
2030 // const index = buttons.indexOf(buttonElement);
2031 // if (index === -1) return;
2032 // const selectorOptions = ['button.btn:nth-child(2)', 'button.btn:nth-child(3)', 'button.btn:nth-child(4)', 'button.btn:nth-child(5)', 'button.btn:nth-child(6)'];
2033 // const chosenSelector = selectorOptions[index];
2034 // if (chosenSelector) sleep(2000).then(() => ReadytoClick(`#loadingDiv[style^='display'] ${chosenSelector}`));
2035 // });
2036 // });
2037});
2038runIfHost('render-state', () => queryParams.has('link') && window.goToLink());
2039runIfHost('programasvirtualespc', () => currentUrl.includes('out/') && goTo(atob(currentUrl.split('?')[1])));
2040runIfHost('grtjobs|jksb', () => {
2041 // Checkvisibility('.step', window.handleContinueClick);
2042});
2043//TODO: with the link, I can improve this further
2044runIfHost('dutchycorp', parameterRedirect, '$code?verif=0');
2045runIfHost('autofaucet.dutchycorp', function() {
2046 let autoRoll = false;
2047 if (/(coin_roll|roll_game).php|/.test(currentUrl)) {
2048 window.scrollTo(0, 9999);
2049 if (!document.querySelector('#timer')) {
2050 captchaSolved(async () => {
2051 autoRoll === false && (await clickSel('.boost-btn.unlockbutton'), autoRoll = true)
2052 clickSel('#claim_boosted');
2053 });
2054 } else {
2055 const isRoll = currentUrl.includes('/coin_roll.php');
2056 goTo(`https://autofaucet.dutchycorp.space/${isRoll ? 'coin_roll.php' : 'ptc/wall.php'}`);
2057 }
2058 }
2059 if (currentUrl.includes('/ptc/wall.php')) {
2060 const ptcwall = document.querySelectorAll('.col.s10.m6.l4 a[name=\'claim\']');
2061 if (ptcwall.length >= 1) {
2062 ptcwall[0].style.backgroundColor = 'red';
2063 let match = ptcwall[0].onmousedown.toString().match(/'href', '(.+)'/);
2064 let hrefValue = match[1];
2065 goTo('https://autofaucet.dutchycorp.space' + hrefValue);
2066 } else {
2067 // Checkvisibility('div.col.s12.m12.l8 center div p', () => {
2068 // goTo('https://autofaucet.dutchycorp.space/ptc/');
2069 // })
2070 }
2071 if (currentUrl.includes('.space/ptc/')) {
2072 if (document.querySelector('.fa-check-double')) {
2073 goTo('https://autofaucet.dutchycorp.space/dashboard.php');
2074 }
2075 clickAfterCaptcha('button[type=\'submit\']')
2076 }
2077 }
2078});
2079clickIfHost('devnote|formshelp|rcccn|djbassking', '#getlinks.btn');
2080runIfHost('tinybc|phimne|mgame|sportweb|bitcrypto', async () => {
2081 const element = await waitForElement('#wpsafe-link a[onclick*=\'handleClick\']')
2082 const onclick = element.getAttribute('onclick');
2083 const target = onclick.getBetween('handleClick\(\'', '\')');
2084 target && goTo(target);
2085});
2086runIfHost('curto', () => {
2087 clickSel('#get-link');
2088 elementRedirect('#get-link');
2089});
2090runIfHost('tejtime24|drinkspartner|sportswordz|newspute|raftarsamachar|gadialert|jobinmeghalaya|raftarwords', () => {
2091 window.scrollTo(0, 9999);
2092 clickSel('#topButton.pro_btn, #bottomButton, #open-link > .pro_btn');
2093});
2094runIfHost('mazen-ve3', async () => {
2095 await waitForElement('//*[contains(concat(\' \', normalize-space(@class), \' \'), \' filler \') and normalize-space(text())=\'Wait 0 s\']');
2096 clickSel('#btn6, .btn-success.btn');
2097});
2098autoDownloadIfHost('oydir', async () => {
2099 await waitForElement('.download-now');
2100 window.triggerFreeDownload();
2101 elementRedirect('.text-center.download-now > .w-100.btn-blue.btn');
2102});
2103clickIfHost('pubghighdamage|anmolbetiyojana', '#robot, #notarobot.button, #gotolink.bt-success.btn');
2104runIfHost('fansonlinehub', function() {
2105 window.scrollBy(0, 1);
2106 window.scrollTo(0, -1);
2107 clickSel('.active.btn > span');
2108});
2109runIfHost('coinsrev', () => {
2110 clickAfterCaptcha('#wpsafelinkhuman > input');
2111 clickSel('#wpsafe-generate > a > img, input#image3');
2112});
2113runIfHost('hosttbuzz|policiesreview|blogmystt|wp2hostt|advertisingcamps|healthylifez|insurancemyst|clk|dekhe', () => {
2114 clickSel('button.btn.btn-primary, #nextpage, #getmylink');
2115 waitForElement('.btn-captcha.btn-primary.btn').then(e => e.removeAttribute('onclick'));
2116 clickAfterCaptcha('.btn-captcha.btn-primary.btn');
2117});
2118runIfHost('remixsounds|helpdeep|thinksrace|techforu|studywithsanjeet|uprwssp|gkfun', async () => {
2119 clickSel('.m-2.btn-captcha.btn-outline-primary.btn, .tpdev-btn, #tp98 button[class^=\'bt\'], form[name=\'tp\'], #btn6');
2120 //Todo: when I have a link, I will improve the query.
2121 const element = await waitForElement('body > center:nth-child(6) > center:nth-child(4) > center:nth-child(2) > center:nth-child(4) > center:nth-child(3) > center:nth-child(4) > center:nth-child(2) > center:nth-child(4) > script:nth-child(5)');
2122 const scriptContent = element.textContent;
2123 const Linkc = scriptContent.match(/var\s+currentLink\s*=\s*[''](.*?)['']/);
2124 Linkc && Linkc[1] && goTo(Linkc[1]);
2125});
2126autoDownloadIfHost('upfion', async () => {
2127 await waitForElement('.file-main.form-main');
2128 clickSel('.my-2.text-center > .btn-primary.btn');
2129 clickAfterCaptcha('#link-button');
2130});
2131runIfHost('techxploitz.eu', () => {
2132 // Checkvisibility('#hmVrfy', () => clickSel('.pstL.button'));
2133 // Checkvisibility('#aSlCnt', () => clickSel('.pstL.button, .safeGoL.button'));
2134});
2135runIfHost('down.fast-down|down.mdiaload', () => {
2136 clickSel('input[name=\'method_free\'], //a[normalize-space(text())=\'Continue\']');
2137
2138 // const captchaCode = BpAnswer(null, 'captcha');
2139 // if (captchaCode) {
2140 // const captchaInput = bp('input.captcha_code');
2141 // if (captchaInput) {
2142 // captchaInput.value = captchaCode;
2143 // ReadytoClick('button:innerText('Create Download ')', 30);
2144 // }
2145 // }
2146});
2147runIfHost('sekilastekno|miuiku|vebma|majalahhewan|tempatwisata', async function() {
2148 const executor = async () => {
2149 let El = window?.livewire?.components?.components()[0];
2150 while (!El) {
2151 await sleep(100);
2152 El = window?.livewire?.components?.components()[0];
2153 }
2154 const payload = {
2155 fingerprint: El.fingerprint,
2156 serverMemo: El.serverMemo,
2157 updates: [{
2158 payload: {
2159 event: 'getData',
2160 id: 'whathappen',
2161 params: [],
2162 },
2163 type: 'fireEvent',
2164 }],
2165 };
2166 const response = await fetch(host + '/livewire/message/pages.show', {
2167 headers: {
2168 'Content-Type': 'application/json',
2169 'X-Livewire': 'true',
2170 'X-CSRF-TOKEN': window.livewire_token,
2171 },
2172 method: 'POST',
2173 body: JSON.stringify(payload),
2174 });
2175 const json = await response.json();
2176 const url = new URL(json.effects.emits[0].params[0]);
2177 goTo(url.href);
2178 };
2179
2180 if (host === 'wp.sekilastekno.com') {
2181 const element = await waitForElement('form[method=\'post\']');
2182 GM_addElement(element, 'input', {
2183 value: window.livewire_token,
2184 name: '_token',
2185 hidden: true
2186 })
2187 element.submit();
2188 waitForElement('button[x-text]').then(executor);
2189 return;
2190 }
2191
2192 waitForElement('div[class=\'max - w - 5 xl mx - auto\']').then(executor);
2193});
2194runIfHost('adshnk|adshrink', () => {
2195 const timer = setInterval(() => {
2196 if (typeof window?._sharedData?.[0]?.destination == 'string') {
2197 clearInterval(timer);
2198 goTo(window._sharedData[0].destination);
2199 } else if (typeof window?.[window?.___reactjsD?.o]?.dest == 'string') {
2200 clearInterval(timer);
2201 goTo(window[window.___reactjsD.o].dest);
2202 }
2203 });
2204});
2205runIfHost('playonpc|yolasblog|playarcade|quins|retrotechreborn|insurelean|ecosolardigest|finance240|2wheelslife|historyofyesterday|gally|freeat30|ivnlnews', async () => {
2206 clickAfterCaptcha('button#cbt.pfbutton-primary');
2207 await waitForElement(':has(not(.h-captcha))');
2208 await waitForElement(':has(not(.core-msg.spacer.spacer-top))');
2209 await waitForElement('#cbt:not([disabled])');
2210 await waitForElement('//button[@id=\'formButtomMessage\' and contains(text(), "Well done! You\'re ready")]');
2211 clickSel('button#cbt.pfbutton-primary');
2212});
2213runIfHost('mangareleasedate|sabkiyojana|teqwit|bulkpit|odiafm|loopmyhub|thepopxp|cryptoblast', () => {
2214 RSCookie('adexp', '1', GPlinks, 0.001388);
2215 clickSel('#VerifyBtn, #NextBtn', 3);
2216 waitForElement('#SmileyBanner').then(function() {
2217 setActiveElement('[id=\'div - gpt - ad\']');
2218 })
2219});
2220runIfHost('on-scroll|diudemy|maqal360', () => {
2221 clickSel('#_append a, #append a');
2222 waitForElement('.alertAd').then(function() {
2223 setActiveElement('[data-placement-id=\'revbid - leaderboard\']');
2224 });
2225});
2226runIfHost('horoscop|videoclip|newscrypto|article24|writeprofit|docadvice|trendzilla|worldwallpaper', () => {
2227 captchaSolved(window?.wpsafehuman);
2228 clickSel('center > .wpsafelink-button');
2229 waitForElement('#wpsafe-generate > a').then(function() {
2230 window.wpsafegenerate();
2231 const start = currentUrl.includes('article24.online') ? '' : '2';
2232 clickSel(`#wpsafelink-landing${start} > .wpsafelink-button`);
2233 })
2234});
2235runIfHost('gamezigg|shrs|shareus|go.paylinks|multiup|modsfire|social-unlock|work', function() {
2236 //Temporary until I have the links.
2237 const t = /^\/([^\/]+)/.test(pathname);
2238 switch (host) {
2239 case 'gamezigg.com':
2240 const b = pathname === '/verify/' && /^\?([^&]+)/.test(search);
2241 b && openWithReferrerPolicy('https://get.megafly.in/' + RegExp.$1);
2242 break;
2243 case 'shrs.link':
2244 case 'shareus.io':
2245 if (/^\/old\/([^\/]+)/.test(pathname)) {
2246 goTo('https://jobform.in/?link=' + RegExp.$1);
2247 }
2248 break;
2249 case 'go.paylinks.cloud':
2250 if (/^\/([a-zA-Z0-9]{10,12})$/.test(pathname)) {
2251 goTo('https://paylinks.cloud/' + RegExp.$1);
2252 }
2253 break;
2254 case 'multiup.io':
2255 if (currentUrl.includes('/download/')) goTo(currentUrl.replace('download/', 'en/mirror/'));
2256 break;
2257 case 'modsfire.com':
2258 t && goTo('https://modsfire.com/d/' + RegExp.$1);
2259 break;
2260 case 'social-unlock.com':
2261 t && goTo('https://social-unlock.com/redirect/' + RegExp.$1);
2262 break;
2263 case 'work.ink':
2264 t && goTo('https://adbypass.org/bypass?bypass=' + currentUrl.split('?')[0]);
2265 break;
2266 default:
2267 break;
2268 }
2269})
2270runIfHost('firefaucet', () => {
2271 clickSel('//button[normalize-space(text())=\'Continue\'], //button[normalize-space(text())=\'Go Home\']')
2272 clickAfterCaptcha('button[type=submit]:not([disabled])');
2273});
2274runIfHost('inshortnote', () => {
2275 //For now, I won’t touch it until there’s a link.
2276 let clickCount = 0;
2277 const maxClicks = 7;
2278 const bp = document.querySelectorAll;
2279
2280 function clickElement() {
2281 if (clickCount >= maxClicks) return;
2282 let element = bp('#htag > [style=\'left: 0 px;\']')?.[0] || bp('#ftag > [style=\'left: 0 px;\']')?.[0];
2283 if (element) {
2284 element.click();
2285 clickCount++;
2286 return;
2287 }
2288 for (let el of bp('.gaama [style*=\'left: \']')) {
2289 if (/^[a-zA-Z0-9]{5,6}$/.test(el.textContent.trim())) {
2290 el.click();
2291 clickCount++;
2292 return;
2293 }
2294 }
2295 }
2296 const intervalId = setInterval(() => {
2297 clickElement();
2298 if (clickCount >= maxClicks) clearInterval(intervalId);
2299 }, 3000);
2300});
2301clickIfHost('videolyrics', '//a[contains(normalize-space(),\'Continue\')], div[x-html=\'isTCompleted\'] button');
2302runIfHost('servicemassar', () => {
2303 captchaSolved(window.linromatic());
2304 clickSel('//button[normalize-space(text())=\'Next\'], //button[normalize-space(text())=\'Redirect\']');
2305});
2306runIfHost('suaurl|lixapk|reidoplacar|lapviral|minhamoto', () => {
2307 const selectors = ['FETCH LINK', 'START', 'PULAR CAPTCHA', 'FINAL LINK', 'CONTINUAR', 'DESBLOQUEAR'].map(t => `//button[contains(normalize-space(),'${t}')]`)
2308 clickSel(selectors);
2309});
2310runIfHost('cryptosparatodos|placementsmela|howtoconcepts|tuasy|skyrimer|yodharealty|mobcupring|aiimsopd|advupdates|camdigest|heygirlish|blog4nx|todayheadliners|jobqwe|cryptonews.faucetbin|mobileflashtools|paidinsurance|djstar|sevayojana|bjp.org|sastainsurance|nashib|cialisstrong|loanforuniversity|cegen|thunder-appz.eu|zaku|veganab|skyfreecoins|manga4nx', async () => {
2311 const element = await waitForElement('#wpsafe-link a');
2312 goTo(element.getAttribute('onclick').getBetween('window.open(\'', '\', \'_self\')'));
2313});
2314runIfHost('indobo', async () => {
2315 const element = await waitForElement('#wpsafegenerate > script:nth-child(4)');
2316 const url = element.textContent.getBetween('window.location.href = \'', '\';');
2317 url.startsWith('https://indobo.com?safelink_redirect=') && goTo(url);
2318});
2319runIfHost('downloader', () => {
2320 clickAfterCaptcha('button.btn.btn-primary');
2321 clickSel('//*[@id=\'count\' and normalize-space(text())=\'0\']')
2322});
2323runIfHost('infonerd', async () => {
2324 await waitForElement('//*[@id=\'redirectButton\' and normalize-space(text())=\'0\']');
2325 window.redirectToUrl();
2326});
2327runIfHost('trangchu|downfile|techacode|expertvn|ziggame|gamezigg|azmath|aztravels|handydecor.com', () => {
2328 clickSel('#monetiza.btn-primary.btn');
2329 waitForElement('#monetiza-generate').then(window?.monetizago);
2330});
2331runIfHost('bchlink|usdlink', () => {
2332 clickSel('#antiBotBtnBeta > strong', 2);
2333 clickAfterCaptcha('#invisibleCaptchaShortlink');
2334});
2335// runIfHost('(shrinke|shrinkme)\.\w+', clickAfterCaptcha, '#invisibleCaptchaShortlink');
2336runIfHost('paid4link|linkbulks|linclik|up4cash|smoner|atglinks|minimonetize|encurtadorcashlinks|yeifly|themesilk|linkpayu|wordcounter|shrink|galaxy-link|dutchycorp|pahe|pwrpa|snipn|paylinks|oke|tinygo|tlin|wordcount|link.freebtc.my|get.megafly|skyfreeshrt|learncrypto|link4rev', clickAfterCaptcha, '#link-view');
2337
2338runIfHost('headlinerpost|posterify', async () => {
2339 const scripts = document.querySelectorAll('script');
2340 const script = [...scripts].find(e => e.textContent.includes('data:'));
2341 let dataValue = script?.textContent?.getBetween('data: \'', '\'');
2342
2343 const plan = JSON.parse(RSCookie('plan') || '{}');
2344 let stepValue = plan.lid || '';
2345 let planValue = plan.page || '';
2346 if (!dataValue || !stepValue) return;
2347
2348 const postData = {
2349 data: dataValue
2350 };
2351 const sid = RSCookie('sid');
2352 postData[sid ? 'step_2' : 'step_1'] = stepValue;
2353 if (sid) postData.id = sid;
2354
2355 const isHeadliner = host === 'headlinerpost.com';
2356 const params = new URLSearchParams(postData);
2357 const response = await fetch('https://shrinkforearn.in/link/new.php', {
2358 method: 'POST',
2359 headers: {
2360 'Content-Type': 'application/x-www-form-urlencoded',
2361 'Referer': `https://${isHeadliner ? 'headlinerpost.com' : 'posterify.net'}`,
2362 'Origin': `https://${isHeadliner ? 'headlinerpost.com' : 'posterify.net'}`
2363 },
2364 body: params,
2365 credentials: 'include'
2366 });
2367 const result = await response.json();
2368 const id = result.inserted_data?.id;
2369 id && RSCookie('sid', id, 0.02);
2370 if (id || result.updated_data || sid) {
2371 const ShrinkUrl = `https://${isHeadliner
2372 ? `posterify.net/?id=${encodeURIComponent(stepValue)}&sid=${encodeURIComponent(id || sid)}&plan=${encodeURIComponent(planValue)}`
2373 : `shrinkforearn.in/${encodeURIComponent(stepValue)}?sid=${encodeURIComponent(id || sid)}`}`;
2374 goTo(ShrinkUrl);
2375 }
2376});
2377
2378runIfHost('carbikesupdate|carbikenation', () => {
2379 parent.open = () => {}
2380 clickSel('#getLinkBtn, #getlinks.btn');
2381});
2382{
2383 /*
2384 BypassedByBloggerPemula(/(financedoze|topjanakri|stockbhoomi).com|techhype.in|getpdf.net|cryptly.site/, () => {
2385 CheckVisibility('p:contains(\'Step\')', () => {
2386 DoIfExists('#rtg', 'submit', 3);
2387 DoIfExists('button:innerText(\'Open - Continue\')', 4);
2388 });
2389 });
2390 BypassedByBloggerPemula(/bitcotasks.com/, () => {
2391 if (currentUrl.includes('/firewall')) {
2392 CheckVisibility('#captcha-container', '&&', 'bp(\'.mb - 2\').innerText == \'Verified\'', () => {
2393 DoIfExists('button:contains(\'Validate\')');
2394 });
2395 }
2396 if (currentUrl.includes('/lead')) {
2397 CheckVisibility('#status .btn', () => {
2398 DoIfExists('button:contains(\'Start View\')');
2399 });
2400 }
2401 CheckVisibility('#captcha-container', '&&', 'bp(\'.mb - 2\').innerText == \'Verified\'', () => {
2402 window.continueClicked();
2403 });
2404 CheckVisibility('.alert-success.alert', '||', 'bp(\'.alert - success\').innerText == \'This offer was successfully\'', () => {
2405 window.close();
2406 });
2407 });
2408 BypassedByBloggerPemula(/newsminer.uno/, () => {
2409 CheckVisibility('#clickMessage', '&&', 'bp(\'#clickMessage\').innerText == \'Click any ad\'', () => {
2410 setActiveElement('[data-placement-id=\'revbid - leaderboard\']');
2411 });
2412 if (elementExists('input.form-control')) {
2413 notify('Please Answer the Maths Questions First ,Wait until Progress bar end, then Click the Red X Manually', false, true);
2414 window.onscroll = BpBlock();
2415 window.check2();
2416 elementReady('[name=\'answer\']').then(function(element) {
2417 element.addEventListener('change', window.check3);
2418 });
2419 }
2420 });
2421 BypassedByBloggerPemula(/stly.link|(snaplessons|atravan|airevue|carribo|amalot).net|(stfly|shrtlk).biz|veroan.com/, () => {
2422 CaptchaDone(() => {
2423 ReadytoClick('button[class^=mt-4]');
2424 DoIfExists('button.mt-4:nth-child(2)', 3);
2425 });
2426 CheckVisibility('button[class^=rounded]', () => {
2427 if (!bp('.g-recaptcha') || !bp('.cf-turnstile')) {
2428 DoIfExists('button[class^=rounded]', 2);
2429 }
2430 });
2431 CheckVisibility('button[class^=mt-4]', '&&', 'bp(\'.progress - done\').innerText == \'100\'', () => {
2432 ReadytoClick('button[class^=mt-4]', 2);
2433 ReadytoClick('button.mt-4:nth-child(2)', 4);
2434 });
2435 CheckVisibility('button[class^=mt-4]', '&&', 'bp(\'#countdown - number\').innerText == \'✓\'', () => {
2436 DoIfExists('button[class^=mt-4]', 2);
2437 ReadytoClick('button.mt-4:nth-child(2)', 3);
2438 });
2439 });
2440 */
2441}