Greasy Fork is available in English.

P3DM Timer Bypass

Download page timer bypass

  1. // ==UserScript==
  2. // @name P3DM Timer Bypass
  3. // @description Download page timer bypass
  4. // @description:ru Обход таймера страницы загрузки
  5. // @namespace Violentmonkey Scripts
  6. // @icon https://www.google.com/s2/favicons?sz=64&domain=p3dm.ru
  7. // @version 1.0.2
  8. // @author Wizzergod
  9. // @license MIT
  10. // @match https://p3dm.ru/download-en.html*
  11. // @match https://p3dm.ru/download-*.html*
  12. // @match https://p3dm.ru/download.html*
  13. // @grant none
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. function decryptCode(code) {
  20. return atob(code);
  21. }
  22.  
  23. function getDecryptedLink() {
  24. var url = window.location.href;
  25. var startIndex = url.indexOf('?') + 1;
  26. var code = url.substring(startIndex);
  27. var decryptedCode = decryptCode(code);
  28. var newLink = decryptedCode;
  29. return newLink;
  30. }
  31.  
  32. function createButton(newLink) {
  33. var downloadsPage = document.querySelector('.downloads_page');
  34. if (downloadsPage) {
  35.  
  36. var linkPlace = document.getElementById('linkPlace');
  37. if (linkPlace) {
  38. linkPlace.style.display = 'none';
  39. }
  40.  
  41. var download = document.querySelector('.download');
  42. if (download) {
  43. download.style.display = 'none';
  44. }
  45.  
  46. var button = document.createElement('a');
  47. button.href = newLink;
  48. button.style.display = 'flex';
  49. button.style.alignItems = 'center';
  50. button.style.justifyContent = 'center';
  51. button.style.minWidth = '20.21%';
  52. button.style.height = '30px';
  53. button.style.padding = '20px';
  54. button.style.fontSize = '1.3em';
  55. button.style.textDecoration = 'none';
  56. button.style.color = '#ffffff';
  57. button.style.backgroundColor = '#28a745';
  58. button.style.border = 'solid 1px #333';
  59. button.style.borderRadius = '3px';
  60. button.style.oBorderRadius = '3px';
  61. button.style.mozBorderRadius = '3px';
  62. button.style.webkitBorderRadius = '3px';
  63.  
  64. var icon = document.createElement('span');
  65. icon.className = 'icon-download';
  66. icon.style.marginRight = '5px';
  67. button.appendChild(icon);
  68.  
  69. var buttonText = document.createElement('span');
  70. buttonText.textContent = 'DOWNLOAD';
  71. button.appendChild(buttonText);
  72.  
  73. downloadsPage.appendChild(button);
  74. }
  75. }
  76.  
  77. function decryptAndCreateButton() {
  78. var newLink = getDecryptedLink();
  79. createButton(newLink);
  80. }
  81.  
  82. decryptAndCreateButton();
  83. })();