Simple html numeric captcha solver

After you click "Slow download" button the script solves the numeric captcha, waits for the countdown to finish, clicks the download button

  1. // ==UserScript==
  2. // @name Simple html numeric captcha solver
  3. // @description After you click "Slow download" button the script solves the numeric captcha, waits for the countdown to finish, clicks the download button
  4. // @include http://www.rziz.net/*/*.html
  5. // @include http://file.up09.com/*
  6. // @include http://clicknupload.com/*
  7. // @include http://hulkload.com/*
  8. // @include http://up4.im/*
  9. // @include http://www.gboxes.com/*
  10. // @include http://mrfile.co/*.html
  11. // @include http://fileshd.net/*
  12. // @include http://nizfile.net/*.html
  13. // @include http://lynxshare.com/*
  14. // @include http://datasbit.com/*
  15. // @include http://idup.to/*
  16. // @include http://media4up.com/*
  17. // @include http://salefiles.com/*
  18. // @include http://cloudyfiles.org/*
  19. // @version 1.1.3
  20. // @author wOxxOm
  21. // @namespace wOxxOm.scripts
  22. // @license MIT License
  23. // @run-at document-end
  24. // ==/UserScript==
  25.  
  26. var x = document.evaluate(
  27. '//form//div/span[contains("0123456789",.) and contains(@style,"padding-left")]',
  28. document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  29. var btn = document.evaluate(
  30. '//form//*[not(*) and not(self::script) and (contains(@id,"btn") or contains(@id,"download") or contains(.,"download") or contains(.,"Download"))]',
  31. document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  32. if (x && btn) {
  33. var nodes = [];
  34. for (var i = 0; i < 4; i++)
  35. nodes.push(x.snapshotItem(i));
  36. var nodes = nodes.sort((a,b) => parseInt(a.style.paddingLeft) - parseInt(b.style.paddingLeft));
  37. document.forms.F1.code.value = nodes.map(n => n.textContent).join('');
  38.  
  39. switch (location.hostname) {
  40. case 'clicknupload.com':
  41. document.forms.F1.submit();
  42. break;
  43. case 'media4up.com':
  44. new MutationObserver(mutations => mutations[0].target.style.visibility == 'hidden' && document.forms.F1.submit())
  45. .observe(document.querySelector('#countdown'), {attributes:true, attributeFilter:['style']});
  46. break;
  47. default:
  48. new MutationObserver(mutations => !btn.disabled && document.forms.F1.submit())
  49. .observe(btn, {attributes:true, attributeFilter:['disabled']});
  50. }
  51. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址