Automatic Redlib Quota & Error Redirector

Automatically redirects to another Redlib (previously Libreddit) instance if the one you're directed to has reached its rate limit/quota or has an error.

当前为 2024-06-02 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Automatic Redlib Quota & Error Redirector
  3. // @namespace happyviking
  4. // @version 1.56.0
  5. // @grant none
  6. // @run-at document-end
  7. // @license MIT
  8. // @description Automatically redirects to another Redlib (previously Libreddit) instance if the one you're directed to has reached its rate limit/quota or has an error.
  9. // @icon https://gitlab.com/uploads/-/system/project/avatar/32545239/libreddit.png
  10. // @author HappyViking
  11.  
  12. // <<INSTANCES START HERE>>
  13. // @match https://l.opnxng.com/*
  14. // @match https://libreddit.bus-hit.me/*
  15. // @match https://libreddit.privacydev.net/*
  16. // @match https://libreddit.projectsegfau.lt/*
  17. // @match https://lr.ggtyler.dev/*
  18. // @match https://lr.n8pjl.ca/*
  19. // @match https://r.darrennathanael.com/*
  20. // @match https://red.artemislena.eu/*
  21. // @match https://red.ngn.tf/*
  22. // @match https://reddit.idevicehacked.com/*
  23. // @match https://reddit.nerdvpn.de/*
  24. // @match https://redlib.baczek.me/*
  25. // @match https://redlib.catsarch.com/*
  26. // @match https://redlib.ducks.party/*
  27. // @match https://redlib.freedit.eu/*
  28. // @match https://redlib.incogniweb.net/*
  29. // @match https://redlib.kittywi.re/*
  30. // @match https://redlib.nadeko.net/*
  31. // @match https://redlib.nirn.quest/*
  32. // @match https://redlib.nohost.network/*
  33. // @match https://redlib.perennialte.ch/*
  34. // @match https://redlib.privacy.deals/*
  35. // @match https://redlib.privacyredirect.com/*
  36. // @match https://redlib.tux.pizza/*
  37. // @match https://redlib.vimmer.dev/*
  38. // @match https://rl.bloat.cat/*
  39. // @match https://reddit.owo.si/*
  40. // @match https://redlib.dnfetheus.xyz/*
  41. // @match https://redlib.nezumi.party/*
  42. // @match https://redlib.seasi.dev/*
  43. // @match https://safereddit.com/*
  44. // @match https://libreddit.eu.org/*
  45. // @match https://reddit.invak.id/*
  46. // @match https://redlib.cow.rip/*
  47. // @match https://redlib.r4fo.com/*
  48. // @match https://redlib.xn--hackerhhle-kcb.org/*
  49. // @match https://eu.safereddit.com/*
  50. // @match https://redlib.matthew.science/*
  51. // @match https://libreddit.freedit.eu/*
  52. // @match https://libreddit.hu/*
  53. // @match https://libreddit.kylrth.com/*
  54. // @match https://libreddit.lunar.icu/*
  55. // @match https://libreddit.mha.fi/*
  56. // @match https://libreddit.northboot.xyz/*
  57. // @match https://libreddit.oxymagnesium.com/*
  58. // @match https://libreddit.pussthecat.org/*
  59. // @match https://libreddit.spike.codes/*
  60. // @match https://libreddit.strongthany.cc/*
  61. // @match https://libreddit.tiekoetter.com/*
  62. // @match https://lr.4201337.xyz/*
  63. // @match https://lr.aeong.one/*
  64. // @match https://lr.artemislena.eu/*
  65. // @match https://lr.slipfox.xyz/*
  66. // @match https://r.walkx.fyi/*
  67. // @match https://reddit.rtrace.io/*
  68. // @match https://reddit.simo.sh/*
  69. // @match https://reddit.smnz.de/*
  70. // @match https://reddit.utsav2.dev/*
  71. // @match https://snoo.habedieeh.re/*
  72. // @match https://libreddit.kutay.dev/*
  73. // @match https://libreddit.tux.pizza/*
  74. // @match https://lr.vern.cc/*
  75. // @match https://r.darklab.sh/*
  76. // @match https://reddit.leptons.xyz/*
  77. // @match https://discuss.whatever.social/*
  78. // @match https://libreddit.kavin.rocks/*
  79. // @match https://libreddit.cachyos.org/*
  80. // @match https://libreddit.domain.glass/*
  81. // @match https://libreddit.privacy.com.de/*
  82. // @match https://reddit.baby/*
  83. // <<INSTANCES END HERE>>
  84.  
  85. // ==/UserScript==
  86.  
  87. function main() {
  88. const errorElement = document.getElementById("error")
  89. if (!errorElement) return;
  90. const errorMessage = errorElement.querySelector("h1")?.innerHTML
  91. if (!errorMessage) return
  92. if (errorMessage.includes("Too Many Requests") ||
  93. errorMessage.includes("Failed to parse page JSON data")){
  94. const addedMessage = document.createElement("p")
  95. addedMessage.textContent = "Redirecting you to new instance..."
  96. errorElement.appendChild(addedMessage)
  97. location.replace('https://farside.link/redlib/' + window.location.pathname + window.location.search);
  98. }
  99. }
  100.  
  101. main()
  102.  

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址