您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
CC98 tools for blocking user, title, content and board.
// ==UserScript== // @name CC98 Tools - Block List // @version 0.0.4 // @description CC98 tools for blocking user, title, content and board. // @icon https://www.cc98.org/static/98icon.ico // @author ml98 // @namespace https://www.cc98.org/user/name/ml98 // @license MIT // @match https://www.cc98.org/* // @match https://www-cc98-org-s.webvpn.zju.edu.cn:8001/* // @grant none // ==/UserScript== /* 屏蔽列表 */ const CONFIG = { userName: [], /* 用户名,如 ["ml98"] */ title: [], /* 标题关键字或正则表达式,如 ["男生进", "女生进"] */ content: [], /* 帖子内容关键字或正则表达式,如 ["欧蓝德", /^bd$/] */ board: [], /* 版面id,如 [182, 357, 758] */ }; const log = () => {}; CONFIG.content.push(...(CONFIG.userName).map(userName => `楼:用户${userName}在`)); CONFIG.title = CONFIG.title.map((t) => new RegExp(t)); CONFIG.content = CONFIG.content.map((c) => new RegExp(c)); log('config', CONFIG); const isBlockedId = (_id) => _id && CONFIG.userName.includes(_id); const isBlockedTitle = (_title) => _title && CONFIG.title.some((t) => t.test(_title)); const isBlockedContent = (_content) => _content && CONFIG.content.some((c) => c.test(_content)); const isBlockedBoard = (_boardId) => _boardId && CONFIG.board.includes(_boardId); const topicRegExp = new RegExp("/board/\\d+/topic"); const postRegExp = new RegExp("/Topic/\\d+/(hot-)?post"); const isTopicAPI = (url) => url.includes("/topic/new") || url.includes("/me/custom-board/topic") || url.includes("/topic/search?keyword=") || topicRegExp.test(url); const isPostAPI = (url) => postRegExp.test(url); const isIndexAPI = (url) => url.includes("/config/index"); const resolve = (url, data) => { log(url); log('before', data); if (isTopicAPI(url)) { data = data.filter( (r) => !( isBlockedId(r.userName) || isBlockedTitle(r.title) || isBlockedBoard(r.boardId) ) ); } else if (isPostAPI(url)) { data = data.filter( (r) => !( isBlockedId(r.userName) || isBlockedContent(r.content) || isBlockedBoard(r.boardId) ) ); } else if (isIndexAPI(url)) { data.hotTopic = data.hotTopic.filter( (r) => !( isBlockedId(r.authorName) || isBlockedTitle(r.title) || isBlockedBoard(r.boardId) ) ); } log('after', data); return data; }; const origResponseJSON = Response.prototype.json; Response.prototype.json = function () { return origResponseJSON.call(this).then((data) => resolve(this.url, data)); };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址