kone
소미소프트

소미소프트

게시글 제목 필터 스크립트

09/13/2025, 13:46:59
유틸
1948 views · 5 likes

https://kone.gg/s/somisoft/ckFX5TrlwDK01YclKPk5Kb

최근 엄청난 다계정으로 특정 서브에 도배하는 사람이 있어서 애드가드를 통해 하신 글이 있더라고요

애드블럭 규칙으로는 제한적이라  유저스크립트를 통해 규칙을 통해 필터링 해봤습니다


// ==UserScript==
// @name Kone 도배 게시글 필터링
// @namespace Kone Filter
// @version 1.0
// @description SPA 방식의 도배 게시글 필터링
// @author cloud67p
// @match https://kone.gg/*
// @grant none
// ==/UserScript==

(function () {
'use strict';

// 도배 키워드 순서 패턴들 (여러 개의 정규식 패턴)
const spamPatterns = [
/석.*종.*시.*대/, // "석 → 종 → 시 → 대"
/정.*신.*매.*니.*저/, // "정 → 신 → 매 → 니 → 저"
/욕.*좀.*그.*만.*해.*라/, // "욕 → 좀 → 그 → 만 → 해 → 라"
// 추가 패턴을 여기다 계속 추가할 수 있음
];

// 게시글을 감지하고 차단하는 함수
function filterSpamPosts() {
const postAnchors = document.querySelectorAll('a[title]');
postAnchors.forEach(anchor => {
const title = anchor.getAttribute('title');
if (title && spamPatterns.some(p => p.test(title))) {
// 콘솔에 로그 남기고 제거
console.log("도배 감지됨:", title);
const postWrapper = anchor.closest('a');
if (postWrapper) {
postWrapper.style.display = 'none'; // 또는 postWrapper.remove();
}
}
});
}

// 최초 실행
filterSpamPosts();

// URL 변경 시 감지 (SPA 방식 대응)
window.addEventListener('popstate', function () {
console.log('URL 변경 감지됨! 필터링을 다시 실행합니다.');
filterSpamPosts();
});

// MutationObserver를 사용하여 DOM 변경 시 게시글을 실시간으로 감지하고 필터링
const observer = new MutationObserver(() => {
filterSpamPosts();
});

observer.observe(document.body, {
childList: true, // 새로운 게시글이 추가되면 감지
subtree: true // 하위 요소까지 모두 감지
});

// 1초마다 필터링을 3번 반복 실행
let runCount = 0;
const intervalId = setInterval(() => {
if (runCount < 3) {
filterSpamPosts();
runCount++;
} else {
clearInterval(intervalId);
}
}, 1000); // 1초 간격으로 3번 실행
})();

s/all 서브에서 자주 보이시던데 규칙을 추가하여 대응 할수 있습니다

5
2 comments
09/13/25
모바일에서 쓰기 어렵긴한데 스크립트 잘하면 유용함 ..
09/14/25 Edited 09/14/25
개선한 스크립 작성했습니다. https://kone.gg/s/somisoft/b6qIuaECe-QlD2Vts8szKb 브라우저 애드온 확장 기능 사용이 가능하다면, 쉽게 쓰는 방법 제안 포함. 최근 도배의 문제가 되던 사람은 제목이나 계정을 새로 파가면서 하니, 매번 그 게시물 제목 패턴을 맞춰서 필터를 새로 넣어야 했음. 하지만 그가 주로 글 올리던 서브를 사용하지 않는신다면, 이 스크립으로 그 서브를 필터해버리면 됩니다.
헤르미온느 길들이기는 dl 에 냈으면 얼마나 팔렸을까
일반
하이바라
05/20 5235 0
자러갈께.
일반
아이기스맘
05/20 1963 6
dlsite에서 겜 어떤 툴로 만들어졌는지 확인할 수 있음?
질문
ahnhyunmin
05/20 5432 0
따끈따끈한 타케다 신규 낙서장 (나데시코)
동인
riden
05/20 26790 48
blendy 모음집 복구 요청드려도 될까요
요청
dudqhrcl
05/20 6012 0
ai) 큰 가슴 사이로 총알이 쓩~~
야짤
Ghost
05/20 10195 37
뫼엥 fantia가 검열로 컷당하다니
야짤
강철검
05/20 6033 10
ai) MMM 모음집
야짤
Ghost
05/20 9627 21
비타퀘는 조이플로 안되나보네
일반
chdodnd
05/20 3827 0
[[요청복구]] [RJ340568] 상태이상 1 〜음문 금서 기생충편〜
복구
에로스테는 필수 스테는 선택
05/20 19273 122
비월선행록 선발대에게 플레이-오류 질문좀
질문
o0o99
05/20 2639 0
ai) ----스압-----아이마스 계열...?
야짤
Ghost
05/20 5376 19
Yutsuki Tsuzuri-쓰레기 현자 이야기 2
동인
k8625
05/20 20992 41
갑자기 화가난다.
일반
아즈칼
05/20 2728 2
미캉의 여름방학 클리닉 어떻게 열음?
질문
jaemyunglee
05/20 3128 0
비타퀘2 창관파트 선물 질문
질문
부탄가스
05/20 2074 1
의술사 3회차 후기
후기 및 공략
llll-llll
05/20 5260 5
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 1
동인
k8625
05/20 29556 189
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 2
동인
k8625
05/20 37733 284
[직번] [kuroinu] 악몽의 학원 생활 위원장의 운명
동인
maha1004
05/20 20810 76
[손번역][2차번역본] RJ01526327 어서오세요! 어린이 만들기 온천 마을 1.01
번역
sjdwj
05/20 55097 271
ntr물은 말그대로 심장을 떨리게 하는 꼴림이 있다
일반
인생좆망함
05/20 2267 0
[[요청복구]] [RJ422316] 전투에로 RPG ~음욕의 마탑~
복구
에로스테는 필수 스테는 선택
05/20 28965 250
[기계번역/자동번역] Yaradiel’s Crown [v0.7.1]
번역
karuparu13
05/20 30465 65
야겜하면서 제일 힘든거
일반
Kikio
05/20 3276 1
Grimgrim-goat짱모음
동인
k8625
05/20 17784 125
가끔 보일때마다 너무 폭력적임
일반
ㅇㅇ
05/20 3397 0
[복구요청] (이미지 번역) [RJ01274529] 하루우리 카드 게이머즈 메뉴, 스토리 제목 번역
요청
dream
05/20 3401 0
의술사가 왜 신선한지 생각해봤는데
일반
ㅇㅇ
05/20 2986 0
복구 관련 질문 드립니다
질문
arquivity
05/20 2474 0