how to skip adf.ly


SUBMITTED BY: Guest

DATE: March 10, 2014, 3:36 a.m.

FORMAT: JavaScript

SIZE: 37.5 kB

HITS: 759

  1. (function () {
  2. // ==UserScript==
  3. // @name AdsFight!
  4. // @namespace http://blog.thrsh.net
  5. // @author daYOda (THRSH)
  6. // @description Fight Naughty Ads, Go Fight For Your Right!
  7. // @version 6.7
  8. // @updateURL https://userscripts.org/scripts/source/89322.meta.js
  9. // ===========================================================
  10. // rest : image host :
  11. // ===========================================================
  12. // @match http://*.xlocker.net/*
  13. // @match http://*.imgchili.com/show/*
  14. // @match http://*.imgchili.net/show/*
  15. // @match http://*.imagearn.com/image.php?id=*
  16. // @match http://*.imagebam.com/image/*
  17. // @match http://*.imageswitch.com/*/*
  18. // @match http://*.imageporter.com/*/*
  19. // @match http://*.imagetwist.com/*/*
  20. // @match http://*.cocoimage.com/img.php?*
  21. // @match http://*.imagehaven.net/img.php?*
  22. // @match http://*.imagevenue.com/img.php?*
  23. // @match http://*.turboimagehost.com/p/*
  24. // @match http://*.pixhost.org/show/*
  25. // @match http://*.hotimg.com/image/*
  26. // @match http://*.imagecherry.com/*
  27. // @match http://*.imagebunk.com/*
  28. // @match http://*.imgonion.com/*
  29. // @match http://*.imgbar.net/*
  30. // @match http://*.pimpandhost.com/*
  31. // @match http://*.imgdino.com/*
  32. // @match http://*.imgnip.com/*
  33. // @match http://*.imgtiger.com/*
  34. // @match http://*.imgpony.com/*
  35. // @match http://*.image2you.ru/*/*
  36. // @match http://*.sexyimg.com/*/*
  37. // @match http://*.yankoimages.net/*
  38. // @match http://*.qrrro.com/*
  39. // @match http://*.comicalpic.net/img-*
  40. // @match http://*.imgserve.net/img-*
  41. // @match http://*.imgcloud.co/img-*
  42. // @match http://*.imgtube.net/img-*
  43. // @match http://*.imgpay.me/img-*
  44. // @match http://*.imgboo.me/img-*
  45. // @match http://*.imgcorn.com/img-*
  46. // @match http://*.imagecorn.com/img-*
  47. // @match http://*.imgsavvy.com/img-*
  48. // @match http://*.imgnext.com/img-*
  49. // @match http://*.imgrill.com/img-*
  50. // @match http://*.imgmoney.com/img-*
  51. // @match http://*.imagedecode.com/img-*
  52. // @match http://*.imagepicsa.com/img-*
  53. // @match http://*.imgshawt.com/img-*
  54. // @match http://*.imagegoofy.com/img-*
  55. // @match http://*.imgcandy.net/img-*
  56. // @match http://*.imgplate.com/img-*
  57. // @match http://*.imageshare.ro/img-*
  58. // @match http://*.imgnow.org/img-*
  59. // @match http://*.myhotimage.com/img-*
  60. // @match http://*.pixup.us/img-*
  61. // @match http://*.zeljeimage.com/img-*
  62. // @match http://*.fastpic.ru/view/*
  63. // @match http://*.imgtab.net/i/view/*
  64. // ===========================================================
  65. // adcou_ch :
  66. // ===========================================================
  67. // @match http://*.adcou.ch/*
  68. // ===========================================================
  69. // adcraft :
  70. // ===========================================================
  71. // @match https://*.ad.cx/*
  72. // @match https://*.adcraft.co/*
  73. // ===========================================================
  74. // adfly :
  75. // ===========================================================
  76. // @match http://*.adf.ly/*
  77. // @match http://*.9.bb/*
  78. // @match http://*.u.bb/*
  79. // @match http://*.j.gs/*
  80. // @match http://*.q.gs/*
  81. // @match http://*.ay.gy/*
  82. // @match https://*.adf.ly/*
  83. // @match https://*.9.bb/*
  84. // @match https://*.u.bb/*
  85. // @match https://*.j.gs/*
  86. // @match https://*.q.gs/*
  87. // @match https://*.ay.gy/*
  88. // ===========================================================
  89. // custom adfly
  90. // ===========================================================
  91. // @match http://*.ad7.biz/*
  92. // @match http://*.acb.im/*
  93. // @match http://*.adflytutor.com/*
  94. // @match http://*.apkmania.co/*
  95. // @match http://*.apkpro.net/*
  96. // @match http://*.clacsoft.com/*
  97. // @match http://*.d0wn.us/*
  98. // @match http://*.deskanime.net/*
  99. // @match http://*.evozi.com/*
  100. // @match http://*.extremefile.com/*
  101. // @match http://*.facedasgostosas.com/*
  102. // @match http://*.freealbumdownload.net/*
  103. // @match http://*.freepremiumnow.com/*
  104. // @match http://*.gamecopyworld.com/*
  105. // @match http://*.hamdi.web.id/*
  106. // @match http://*.idws.im/*
  107. // @match http://*.isoforest.net/*
  108. // @match http://*.itsrinaldo.net/*
  109. // @match http://*.ksn.mx/*
  110. // @match http://*.marvelavengersfreegifts.com/*
  111. // @match http://*.marvelavengersrewards.com/*
  112. // @match http://*.mediasharingcenter.net/*
  113. // @match http://*.melonescomputer.com/*
  114. // @match http://*.nggablog.com/*
  115. // @match http://*.paxii.de/*
  116. // @match http://*.phpnulledscripts.com/*
  117. // @match http://*.sazlina.com/*
  118. // ===========================================================
  119. // adfocus :
  120. // ===========================================================
  121. // @match http://*.adfoc.us/*
  122. // ===========================================================
  123. // awsclic :
  124. // ===========================================================
  125. // @match http://*.awsclic.com/l/*
  126. // ===========================================================
  127. // bybme :
  128. // ===========================================================
  129. // @match http://*.byb.me/*
  130. // ===========================================================
  131. // cfly :
  132. // ===========================================================
  133. // @match http://*.cf.ly/*
  134. // ===========================================================
  135. // gen_winloc :
  136. // ===========================================================
  137. // @match http://*.1tiny.net/*
  138. // @match http://*.feedsportal.com/*
  139. // @match http://*.redir.su/*
  140. // @match http://*.zpag.es/*
  141. // @match http://*.p.pw/*
  142. // ===========================================================
  143. // gen_url :
  144. // ===========================================================
  145. // @match http://*.anonym.to/*
  146. // ===========================================================
  147. // ityim :
  148. // ===========================================================
  149. // @match http://*.ity.im/*
  150. // ===========================================================
  151. // lienscash :
  152. // ===========================================================
  153. // @match http://*.lienscash.com/l/*
  154. // ===========================================================
  155. // linkbucks :
  156. // ===========================================================
  157. // @match http://*.allanalpass.com/*
  158. // @match http://*.amateurteensexblog.com/*
  159. // @match http://*.amy.gs/*
  160. // @match http://*.any.gs/*
  161. // @match http://*.baberepublic.com/*
  162. // @match http://*.deb.gs/*
  163. // @match http://*.drstickyfingers.com/*
  164. // @match http://*.dyo.gs/*
  165. // @match http://*.fapoff.com/*
  166. // @match http://*.filesonthe.net/*
  167. // @match http://*.freean.us/*
  168. // @match http://*.freegaysitepass.com/*
  169. // @match http://*.galleries.bz/*
  170. // @match http://*.goneviral.com/*
  171. // @match http://*.hornywood.tv/*
  172. // @match http://*.linkbabes.com/*
  173. // @match http://*.linkbucks.com/*
  174. // @match http://*.linkgalleries.net/*
  175. // @match http://*.linkseer.net/*
  176. // @match http://*.megaline.co/*
  177. // @match http://*.miniurls.co/*
  178. // @match http://*.picbucks.com/*
  179. // @match http://*.picturesetc.net/*
  180. // @match http://*.placepictures.com/*
  181. // @match http://*.poontown.net/*
  182. // @match http://*.qqc.co/*
  183. // @match http://*.qvvo.com/*
  184. // @match http://*.realfiles.net/*
  185. // @match http://*.rqq.co/*
  186. // @match http://*.seriousdeals.net/*
  187. // @match http://*.seriousfiles.com/*
  188. // @match http://*.seriousurls.com/*
  189. // @match http://*.sexpalace.gs/*
  190. // @match http://*.seriousfiles.com/*
  191. // @match http://*.theseblogs.com/*
  192. // @match http://*.thesefiles.com/*
  193. // @match http://*.theseforums.com/*
  194. // @match http://*.thosegalleries.com/*
  195. // @match http://*.tinybucks.net/*
  196. // @match http://*.tinylinks.co/*
  197. // @match http://*.tnabucks.com/*
  198. // @match http://*.tubeviral.com/*
  199. // @match http://*.uberpicz.com/*
  200. // @match http://*.ubervidz.com/*
  201. // @match http://*.ubucks.net/*
  202. // @match http://*.ugalleries.net/*
  203. // @match http://*.ultrafiles.net/*
  204. // @match http://*.urlbeat.net/*
  205. // @match http://*.urlpulse.net/*
  206. // @match http://*.whackyvidz.com/*
  207. // @match http://*.youfap.me/*
  208. // @match http://*.yyv.co/*
  209. // @match http://*.zxxo.net/*
  210. // @match http://*.zff.co/*
  211. // ===========================================================
  212. // lix_in :
  213. // ===========================================================
  214. // @match http://*.lix.in/-*
  215. // ===========================================================
  216. // lnk :
  217. // ===========================================================
  218. // @match http://*.lnk.co/*
  219. // @match http://*.linkbee.com/*
  220. // ===========================================================
  221. // lnx_lu :
  222. // ===========================================================
  223. // @match http://*.lnx.lu/*
  224. // ===========================================================
  225. // mirrorcreator :
  226. // ===========================================================
  227. // @match http://*.mirrorcreator.com/*
  228. // @match http://*.upmirror.info/*/*
  229. // @match http://*.maxmirror.com/*/*
  230. // ===========================================================
  231. // rdlnk :
  232. // ===========================================================
  233. // @match http://*.rdlnk.co/*
  234. // ===========================================================
  235. // refso :
  236. // ===========================================================
  237. // @match http://*.ref.so/*
  238. // ===========================================================
  239. // seomafia :
  240. // ===========================================================
  241. // @match http://*.seomafia.net/*
  242. // ===========================================================
  243. // shst :
  244. // ===========================================================
  245. // @match http://*.sh.st/*
  246. // ===========================================================
  247. // urlcash :
  248. // ===========================================================
  249. // @match http://*.bat5.com/*
  250. // @match http://*.celebclk.com/*
  251. // @match http://*.eightteen.com/*
  252. // @match http://*.looble.net/*
  253. // @match http://*.peekatmygirlfriend.com/*
  254. // @match http://*.pornyhost.com/*
  255. // @match http://*.smilinglinks.com/*
  256. // @match http://*.urlcash.net/*
  257. // @match http://*.urlcash.org/*
  258. // @match http://*.xxxs.org/*
  259. // ===========================================================
  260. // _1to4_me :
  261. // ===========================================================
  262. // @match http://*.1to4.me/*
  263. // @run-at document-start
  264. // ==/UserScript==
  265. /*
  266. This is renamed, re bundled versions of our :
  267. - Fly-Ads-Fly (adf.ly / 9.bb / u.bb) auto Redirect (http://userscripts.org/89322)
  268. - ity.im auto Redirect (http://userscripts.org/107588)
  269. - linkbucks auto Redirect (http://userscripts.org/98037)
  270. - adfoc.us auto Redirect (http://userscripts.org/116354)
  271. Most influenced by :
  272. - iHatePaidLinks (http://userscripts.org/105301)
  273. - RedirectionHelper (http://userscripts.org/69797)
  274. */
  275. function g(id){if(id && typeof id==='string'){id=document.getElementById(id);}return id||null;}
  276. function cleanUrl(s){s = s||""; return s.trim().replace(/[\u0080-\uFFFF]+/g, "").replace(/&/ig, "&");}
  277. function urldecode(str){return unescape(decodeURIComponent(escape(cleanUrl(str))));}
  278. function isUrl(s){return /^(ftp|https?):\/\/((([0-9]{1,3}\.){3,}\d+)|([0-9a-z\.\-]+)\.([a-z]{2,4}))\/?/ig.test(s.trim());}
  279. function regexx(s,rg){var rs;if(rs=s.match(rg)){return rs[1]?rs[1]:rs[0]||rs;}}
  280. function c1(q,root){return document.evaluate(q,root?root:document,null,9,null).singleNodeValue;}
  281. const yodUpdate = {
  282. script_id : 89322,
  283. script_version : '6.7',
  284. script_pipeId : '7015d15962d94b26823e801048aae95d',
  285. script_name : 'AdsFight!',
  286. }
  287. function setValue(key, value) {
  288. localStorage.setItem(key, value);
  289. return false;
  290. }
  291. function getValue(key) {
  292. var val = localStorage.getItem(key);
  293. return val;
  294. }
  295. function usoUpdate(el) {
  296. const s_CheckUpdate = 'YodCheckUpdate' + yodUpdate.script_id;
  297. const s_Redir = true;
  298. el = el ? el : document.body;
  299. if (el) {
  300. if (!document.getElementById(s_CheckUpdate)) {
  301. var s_gm = document.createElement('script'); s_gm.id = s_CheckUpdate; s_gm.type = 'text/javascript';
  302. s_gm.src = '//usoupdater.herokuapp.com/?id=' + yodUpdate.script_id + '&ver=' + yodUpdate.script_version;
  303. if (s_Redir) s_gm.src += '&redir=yes';
  304. el.appendChild(s_gm);
  305. }
  306. }
  307. }
  308. function appendJS(tag, str, id, head, link) {
  309. var doctype, tag = tag.toLowerCase().trim();
  310. var isJS = false;
  311. switch(tag) {
  312. case 'script':
  313. doctype = 'text/javascript';
  314. isJS = true;
  315. break;
  316. case 'style':
  317. doctype = 'text/css';
  318. head = true;
  319. break;
  320. default:
  321. return;
  322. }
  323. var target, s_gm = document.createElement(tag);
  324. if (id) {
  325. if (document.getElementById(id)) return;
  326. else s_gm.id = id;
  327. }
  328. s_gm.type = doctype;
  329. if (link) s_gm.src = str;
  330. else s_gm.textContent = str;
  331. if (head) target = document.getElementsByTagName('head')[0];
  332. else if (document.body) target = document.body;
  333. if (target) target.appendChild(s_gm);
  334. return s_gm;
  335. }
  336. function xhr(url, opt) {
  337. var o = {
  338. method: opt.method,
  339. url: url,
  340. data: opt.data || "",
  341. onload: function(r) {
  342. opt.callback(r.responseText);
  343. }
  344. };
  345. if (opt.method.match(/post/i)) {
  346. o.headers = {
  347. "Content-Type": "application/x-www-form-urlencoded",
  348. "X-Requested-With": "XMLHttpRequest"
  349. }
  350. }
  351. GM_xmlhttpRequest(o);
  352. }
  353. var rgx, par, el, str;
  354. var Extra = {
  355. init : function () {
  356. Extra.unload();
  357. Extra.doc = document.top || document;
  358. Extra.win = window.top || window;
  359. Extra.host = Extra.doc.location ? Extra.doc.location.hostname : '';
  360. Extra.pathname = Extra.doc.location ? Extra.doc.location.pathname : '';
  361. Extra.protocol = Extra.doc.location ? Extra.doc.location.protocol : '';
  362. Extra.href = Extra.doc.location ? urldecode(Extra.doc.location.href) : '';
  363. Extra.head = Extra.doc.head ? urldecode(Extra.doc.head.outerHTML).replace(/\\/g, '') : '';
  364. Extra.body = Extra.doc.body ? urldecode(Extra.doc.body.outerHTML).replace(/\\/g, '') : '';
  365. Extra.cdwn = 0;
  366. Extra.inval = 0;
  367. Extra.passed = 0;
  368. Extra.service = null;
  369. Extra.whitelist = "";
  370. /*
  371. for (var i in YOD.$W) {
  372. try {
  373. var ydoc = YOD.$W[i];
  374. var jsType = typeof ydoc;
  375. switch (jsType.toUpperCase()) {
  376. case "FUNCTION":
  377. var sydoc = ydoc.toString();
  378. //Extra.log(sydoc);
  379. if (sydoc.match(/(open|showModelessDialog)/i))
  380. YOD.$W[i] = function(){return true;};
  381. else if (sydoc.match(/(unload)/i)) {
  382. //Extra.unload();
  383. }
  384. }
  385. }
  386. catch(err){}
  387. }
  388. for (var i in Extra.doc) {
  389. try {
  390. var ydoc = Extra.doc[i];
  391. var jsType = typeof ydoc;
  392. switch (jsType.toUpperCase()) {
  393. case "FUNCTION":
  394. var sydoc = ydoc.toString();
  395. //Extra.log(sydoc);
  396. if (sydoc.match(/(open|write|close)/i))
  397. Extra.doc[i] = function(){return "";};
  398. break;
  399. }
  400. }
  401. catch(err){}
  402. }*/
  403. },
  404. unload : function() {
  405. try {
  406. YOD.$W.onunload = null;
  407. YOD.$W.onbeforeunload = null;
  408. if (YOD.$W.jQuery) {
  409. YOD.$W.jQuery(window).unbind("beforeunload");
  410. YOD.$W.jQuery(document).unbind("beforeunload");
  411. }
  412. }
  413. catch(err){}
  414. },
  415. log : function(str) {
  416. console.log("Adsfight!: " + str);
  417. },
  418. killvars : function(str) {
  419. str = str.split('|');
  420. for (var i in str) {
  421. var v = str[i].trim();
  422. YOD.$W[v] = null;
  423. }
  424. },
  425. stamp : function() {
  426. var s = Extra.service.js ? " (Please enable Javascript for this domain)" : "";
  427. Extra.doc.title = "AdsFight! " + s;
  428. },
  429. countDown : function() {
  430. var title = "AdsFight!";
  431. Extra.cdwn -= 1000;
  432. if (Extra.cdwn >= 1000) title += " Wait " + (Extra.cdwn / 1000) + "\"";
  433. else { Extra.win.clearInterval(Extra.inval);/* Extra.win.stop();*/ }
  434. Extra.doc.title = title;
  435. },
  436. efall : function (str, o) {
  437. if (!o) {
  438. if (s = c1(".//script[contains(text(),'"+str+"')]")) {
  439. o = s.innerHTML;
  440. }
  441. }
  442. if (o) {
  443. eval(o);
  444. return Extra.go(eval(str));
  445. }
  446. },
  447. go : function (url, noredir) {
  448. url = urldecode(regexx(url, /((http|ftp)[^'"]+)/i));
  449. if (!regexx(url, /^https?/)) {
  450. url = Extra.protocol + "//" + Extra.host + "/" + url.replace(/^\//, "");
  451. }
  452. if (!(isUrl(url))) return;
  453. Extra.stamp();
  454. if (url.match(/^(https?:\/\/)?(www\.)?mediafire\.com\//)) url = "http://nullrefer.com/?" + url;
  455. if (!noredir) {
  456. var delay = (Extra.cdwn && parseInt(Extra.cdwn)) ? Extra.cdwn : 1;
  457. if (Extra.cdwn >= 1000) Extra.inval = Extra.win.setInterval(Extra.countDown, 1000);
  458. if (Extra.cdwn <= 1) {
  459. Extra.win.location.href = url;
  460. } else {
  461. setTimeout(function() {
  462. Extra.win.location.href = url;
  463. }, delay);
  464. }
  465. return;
  466. }
  467. },
  468. hook : function (c) {
  469. var t = Extra.doc.head || Extra.doc.body;
  470. var s = document.createElement('script');
  471. s.innerHTML = c;
  472. t.appendChild(s);
  473. },
  474. /*
  475. supposed to be generic: monitor skip button, auto redirect
  476. */
  477. terror_btn : function (el, par, callback) {
  478. var e = par || el;
  479. e.addEventListener("DOMSubtreeModified",
  480. function () {
  481. setTimeout(function() {
  482. if (isUrl(el.href)) {
  483. if (callback) return callback.apply(null, [el, par]);
  484. patt = new RegExp("^(.*\\.)?(" + el.host + "+)$", "i");
  485. if (!regexx(Extra.host, patt)) return Extra.go(el.href);
  486. }
  487. }, 1000);
  488. }, false);
  489. },
  490. /*
  491. supposed to be generic: iframe replacement
  492. */
  493. terror_iframe : function (p) {
  494. if (el = c1(".//iframe")) {
  495. p = p || "";
  496. el.src = "http://userscripts.org/scripts/show/" + yodUpdate.script_id + p;
  497. }
  498. },
  499. setCookies : function (c) {
  500. var a, b, cooks = c.split(";");
  501. for (a in cooks) {
  502. c = cooks[a];
  503. if (c = c.trim()) Extra.doc.cookie = c + ";";
  504. }
  505. },
  506. doRemove : function (ev) {
  507. var el = ev.target;
  508. if (el.tagName) {
  509. var pattern = new RegExp("(" + Extra.whitelist + ")", "i");
  510. if (regexx(el.tagName, pattern)) return;
  511. }
  512. ev.preventDefault();
  513. el.parentNode.removeChild(el);
  514. return false;
  515. },
  516. bodyRemover : function () {
  517. Extra.doc.body.addEventListener("DOMNodeInserted", Extra.doRemove, false);
  518. },
  519. services : {
  520. rest : {
  521. cookie : "entercook=1;",
  522. hosts : "",
  523. css : "\
  524. html, body {padding: 0 !important; margin: 0 !important;width: auto !important; height: auto !important;}\
  525. #interContainer, #interVeil, #blanket, #popUpDiv1 {display: none !important;}\
  526. #yod_p_center {text-align: center !important;z-index: 999 !important;}\
  527. ",
  528. fn : function () {
  529. if ((par = c1(".//div[contains(@id,'continuetoimage')]/form")) && (a = c1(".//input[@type='submit']", par.parentNode))) {
  530. a.click();
  531. }
  532. else if (par = c1(".//form/*[contains(@id,'clickto2')]")) {
  533. return par.parentNode.submit();
  534. }
  535. else if (Extra.host.match(/imgbar/i)) {
  536. if (a = c1(".//a[contains(@onclick,'pop_click')]")) a.click();
  537. par = c1(".//center/img[contains(@src,'view/')]");
  538. }
  539. else if (Extra.host.match(/pimpandhost/i)) {
  540. par = c1(".//div[contains(@class,'image')]/img[contains(@src,'pics/')]");
  541. }
  542. else if (c1(".//form/input[contains(@name,'abuse')]") && (par = c1(".//img[contains(@src,'allimages/')]"))) {
  543. par.src = par.src.replace(/\/2_/g, '/');
  544. }
  545. else if (par =
  546. c1(".//form/*[contains(@class,'buttonPro')]")
  547. || c1(".//form/*[contains(@id,'sub_img')]")
  548. ) {
  549. return par.parentNode.submit();
  550. }
  551. if (par || (par =
  552. c1(".//img[contains(@onload,'scale')]")
  553. || c1(".//*[contains(@onclick,'scale')]")
  554. || c1(".//img[contains(@src,'imageporter.com/i/')]")
  555. || c1(".//img[contains(@src,'img.imagearn.com/imags/')][@id='img']")
  556. || c1(".//*[contains(@onload,'ImgFitWin')]")
  557. || c1(".//*[contains(@onclick,'adjustImage')]")
  558. || c1(".//img[contains(@class,'centred')]")
  559. || c1(".//div[contains(@id,'imageviewer')]/div[contains(@class,'image_wrapper')]/img[contains(@id,'main_image')]")
  560. || c1(".//a[contains(@href,'bookilsfx')]/img")
  561. || c1(".//img[contains(@class,'bigimg')]")
  562. || c1(".//img[contains(@style,'lupa.cur')]")
  563. || c1(".//a[contains(@class,'colorbox')]/img")
  564. || c1(".//*[@id='picContainer']/a[contains(@href,'/big/')]")
  565. )) {
  566. var p, el = document.createElement('img');
  567. par = c1(".//img", par) || par;
  568. el.src = par.src;
  569. Extra.doc.body.innerHTML = "";
  570. p = document.createElement('p'); p.id = "yod_p_center";
  571. p.appendChild(el);
  572. Extra.doc.body.appendChild(p);
  573. Extra.bodyRemover();
  574. return Extra.go(par.src, 1);
  575. }
  576. if (par = c1(".//div/a[@class='subButton']")) {
  577. return Extra.go(par.href);
  578. }
  579. }
  580. },
  581. gen_url : {
  582. hosts : "anonym.to",
  583. fn : function () {
  584. if (rgx = regexx(Extra.href, /\/\?(.+)$/i)) {
  585. return Extra.go(rgx);
  586. }
  587. }
  588. },
  589. _1to4_me : {
  590. hosts : "1to4.me",
  591. fn : function () {
  592. if (a = c1(".//p[contains(@class,'continue')]/a")) {
  593. return Extra.go(a.href);
  594. }
  595. }
  596. },
  597. adcraft : {
  598. hosts : "ad.cx | adcraft.co",
  599. fn : function () {
  600. if (rgx = regexx(Extra.body, /(https\:\/\/adcraft\.co\/go\/[^"]+)/i)) {
  601. return Extra.go(rgx);
  602. }
  603. }
  604. },
  605. adcou_ch : {
  606. hosts : "adcou.ch",
  607. fn : function () {
  608. if (a = c1(".//div[contains(@id,'SkipAd')]/a")) {
  609. return Extra.go(a.href);
  610. }
  611. }
  612. },
  613. adfly : {
  614. cookie : "PHPSESSID=;adf1=;adf2=;adf3=;adf4=;",
  615. hosts : "adf.ly | 9.bb | u.bb | j.gs | q.gs | ay.gy | ad7.biz | acb.im | adflytutor.com | apkmania.co | apkpro.net | clacsoft.com | d0wn.us | deskanime.net | evozi.com | extremefile.com | facedasgostosas.com | freealbumdownload.net | freepremiumnow.com | gamecopyworld.com | hamdi.web.id | idws.im | isoforest.net | itsrinaldo.net | ksn.mx | marvelavengersfreegifts.com | marvelavengersrewards.com | mediasharingcenter.net | melonescomputer.com | nggablog.com | paxii.de | phpnulledscripts.com | sazlina.com",
  616. addon : true,
  617. vars : "jQuery",
  618. fn : function () {
  619. var a, s, c = 0;
  620. if (
  621. (rgx = regexx(Extra.href, /int\/.*?(http.*?)$/i)) ||
  622. (rgx = regexx(Extra.href, /\d+\/((https?\:\/\/)?[0-9a-z\-].+)$/i))
  623. ) {
  624. if (!regexx(rgx, /^https?/)) rgx = "http://" + rgx;
  625. if (isUrl(rgx)) {
  626. return Extra.go(rgx);
  627. }
  628. }
  629. if (rgx = regexx(Extra.href, /(\/ad)?\/locked(\/|\?)/i)) {
  630. if (a = c1(".//a", g('continue'))) {
  631. Extra.cdwn = 5000;
  632. return Extra.go(a.href);
  633. }
  634. }
  635. }
  636. },
  637. adfocus : {
  638. hosts : "adfoc.us",
  639. fn : function () {
  640. if (rgx = regexx(Extra.body, /(\/serve\.?\/?interstitial.*)"/i)) {
  641. return xhr("http://adfoc.us" + rgx, {
  642. method: "GET",
  643. callback: function(r) {
  644. if (rgx = regexx(urldecode(r), /showSkip.*<a.*href="([^"]+)/i)) {
  645. return Extra.go(rgx);
  646. }
  647. }
  648. });
  649. } /*else if (rgx = regexx(Extra.body, /(http\:\/\/adfoc\.us\/serve\/click\/.[^'"]+)/i)) {
  650. return Extra.go(rgx);
  651. }*/ else {
  652. return Extra.efall('click_url');
  653. }
  654. }
  655. },
  656. awsclic : {
  657. hosts : "awsclic.com",
  658. fn : function () {
  659. if (rgx = regexx(Extra.body, /acceder\.png.*?alt="([^"]+)/i)) {
  660. return Extra.go(rgx);
  661. }
  662. }
  663. },
  664. bybme : {
  665. hosts : "byb.me",
  666. fn : function () {
  667. if (rgx = regexx(Extra.head, /#skip_button.*?href".*?,.*?"([^"]+)/i)) {
  668. return Extra.go(rgx);
  669. }
  670. }
  671. },
  672. cfly : {
  673. hosts : "cf.ly",
  674. fn : function () {
  675. if (a = c1(".//div[contains(@id,'skipme')]/a")) {
  676. return Extra.go(a.href);
  677. }
  678. }
  679. },
  680. gen_winloc : {
  681. hosts : "1tiny.net | feedsportal.com | redir.su | redir.su | zpag.es",
  682. fn : function () {
  683. if (
  684. (rgx = regexx(Extra.head, /window\.location\s?=\s?"([^"]+)/i))
  685. || (rgx = regexx(Extra.body, /location(?:\.href|)\s?=\s?\\?'?"?([^\\"']+)/i))
  686. //|| (rgx = regexx(Extra.body, /var\slink\s?=\s?'([^']+)/i))
  687. || (rgx = regexx(Extra.body, /href="([^"]+).*redirected/i))
  688. ) {
  689. return Extra.go(rgx);
  690. }
  691. }
  692. },
  693. ityim : {
  694. hosts : "ity.im",
  695. fn : function () {
  696. if(typeof YOD.$W.redirect==='function'){if(YOD.$W.parent)return YOD.$W.redirect();}
  697. if (par = c1(".//frameset[contains(@id,'topandbottom')]")) {
  698. if (el = c1(".//frame[contains(@id,'main')]", par) || c1(".//frame[contains(@src,'interheader.php')]")) {
  699. return Extra.go(el.src);
  700. }
  701. }
  702. //return Extra.hook('if(typeof redirect===\'function\'){if(parent)redirect();}');
  703. }
  704. },
  705. lienscash : {
  706. hosts : "lienscash.com",
  707. fn : function () {
  708. if (el = c1(".//span/a[@class='redirect']")) {
  709. return Extra.go(el.href);
  710. }
  711. }
  712. },
  713. linkbucks : {
  714. js : 1,
  715. hosts : "allanalpass.com | amateurteensexblog.com | amy.gs | any.gs | baberepublic.com | deb.gs | drstickyfingers.com | dyo.gs | fapoff.com | filesonthe.net | freean.us | freegaysitepass.com| galleries.bz | goneviral.com | hornywood.tv | linkbabes.com | linkbucks.com | linkgalleries.net | linkseer.net | megaline.co| miniurls.co | picbucks.com | picturesetc.net | placepictures.com | poontown.net | qqc.co | qvvo.com | realfiles.net | rqq.co | seriousdeals.net | seriousfiles.com | seriousurls.com | sexpalace.gs | theseblogs.com | thesefiles.com | theseforums.com | thosegalleries.com | tinybucks.net | tinylinks.co | tnabucks.com | tubeviral.com | uberpicz.com | ubervidz.com | ubucks.net | ugalleries.net | ultrafiles.net | urlbeat.net | urlpulse.net | whackyvidz.com | youfap.me | yyv.co | zxxo.net | zff.co",
  716. fn : function () {
  717. if (rgx = regexx(Extra.pathname, /^\/url\/(.+)$/i)) {
  718. return Extra.go(rgx);
  719. }
  720. else if (rgx = regexx(Extra.href, /(\/(locked|verify)+)$/i)) {
  721. return Extra.go(Extra.href.replace(rgx, ''));
  722. }
  723. else if (rgx = regexx(Extra.body, /\/director\/\?t=([^'"]+)/)) {
  724. //Extra.terror_iframe("/?t=" + rgx);
  725. }
  726. // fallback
  727. if (el = c1(".//a[contains(@id,'skiplink')]")) {
  728. Extra.terror_btn(el, false, function(el, par) {
  729. el.onclick({which: true});
  730. //el.onclick.apply(this, [{which: true}]);
  731. });
  732. }
  733. }
  734. },
  735. lix_in : {
  736. hosts : "lix.in",
  737. fn : function () {
  738. if ((par = c1(".//form/input[@name='tiny']")) && (a = c1(".//input[@type='submit']", par.parentNode))) {
  739. a.click();
  740. } else if (a = c1(".//iframe[@name='ifram']")) {
  741. return Extra.go(a.src);
  742. }
  743. }
  744. },
  745. lnk : {
  746. hosts : "linkbee.com | lnk.co",
  747. fn : function () {
  748. if (
  749. (rgx = regexx(Extra.body, /id="urlholder"\svalue="([^"]+)/i)) ||
  750. (rgx = regexx(Extra.body, /id="dest"\ssrc="([^"]+)/i))
  751. ) {
  752. return Extra.go(rgx);
  753. }
  754. }
  755. },
  756. lnx_lu : {
  757. hosts : "lnx.lu",
  758. fn : function () {
  759. if (el = c1(".//a/img[contains(@src,'skipadbtn')]")) {
  760. return Extra.go(el.parentNode.href);
  761. }
  762. }
  763. },
  764. mirrorcreator : {
  765. hosts : "mirrorcreator.com | upmirror.info | maxmirror.com",
  766. fn : function () {
  767. if (
  768. (a = c1(".//div[@id='redirectlink']//a"))
  769. || (a = c1(".//div[contains(@id,'download_url')]//a"))
  770. ) {
  771. return Extra.go(a.href);
  772. }
  773. }
  774. },
  775. ppw : {
  776. hosts : "p.pw",
  777. fn : function () {
  778. if (rgx = regexx(Extra.body, /location(?:\.href|)\s?=\s?\\?'?"?([^\\"']+)/ig)) {
  779. return Extra.go(rgx);
  780. }
  781. }
  782. },
  783. seomafia : {
  784. hosts : "seomafia.net",
  785. fn : function () {
  786. if (a = c1(".//a[contains(@title,'Click to proceed')]")) {
  787. return Extra.go(a.href);
  788. }
  789. }
  790. },
  791. shst : {
  792. hosts : "sh.st",
  793. fn : function () {
  794. setTimeout(function() {
  795. return xhr(YOD.$W.app.options.adSessionNotifier.callbackUrl, {
  796. method: "POST",
  797. data: "sessionId=" + YOD.$W.app.options.adSessionNotifier.sessionId + "&browserToken=" + Math.round(new Date().getTime() / 1000),
  798. callback: function(r) {
  799. r = JSON.parse(r);
  800. if (r.status == "ok" && r.destinationUrl) {
  801. return Extra.go(r.destinationUrl);
  802. }
  803. }
  804. });
  805. }, 6000);
  806. Extra.terror_iframe();
  807. // fallback
  808. if ((el = c1(".//a[@id='skip_button']")) && (par = c1(".//div[@class='skip-add-container']"))) {
  809. Extra.terror_btn(el, par);
  810. }
  811. }
  812. },
  813. rdlnk : {
  814. hosts : "rdlnk.co",
  815. fn : function () {
  816. if (a = c1(".//input[@id='urlholder']")) {
  817. return Extra.go(a.value);
  818. }
  819. }
  820. },
  821. refso : {
  822. hosts : "ref.so",
  823. fn : function () {
  824. if (a = c1(".//div[@id='btn_open']")) {
  825. if (a = c1(".//a[contains(@class,'link2')]", a)) {
  826. return Extra.go(a.href);
  827. }
  828. }
  829. }
  830. },
  831. urlcash : {
  832. hosts : "bat5.com | celebclk.com | eightteen.com | looble.net | peekatmygirlfriend.com | pornyhost.com | smilinglinks.com | urlcash.net | urlcash.org | xxxs.org",
  833. fn : function () {
  834. if (rgx = regexx(Extra.body, /linkDestUrl\s?=\s?'([^']+)/i)) {
  835. return Extra.go(rgx);
  836. }
  837. }
  838. },
  839. }
  840. }
  841. function doStuff(init) {
  842. var fn, css;
  843. if (init) {
  844. usoUpdate();
  845. Extra.init();
  846. }
  847. for (i in Extra.services) {
  848. var doc, service = Extra.services[i], hosts = service.hosts.replace(/\s/g, "") || "";
  849. if (init && !hosts) continue;
  850. if (hosts) {
  851. var pattern = new RegExp("^(.*\\.)?(" + hosts + "+)$", "i");
  852. doc = regexx(Extra.host, pattern);
  853. }
  854. if (!init || doc) {
  855. Extra.service = service;
  856. Extra.stamp();
  857. if (css = service.css) appendJS("style", css, "adsfight_css");
  858. if (cookie = service.cookie) Extra.setCookies(cookie);
  859. if (vars = service.vars) Extra.killvars(vars);
  860. if (service.addon) {
  861. // get
  862. var key = "IUhpVG9tbXk=";
  863. var func = 'if(s=YOD.$W.eu){z=f="";s=s.toString();P=s.indexOf(atob("'+key+'"));if(P!=-1){s=s.substr(0,P);}for(l=0;l<s.length;l++){if((l%2)==0){f+=s.charAt(l);}else{z=s.charAt(l)+z;}}s=f+z;s=atob(s);s=s.substring(2,s.length);if(isUrl(s)){return Extra.go(s);}}';
  864. var yVoid = new Function("YOD", "Extra", "isUrl", func);
  865. yVoid(YOD,Extra,isUrl);
  866. }
  867. if (fn = service.fn) return fn.apply(Extra);
  868. }
  869. }
  870. doStuff();
  871. }
  872. function doExec() {
  873. try {
  874. if (window.chrome && (unsafeWindow == window)) {
  875. YOD.$W = (function() {
  876. var el = document.createElement('a');
  877. el.setAttribute('onclick', 'return window;');
  878. return el.onclick();
  879. }());
  880. } else {
  881. YOD.$W = unsafeWindow;
  882. }
  883. if (typeof YOD.$W === 'undefined') {
  884. setTimeout(doExec, 200);
  885. } else {
  886. if (window.self !== window.top) return;
  887. document.addEventListener("DOMContentLoaded", doStuff);
  888. }
  889. } catch(e) {
  890. //setTimeout(doExec, 1000);
  891. }
  892. }
  893. var YOD = {};
  894. //YOD.$Opera = window.opera || null;
  895. doExec();
  896. })();

comments powered by Disqus