您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
kk.now.cc使用的是imgur图床,这个图床将大多数IP列入了黑名单导致图片无法正常加载,本脚本将论坛中所有imgur的图片链接替换成其镜像网站noobzone的链接以解决图片显示问题。
// ==UserScript== // @name kknowcc-imgur-proxy // @namespace Violentmonkey Scripts // @match https://kk.now.cc/**/* // @grant GM_xmlhttpRequest // @version 1.0 // @author Mesimpler // @license MIT // @require https://cdn.jsdelivr.net/npm/@violentmonkey/dom@2 // @description kk.now.cc使用的是imgur图床,这个图床将大多数IP列入了黑名单导致图片无法正常加载,本脚本将论坛中所有imgur的图片链接替换成其镜像网站noobzone的链接以解决图片显示问题。 // ==/UserScript== // 代理URL const PROXY_URL = "https://img.noobzone.ru/getimg.php?url="; // 处理单个图片元素 function processImage(img) { const originalSrc = img.src; // 检查是否是Imgur图片 if (originalSrc.startsWith("https://i.imgur.com/")) { // 创建代理URL const proxySrc = PROXY_URL + encodeURIComponent(originalSrc); // 使用GM_xmlhttpRequest绕过CORS和防盗链 GM_xmlhttpRequest({ method: "GET", url: proxySrc, responseType: "blob", onload: function (response) { if (response.status === 200) { // 创建对象URL并设置给img元素 const blob = response.response; const objectUrl = URL.createObjectURL(blob); img.src = objectUrl; // 清理内存(可选) img.onload = function () { URL.revokeObjectURL(objectUrl); }; } else { console.error("图片加载失败:", response.status, response.statusText); } }, onerror: function (error) { console.error("请求错误:", error); }, }); } } // 处理所有现有图片 function processAllImages() { const images = document.querySelectorAll('img[src^="https://i.imgur.com/"]'); images.forEach(processImage); } // 使用MutationObserver监听动态加载的图片 VM.observe(document.body, () => processAllImages()); // 初始处理 processAllImages();