코네 base64 오토 디코더
클로드는 신이야!
1
딱 코네에서 base64 디코딩만하고 url만 하이퍼링크화 시켜주는 게 필요해서
클로드 한발 뽑아주니 원큐에 되더라
tampermonkey나 viloetmonkey에 추가해주면 됨
// ==UserScript==
// @name Base64 Auto Decoder
// @namespace http://tampermonkey.net/
// @version 1.1
// @author you
// @match *://*/*
// @run-at document-idle
// @noframes
// @grant none
// ==/UserScript==
(function () {
'use strict';
if (window.__b64DecoderLoaded) return;
window.__b64DecoderLoaded = true;
const DECODED_MARK = 'data-b64decoded';
/* ============================== 설정 ============================== */
const TARGET_SELECTORS = ['#post-article', '#post-comment', '.article-body', '.title'];
const MAX_DECODE = 5;
const MIN_B64_LEN = 7;
const B64_CANDIDATE = new RegExp('[A-Za-z0-9+/]{' + MIN_B64_LEN + ',}={0,2}', 'g');
const URL_REGEX = /((?:https?:\/\/|www\.)[^\s<>"'()]+)/gi;
/* ============================== 유틸 ============================== */
function looksLikeBase64(str) {
return (
str.length >= MIN_B64_LEN &&
str.length % 4 !== 1 &&
/^[A-Za-z0-9+/]+={0,2}$/.test(str)
);
}
function isProbablyText(str) {
if (!str) return false;
let bad = 0;
for (const ch of str) {
const c = ch.codePointAt(0);
if (c < 0x09 || (c > 0x0d && c < 0x20) || c === 0x7f) bad++;
}
return bad / str.length < 0.1;
}
function decodeOnce(str) {
if (!looksLikeBase64(str)) return null;
try {
let s = str;
const rem = s.length % 4;
if (rem === 2) s += '==';
else if (rem === 3) s += '=';
const binary = atob(s);
const bytes = Uint8Array.from(binary, (c) => c.charCodeAt(0));
return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
} catch (e) {
return null;
}
}
function fullyDecode(str) {
let current = str;
let best = null;
for (let i = 0; i < MAX_DECODE; i++) {
const decoded = decodeOnce(current);
if (decoded === null) break;
if (!isProbablyText(decoded)) break;
best = decoded;
current = decoded;
}
return best;
}
/* ============================== DOM 조립 ============================== */
function buildDecodedNodes(text) {
const nodes = [];
let last = 0;
let m;
URL_REGEX.lastIndex = 0;
while ((m = URL_REGEX.exec(text)) !== null) {
let url = m[0];
const trailMatch = url.match(/[.,;:!?)\]}'"]+$/);
let trail = '';
if (trailMatch) {
trail = trailMatch[0];
url = url.slice(0, url.length - trail.length);
}
const start = m.index;
if (start > last) nodes.push(document.createTextNode(text.slice(last, start)));
const a = document.createElement('a');
a.href = url.toLowerCase().startsWith('http') ? url : 'https://' + url;
a.textContent = url;
a.target = '_blank';
a.rel = 'noopener noreferrer';
nodes.push(a);
if (trail) nodes.push(document.createTextNode(trail));
last = start + m[0].length;
}
if (last < text.length) nodes.push(document.createTextNode(text.slice(last)));
return nodes;
}
function processTextNode(node) {
const text = node.nodeValue;
if (!text) return;
let match;
let last = 0;
let changed = false;
const frag = document.createDocumentFragment();
B64_CANDIDATE.lastIndex = 0;
while ((match = B64_CANDIDATE.exec(text)) !== null) {
const candidate = match[0];
const decoded = fullyDecode(candidate);
if (decoded === null) continue;
changed = true;
if (match.index > last) {
frag.appendChild(document.createTextNode(text.slice(last, match.index)));
}
for (const n of buildDecodedNodes(decoded)) frag.appendChild(n);
last = match.index + candidate.length;
}
if (!changed) return;
if (last < text.length) frag.appendChild(document.createTextNode(text.slice(last)));
const wrapper = document.createElement('span');
wrapper.setAttribute(DECODED_MARK, '1');
wrapper.appendChild(frag);
node.parentNode.replaceChild(wrapper, node);
}
function processContainer(container) {
const walker = document.createTreeWalker(container, NodeFilter.SHOW_TEXT, {
acceptNode(node) {
const p = node.parentNode;
if (!p) return NodeFilter.FILTER_REJECT;
const tag = p.nodeName;
if (tag === 'SCRIPT' || tag === 'STYLE' || tag === 'A' || tag === 'TEXTAREA') {
return NodeFilter.FILTER_REJECT;
}
if (node.parentElement && node.parentElement.closest('[' + DECODED_MARK + ']')) {
return NodeFilter.FILTER_REJECT;
}
if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;
return NodeFilter.FILTER_ACCEPT;
},
});
const targets = [];
let n;
while ((n = walker.nextNode())) targets.push(n);
targets.forEach(processTextNode);
}
/* ====================== 실행 / 동적 콘텐츠 감시 ====================== */
let observer = null;
let scheduled = false;
function runOnce() {
TARGET_SELECTORS.forEach((sel) => {
document.querySelectorAll(sel).forEach((el) => processContainer(el));
});
}
function startObserve() {
if (!observer) observer = new MutationObserver(() => scheduleRun());
const root = document.body || document.documentElement;
if (root) observer.observe(root, { childList: true, subtree: true, characterData: true });
}
function scheduleRun() {
if (scheduled) return;
scheduled = true;
requestAnimationFrame(() => {
scheduled = false;
if (observer) observer.disconnect();
runOnce();
startObserve();
});
}
runOnce();
startObserve();
})(); 22
7 comments
아우로라
06/03 ㅁㅊ 너무 편하고
apache
06/03 딱 원하는 기능하고 id나 클래스만 지정해주니 알잘딱해줌
fisherman
06/03 ㄳㄳ
근데 가끔 복호화된 결과물이 두번 연속 나오는 경우가 있긴한데 왜 그런거임?
apache
06/03 난 그런거 못봤는데
apache
06/03 두번 되는 게시물 링크좀
공지
❗알림❗ 지금 차단 당하면 해명해도 차단해제가 안되니 주의바람....
1uF
06/01
17405488
82
❗알림❗ 지금 차단 당하면 해명해도 차단해제가 안되니 주의바람....
공지
1uF
06/01 17405488 82
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
15683478
181
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 15683478 181
공지
🔔[필독] 서브 규정 & 신문고 (2026 04 05~)
SK
04/05
13076174
-22
🔔[필독] 서브 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 13076174 -22
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
14254121
-45
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 14254121 -45
공지
바이러스가 의심될 경우 가이드라인
wouwouer
12/06/25
9927389
103
바이러스가 의심될 경우 가이드라인
공지
wouwouer
12/06/25 9927389 103
일반
Samples
코네
09/13
100
0
Samples
일반
코네
09/13 100 0
일반
어흐 난 왜 이런게 너무좋지
쁠뿡
08/31
423
0
어흐 난 왜 이런게 너무좋지
일반
쁠뿡
08/31 423 0
질문
최근에 본 작품인데 질문점 내용있음
korean6638
08/31
421
0
최근에 본 작품인데 질문점 내용있음
질문
korean6638
08/31 421 0
질문
자료 업로드 메가로 해도 괜찮나요?
ddalddal2
08/31
564
0
자료 업로드 메가로 해도 괜찮나요?
질문
ddalddal2
08/31 564 0
후기 및 공략
요르티나 다햇는데 먼가 몬가임 ./....................
a123123a1231237
08/31
902
0
요르티나 다햇는데 먼가 몬가임 ./....................
후기 및 공략
a123123a1231237
08/31 902 0
동인
【하렘(?)/근친】나를 벌칙게임 소재로 삼지마! (삼아!) EX
HoneyWorks
08/31
3324
11
【하렘(?)/근친】나를 벌칙게임 소재로 삼지마! (삼아!) EX
동인
HoneyWorks
08/31 3324 11
일반
요즘 뭔가 야겜들 퀄리티가 전반적으로 낮아지지 않았나요?
ganzzi
08/31
1409
-3
요즘 뭔가 야겜들 퀄리티가 전반적으로 낮아지지 않았나요?
일반
ganzzi
08/31 1409 -3
질문
그 옛날게임인데
사과맛사탕
08/31
961
1
그 옛날게임인데
질문
사과맛사탕
08/31 961 1
복구
[그냥복구] 우리들의 육변기 선생님 -the GAME- 전 날라리엄마 교사의 변태 생활
ttime490
08/31
3212
8
[그냥복구] 우리들의 육변기 선생님 -the GAME- 전 날라리엄마 교사의 변태 생활
복구
ttime490
08/31 3212 8
질문
혹시 텍스트쪽에서 검열없는 ai 있을까요?
ixa194
08/31
1561
1
혹시 텍스트쪽에서 검열없는 ai 있을까요?
질문
ixa194
08/31 1561 1
작업현황
오치카노 이 미친새기
하츠네미쿠
08/31
1838
6
오치카노 이 미친새기
작업현황
하츠네미쿠
08/31 1838 6
후기 및 공략
긴긴파크 꼴리긴 뒤지게 꼴리는데
ksikio123
08/30
1925
3
긴긴파크 꼴리긴 뒤지게 꼴리는데
후기 및 공략
ksikio123
08/30 1925 3
야짤
여자 작게만든다음 다리랑 뷰지 강제로 벌리는것도 좋네
superkiller123
08/30
3540
2
여자 작게만든다음 다리랑 뷰지 강제로 벌리는것도 좋네
야짤
superkiller123
08/30 3540 2
영상
로리 거유 소녀에게 최면을 걸어 섹스하는 애니메이션 영상 게임
ロリ巨乳
08/30
7047
16
로리 거유 소녀에게 최면을 걸어 섹스하는 애니메이션 영상 게임
영상
ロリ巨乳
08/30 7047 16
동인
직번) [James] 비몽사몽
안드레
08/30
8327
7
직번) [James] 비몽사몽
동인
안드레
08/30 8327 7
일반
샀다 보이즈..ㄷ
쩝냡
08/30
5299
7
샀다 보이즈..ㄷ
일반
쩝냡
08/30 5299 7
동인
(직번)[몬무스]당신을 집착하는 니쿠사씨
멕무
08/30
14203
17
(직번)[몬무스]당신을 집착하는 니쿠사씨
동인
멕무
08/30 14203 17
일반
스팀에서만 나오는 무인도 서바이벌 게임인데...
haeun0511
08/30
5195
0
스팀에서만 나오는 무인도 서바이벌 게임인데...
일반
haeun0511
08/30 5195 0
질문
이런 것도 ntr 인가요 게임 추천 좀요
양이오
08/30
4517
0
이런 것도 ntr 인가요 게임 추천 좀요
질문
양이오
08/30 4517 0
일반
루나와 색욕의 고도 개지리넹
İstiklâl Marşı
08/30
4066
0
루나와 색욕의 고도 개지리넹
일반
İstiklâl Marşı
08/30 4066 0
일반
이누히메 2.0 내년에 나오려나
coke1566
08/30
4411
0
이누히메 2.0 내년에 나오려나
일반
coke1566
08/30 4411 0
후기 및 공략
프린세스 시너지 초반에 비해 뒷심이 아쉽네
33709
08/30
4601
4
프린세스 시너지 초반에 비해 뒷심이 아쉽네
후기 및 공략
33709
08/30 4601 4
일반
여친최면떳냐?
sepisid
08/30
4816
3
여친최면떳냐?
일반
sepisid
08/30 4816 3
일반
시간 용자 엄청 재밌네 이거
sinbalnom
08/30
4148
2
시간 용자 엄청 재밌네 이거
일반
sinbalnom
08/30 4148 2
요청
복구요청)RJ01368793-느슨한 서바이벌 ~알몸섬의 소녀들~
ㅇㅇ
08/30
4408
0
복구요청)RJ01368793-느슨한 서바이벌 ~알몸섬의 소녀들~
요청
ㅇㅇ
08/30 4408 0
동인
[AI 번역][Kairaku Amnesia (Kinuo)] 가난한 아내가 집세를 보지로 갚을 때까지 ~28세 I컵 청초 아내, 악취나는 털복숭이 추남 집주인에게 NTR~
crazyerdog
08/30
19567
29
[AI 번역][Kairaku Amnesia (Kinuo)] 가난한 아내가 집세를 보지로 갚을 때까지 ~28세 I컵 청초 아내, 악취나는 털복숭이 추남 집주인에게 NTR~
동인
crazyerdog
08/30 19567 29
질문
아 게임 생각이 안나
ghdrlfdl
08/30
3703
0
아 게임 생각이 안나
질문
ghdrlfdl
08/30 3703 0
일반
8월 마지막 날 그 긴거 예상중...
ロリ巨乳
08/30
4785
2
8월 마지막 날 그 긴거 예상중...
일반
ロリ巨乳
08/30 4785 2
질문
망가 하나 찾아주실 수 있나요?
churros
08/30
4125
0
망가 하나 찾아주실 수 있나요?
질문
churros
08/30 4125 0
복구
[요청복구] RJ01295900 교배도시에 어서오세요 v1.03
agnis
08/30
13954
21
[요청복구] RJ01295900 교배도시에 어서오세요 v1.03
복구
agnis
08/30 13954 21
s/somisoft
• 157,564 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43
Rules
- 1. 게시물 규정 양식
업로드 시 링크 암호화 & 필수 정보를 기입할 것
- 2. 질문
국룰, 암호화 링크 등 기본사항 질문 금지, 탭 미준수시 차단 및 삭제
- 3. 요청
요청 기준 및 양식 미준수 & 댓글로만 자료 복구 요청 시 차단
- 4. 미성년자 / 근첩 / 페미 / 다중계정
조금이라도 의심되면 선 차단, 후 해명
- 5. 좆목 / 네임드화
닉언, 네임드화 등 친목질 금지
- 6. 분탕 및 어그로 / 혐짤 / 낚시 / 뇌절
해당 카테고리의 차단 기간 및 가중처벌은 처리자 재량으로 판단
- 7. 홍보 / 판촉 / 거래
허용되지 않은 모든 형태의 홍보, 거래, 교환, 조건부 공유 시 차단
- 8. 쌀먹 / 바이러스
조건부 공유 & 수익성 링크 & 고의적인 바이러스 유포 시 갱신차단
- 9. 자료 분류 / AI
미검수 시 표기 필수, 생성형 AI를 사용한 자료의 제목에 AI 미기입 시 차단
- 10. 실사 / 토들러
업로드시 갱신 차단
- 11. 기타 세부 규정은 서브 공지사항 참고