Decloak links and open directly

Open redirected/cloaked links directly

当前为 2017-03-03 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Decloak links and open directly
  3. // @description Open redirected/cloaked links directly
  4. // @version 1.0.7
  5. // @author wOxxOm
  6. // @namespace wOxxOm.scripts
  7. // @icon https://i.imgur.com/cfmXJHv.png
  8. // @license MIT License
  9. // @run-at document-start
  10. // @include *
  11. // ==/UserScript==
  12.  
  13. /* jshint lastsemic:true, multistr:true, laxbreak:true, -W030, -W041, -W084 */
  14.  
  15. window.addEventListener('mousedown', decloak, true);
  16. window.addEventListener('keydown', function(e) { if (e.keyCode == 13) decloak(e) }, true);
  17.  
  18. function decloak(e) {
  19. var a = e.target.closest('a');
  20. if (!a)
  21. return;
  22.  
  23. var m = a.href.match(/.+?\W(\w+:\/\/.+|\w+%3[Aa]%2[Ff]%2[Ff].+?)(?:&|$)/);
  24. if (!m)
  25. return;
  26.  
  27. if (e.altKey)
  28. return console.debug('Decloak skipped: Alt key is pressed.');
  29.  
  30. var realUrl = decodeURIComponent(m[1]);
  31. if (new URL(realUrl).origin == new URL(a.origin))
  32. return console.debug('Decloak skipped: the origins are same, assumed a login redirection.');
  33.  
  34. a.href = realUrl;
  35. }