Bypass FileCrypt

Bypass FileCrypt and get the original link! Try this version first. If Bypass FileCrypt shows a "2" in the page and doesn't redirect to the final page, then remove this script and try Bypass FileCrypt (XHR) instead.

Stan na 10-01-2021. Zobacz najnowsza wersja.

  1. // ==UserScript==
  2. // @name Bypass FileCrypt
  3. // @namespace StephenP
  4. // @version 1.3.0
  5. // @description Bypass FileCrypt and get the original link! Try this version first. If Bypass FileCrypt shows a "2" in the page and doesn't redirect to the final page, then remove this script and try Bypass FileCrypt (XHR) instead.
  6. // @author StephenP
  7. // @grant GM.xmlHttpRequest
  8. // @match http://filecrypt.cc/*
  9. // @match http://www.filecrypt.cc/*
  10. // @match http://filecrypt.co/*
  11. // @match http://www.filecrypt.co/*
  12. // @match https://filecrypt.cc/*
  13. // @match https://www.filecrypt.cc/*
  14. // @match https://filecrypt.co/*
  15. // @match https://www.filecrypt.co/*
  16. // @run-at document-end
  17. // @connect dcrypt.it
  18. // @connect self
  19. // ==/UserScript==
  20. (function () {
  21. if(document.location.href.includes("/Link/")){
  22. getSingleLink();
  23. }
  24. else if(document.location.href.includes("/Container/")){
  25. getCNL();
  26. }
  27. })();
  28. function getSingleLink(){
  29. if(document.body.getElementsByTagName("SCRIPT").length==0){
  30. window.stop();
  31. const a=document.body.innerHTML.lastIndexOf("http");
  32. top.location.href=document.body.innerHTML.substring(a,document.body.innerHTML.indexOf('id=',a)+43).replace('&', '&');
  33. }
  34. }
  35. function getCNL(){
  36. var dlcButton=document.getElementsByClassName("dlcdownload");
  37. if(dlcButton.length>0){
  38. var link=dlcButton[0].onclick.toString();
  39. var dlcId=link.substring(link.indexOf('\'')+1,link.indexOf('\'',link.indexOf('\'')+1));
  40. GM.xmlHttpRequest({
  41. method: "GET",
  42. url: "http://"+document.location.hostname+"/DLC/"+dlcId+".dlc",
  43. onload: function(response) {
  44. dcrypt(response.responseText);
  45. },
  46. onerror: function(response) {
  47. }
  48. });
  49. }
  50. }
  51. function dcrypt(content){
  52. GM.xmlHttpRequest({
  53. method: "POST",
  54. url: "http://dcrypt.it/decrypt/paste",
  55. headers: {
  56. "Content-Type": "application/x-www-form-urlencoded"
  57. },
  58. data: "content="+encodeURIComponent(content),
  59. onload: function(response) {
  60. var obj=JSON.parse(response.response);
  61. var finalLinksDiv=document.createElement("DIV");
  62. finalLinksDiv.style.backgroundColor="white";
  63. finalLinksDiv.style.borderRadius="10px";
  64. finalLinksDiv.style.padding="1em";
  65. finalLinksDiv.style.marginTop="1em";
  66. finalLinksDiv.style.color="black";
  67. finalLinksDiv.innerHTML+="Direct links:<br><br>";
  68. for (var link of obj.success.links) {
  69. finalLinksDiv.innerHTML+=link+"<br>";
  70. }
  71. document.getElementsByClassName("butt0ns")[0].appendChild(finalLinksDiv);
  72. },
  73. onerror: function(response) {
  74. }
  75. });
  76. }
  77. /*
  78. GM.xmlHttpRequest({
  79. method: "GET",
  80. url: "dcrypt.it",
  81. data: "content="+content,
  82. onload: function(response) {
  83. },
  84. onerror: function(response) {
  85. }
  86. });
  87. GM.xmlHttpRequest({
  88. method: "POST",
  89. url: "dcrypt.it",
  90. data: "content="+content,
  91. onload: function(response) {
  92. },
  93. onerror: function(response) {
  94. }
  95. });*/