Bypass Countdown (Multi-site)

bypass countdown for websites that distribute APK files.

  1. // ==UserScript==
  2. // @name Bypass Countdown (Multi-site)
  3. // @namespace -
  4. // @version 1.1.2
  5. // @description bypass countdown for websites that distribute APK files.
  6. // @author NotYou
  7. // @include *://an1.com/file*
  8. // @include *://apkzara.com/*/download*
  9. // @include *://*apkmody.io/*download*
  10. // @include *://*apkmody.fun/*download*
  11. // @include *://5play.ru/*
  12. // @include *://techbigs.com/download*
  13. // @include *://apkdone.com/*/download*
  14. // @include *://relaxmodapk.com/*/download*
  15. // @include *://relaxmodapk.com/*/file*
  16. // @include *://gamedva.com/*?download*
  17. // @include *://apk.idealfollow.in/links*
  18. // @include *://apkigru.site/file/*
  19. // @include *://appszx.com/*/?download=links*
  20. // @include *://store.apkmodo.net/*
  21. // @include *://modpure.co/*
  22. // @run-at document-end
  23. // @license GPL-3.0-or-later
  24. // @grant none
  25. // ==/UserScript==
  26.  
  27. init('an1.com', `
  28. #timer,[rel*="sponsored"],.banner {display: none !important;}
  29. #pre_download {display: block !important;}
  30. .box-file-img > img {border-radius: 8px;}`)
  31.  
  32. init('apkzara.com', `
  33. .collapsible-body {max-height: unset !important;}
  34. #waitdownloads_types_2, #waitdownloads_types_2 > a {text-decoration: none;transform: scale(2);font-size: 0px;}
  35. #waitdownloads_types_2 > a::before {background: rgb(71, 181, 21);color: rgb(255, 255, 255);content: "DOWNLOAD";border-radius: 20px;padding: 2px 8px;font-size: 15px;}
  36. #waitdownloads_types_2 > a > i, #please_wait_seconds_types_2, p.truncate.has-text-align-center.has-inline-color.has-cyan-bluish-gray-color, #apps .base-timer {display: none !important;}`)
  37.  
  38. let apkmody = ['apkmody.io', 'apkmody.fun', 'download.apkmody.fun', 'download.apkmody.io']
  39.  
  40. for (let i = 0; i < apkmody.length; i++) {
  41. init(apkmody[i], `
  42. #download-loading {display: none !important;}
  43. #download {display: block !important;}`)
  44. }
  45.  
  46. init('5play.ru', `
  47. .counter, .telegram-cdn-btn, .page-cdn-notimer {display: none;}
  48. .download-btn-group {display: unset !important;}`)
  49.  
  50. init('apk.idealfollow.in', `
  51. .counter {display: none;}
  52. .counter ~ * {display: block !important;}`)
  53.  
  54. init('apkigru.site', `
  55. #dwn-btn *, .download__faq-text[style] {display: block !important;}
  56. .download__timer {display: none !important;}`)
  57.  
  58. init('appszx.com', `
  59. .bx-download .bxt.sdl_text {display: none;}
  60. .show_download_links {display: block !important;}`)
  61.  
  62. init('store.apkmodo.net', `
  63. #mdtimer {display: none;}
  64. #mdtimer + .button-download {display:block !important;}`)
  65.  
  66. init('modpure.co', `
  67. #download-loading {display: none;}
  68. #download {display: block !important;}`)
  69.  
  70. init('gamedva.com', () => {
  71. document.querySelector('#download-now').style.display = 'block'
  72. addStyle('#download-loading {display: none !important;}')
  73. })
  74.  
  75. init('techbigs.com', () => {
  76. let href = document.querySelector('#page-body + script').textContent.match(/= \"(.*?)\"/)[1]
  77. addStyle(`
  78. .counter {display: none !important;}
  79. #pageDownload2WrapButton > a {display: flex !important;}`)
  80. document.querySelector('#pageDownload2WrapButton > a').href = href
  81. document.querySelector('#downloadHere').href = href
  82. })
  83.  
  84. init('apkdone.com', () => {
  85. window.download.innerHTML = document.querySelector('[type="text/css"] + script').textContent.match(/= '(<a.*?)'/)[1]
  86. window.download.id = 'download-new'
  87. })
  88.  
  89. init('relaxmodapk.com', () => {
  90. try {
  91. document.querySelector('#progress_new').insertAdjacentHTML('afterend', `
  92. <div id="download" class="text-center mb-4" style="display: block;">
  93. <a id="no-link" class="btn btn-secondary px-5" href="${document.querySelector('[id="no-link download"]').href}" download="">
  94. <svg class="svg-5 mr-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M528 288h-92.1l46.1-46.1c30.1-30.1 8.8-81.9-33.9-81.9h-64V48c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v112h-64c-42.6 0-64.2 51.7-33.9 81.9l46.1 46.1H48c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48zm-400-80h112V48h96v160h112L288 368 128 208zm400 256H48V336h140.1l65.9 65.9c18.8 18.8 49.1 18.7 67.9 0l65.9-65.9H528v128zm-88-64c0-13.3 10.7-24 24-24s24 10.7 24 24-10.7 24-24 24-24-10.7-24-24z"></path></svg>
  95. <span class="align-middle moddroid">Download</span></a></div>`)
  96. } catch(e) {}
  97. addStyle(
  98. `#accordion-downloads .collapse:not(.show) {display: unset !important;}
  99. #download {display: block !important;}
  100. #progress_new, .waitme, #download + #download {display: none !important;}`)
  101. })
  102.  
  103. function init(url, s) {
  104. if(match(url)) {
  105. if(typeof s === 'string') {
  106. addStyle(s)
  107. } else {
  108. s()
  109. }
  110. }
  111. }
  112.  
  113. function match(url) {
  114. return location.host.indexOf(url) != -1
  115. }
  116.  
  117. function addStyle(css) {
  118. var style = document.createElement('style')
  119. style.appendChild(document.createTextNode(css.replaceAll(' ', '')))
  120. document.head.appendChild(style)
  121. }