connected papers 假装VIP

去除限制

  1. // ==UserScript==
  2. // @name connected papers Fake Premium
  3. // @name:zh-cn connected papers 假装VIP
  4. // @namespace taozhiyu.github.io
  5. // @version 0.1
  6. // @description remove limit
  7. // @description:zh-cn 去除限制
  8. // @author 涛之雨
  9. // @match https://www.connectedpapers.com/*
  10. // @icon http://connectedpapers.com/favicon.ico
  11. // @require https://gf.qytechs.cn/scripts/455943-ajaxhooker/code/ajaxHooker.js?version=1124435
  12. // @grant none
  13. // @license WTFPL
  14. // ==/UserScript==
  15.  
  16. /* global ajaxHooker*/
  17. (function () {
  18. 'use strict';
  19. let islogin = false;
  20. const cookieDesc = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie') ||
  21. Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
  22. if (cookieDesc && cookieDesc.configurable) {
  23. Object.defineProperty(document, 'cookie', {
  24. get: () => cookieDesc.get.call(document),
  25. set(val) {
  26. !islogin && val.includes("graph_visit_timestamps") || cookieDesc.set.call(document, val);
  27. }
  28. });
  29. }
  30. const originalSetItem = localStorage.setItem;
  31.  
  32. localStorage.setItem = function (key, value) {
  33. !islogin && key === "graph_visit_timestamps" || originalSetItem.call(localStorage, key, value);
  34. };
  35.  
  36. ajaxHooker.hook(request => {
  37. if (request.url.endsWith('login')) {
  38. request.response = res => {
  39. islogin = true;
  40. const json = JSON.parse(res.responseText);
  41. json.premium_valid_until = 9e11;
  42. res.responseText = JSON.stringify(json);
  43. };
  44. }
  45. });
  46. })();

QingJ © 2025

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