Redirect Twitter To Nitter

Convert twitter URLs to Nitter URLs

  1. // ==UserScript==
  2. // @name Redirect Twitter To Nitter
  3. // @namespace brazenvoid
  4. // @version 1.0.3
  5. // @description Convert twitter URLs to Nitter URLs
  6. // @author brazenvoid
  7. // @include *
  8. // @exclude https://twitter.com/*
  9. // @run-at document-end
  10. // ==/UserScript==
  11.  
  12. const NITTER_URL = 'nitter.net'
  13. const TWITTER_URL = 'twitter.com'
  14.  
  15. function redirectToNitter () {
  16. document.querySelectorAll('a[href*="'+ TWITTER_URL +'"]').forEach((element) => {
  17. element.href = element.href.replace(TWITTER_URL, NITTER_URL)
  18. element.textContent = element.textContent.replace(TWITTER_URL, NITTER_URL)
  19. })
  20. }
  21.  
  22. (new MutationObserver((mutations) => {
  23. let runCheck = false
  24. for (let mutation of mutations) {
  25. if (mutation.addedNodes.length || mutation.attributeName === 'href') {
  26. runCheck = true
  27. break
  28. }
  29. }
  30. if (runCheck) {
  31. redirectToNitter()
  32. }
  33. })).observe(document.querySelector('body'), {attributeFilter: ['href'], childList: true, subtree: true})
  34.  
  35. redirectToNitter()