// ==UserScript==
// @name Hostloc自动屏蔽粉蛆与智障
// @namespace https://hostloc.com/
// @version 0.8968
// @description 自动屏蔽粉蛆与智障
// @author kiwi
// @match https://hostloc.com/forum-*
// @match https://hostloc.com/thread-*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// @license MIT
// @downloadURL https://update.greasyfork.icu/scripts/448894/Hostloc%E8%87%AA%E5%8A%A8%E5%B1%8F%E8%94%BD%E7%B2%89%E8%9B%86%E4%B8%8E%E6%99%BA%E9%9A%9C.user.js
// @updateURL https://update.greasyfork.icu/scripts/448894/Hostloc%E8%87%AA%E5%8A%A8%E5%B1%8F%E8%94%BD%E7%B2%89%E8%9B%86%E4%B8%8E%E6%99%BA%E9%9A%9C.meta.js
// ==/UserScript==
(function() {
'use strict';
const blockedUser=['skiy','腾讯云6折购','Gludog','小号专用马甲','一丢丢','我来给您上坟咯','sky123','ZhènJīngBù','小鸡真爱无疑','听风的歌','Qimiao','吹风秀跳刀','隆姑娘','amo','gyhl','卟想起床','NavieNetwork','表妹','栉风沐雨','我能做两小时','柳夜熙','lenchanlhc','王先生O_O','Corei7','bhgchinaboy','三七开','天有点热','长夜漫漫','ecs'];
const blockedKeyword=['关键字屏蔽1','关键字屏蔽2'];
const blockedSignatureUser=['Rosh','最初的梦想'];
const contentStorage=[];//用于临时存储被屏蔽的帖子和签名内容
// 帖子列表页
if(location.href.includes('forum')){
document.querySelectorAll('#threadlisttableid tbody').forEach((item,index)=>{
if(item.id.includes('normalthread')){
const title=item.querySelector('a.s.xst').innerText;
for (let i = blockedKeyword.length - 1; i >= 0; i--) {
if(title.includes(blockedKeyword[i])){
// item.querySelector('a.s.xst').innerText='已屏蔽';
item.style.display='none';
break;
}
}
const nameA=item.querySelectorAll('td.by')[0].querySelector('a');
if(nameA){
const userName=nameA.innerText.trim();
if(blockedUser.includes(userName)){
// item.querySelector('a.s.xst').innerText='已屏蔽';
item.style.display='none';
}
}
}
})
}
// 帖子内容页
if(location.href.includes('thread')){
//监听点击事件,恢复被屏蔽的签名和帖子
document.querySelector('#postlist').addEventListener('click',(e)=>{
const item=e.target;
if(item.className.includes('hidden-by-script')){
item.innerHTML=contentStorage[item.dataset.restoreKey]
}
})
//遍历发帖和回复
document.querySelectorAll('#postlist>div').forEach((item)=>{
if(!item.id.includes('post_')){
return false;
}
const userLink=item.querySelector('a.xw1');
if(userLink){
const userName=userLink.innerText.trim();
if(userName && blockedUser.includes(userName)){
item.style.display='none';
}else if(blockedSignatureUser.includes(userName)){
const signature=item.querySelector('div.sign');
const contentText=signature.innerText;
const contentHTML=signature.innerHTML;
const storageKey=item.id+'signature';
contentStorage[storageKey]=contentHTML;
signature.innerHTML=`已屏蔽,鼠标移到此处查看内容,点击还原内容`;
}
}
const tds=item.querySelectorAll('td');
tds.forEach((td)=>{
if(td.id.includes('postmessage_')){
const content=td.innerText;
for (let i = blockedKeyword.length - 1; i >= 0; i--) {
if(content.includes(blockedKeyword[i])){
const contentHTML=td.innerHTML;
const contentText=td.innerText;
contentStorage[item.id]=contentHTML;
td.innerHTML=`已屏蔽,鼠标移到此处查看内容`;
break;
}
}
}
})
})
}
})();