kone
소미소프트
소미소프트

코네콘 움짤 업로드용 임시 유저스크립트

06/07/2026, 16:22:21
일반
17367 views · 3 likes
ViolentMonkey 유저스크립트

// ==UserScript==
// @name kone.gg GIF 업로드 수정 (ffmpeg module worker fix)
// @namespace kone.gg.gif.fix
// @match https://kone.gg/*
// @run-at document-start
// @grant none
// @version 0.1
// @description module 워커 → classic 우회 + importScripts/fetch/import 경로 절대화
// ==/UserScript==
(function () {
'use strict';
const NativeWorker = window.Worker;
const ORIGIN = location.origin;

function PatchedWorker(url, opts) {
let abs;
try { abs = new URL(url, location.href).href; } catch (e) { abs = String(url); }
const isModule = !!(opts && opts.type === 'module');

try {
if (isModule && abs.includes('/immutable/workers/worker-')) {
const xhr = new XMLHttpRequest();
xhr.open('GET', abs, false);
xhr.send(null);

if (xhr.status === 200 && xhr.responseText.includes('createFFmpegCore')) {
const src = xhr.responseText;

const preamble =
'(function(){' +
'var ORIGIN=' + JSON.stringify(ORIGIN) + ';' +
'function abs(u){' +
'try{' +
'if(typeof u==="string"&&u[0]==="/"&&u[1]!=="/")return ORIGIN+u;' + // 루트경로만 절대화
'return new URL(u,ORIGIN).href;' +
'}catch(e){return u}' +
'}' +
// importScripts 절대화
'if(typeof importScripts==="function"){' +
'var _is=importScripts;' +
'importScripts=function(){return _is.apply(this,Array.prototype.map.call(arguments,abs))};' +
'}' +
// fetch 절대화 (wasm 로딩이 여기로 나감)
'if(typeof fetch==="function"){' +
'var _ft=fetch;' +
'self.fetch=function(input,init){' +
'try{' +
'if(typeof input==="string"){input=abs(input);}' +
'else if(input&&input.url){input=new Request(abs(input.url),input);}' +
'}catch(e){}' +
'return _ft.call(this,input,init);' +
'};' +
'}' +
// 동적 import 절대화
'self.__dynImport=function(u){return import(abs(u))};' +
'})();\n';

const patchedSrc = src.replace(/\bimport\(/g, 'self.__dynImport(');
const blobURL = URL.createObjectURL(
new Blob([preamble + patchedSrc], { type: 'text/javascript' })
);

return new NativeWorker(blobURL);
}
}
} catch (e) {
// 후킹 실패 시 원본 워커로 폴백
}
return new NativeWorker(url, opts);
}

PatchedWorker.prototype = NativeWorker.prototype;
Object.setPrototypeOf(PatchedWorker, NativeWorker);
window.Worker = PatchedWorker;
})();

ViolentMonkey 유저스크립트 base64인코딩

Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBrb25lLmdnIEdJRiDsl4XroZzrk5wg7IiY7KCVIChmZm1wZWcgbW9kdWxlIHdvcmtlciBmaXgpCi8vIEBuYW1lc3BhY2UgICAga29uZS5nZy5naWYuZml4Ci8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9rb25lLmdnLyoKLy8gQHJ1bi1hdCAgICAgICBkb2N1bWVudC1zdGFydAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQHZlcnNpb24gICAgICAwLjEKLy8gQGRlc2NyaXB0aW9uICBtb2R1bGUg7JuM7LukIOKGkiBjbGFzc2ljIOyasO2ajCArIGltcG9ydFNjcmlwdHMvZmV0Y2gvaW1wb3J0IOqyveuhnCDsoIjrjIDtmZQKLy8gPT0vVXNlclNjcmlwdD09CihmdW5jdGlvbiAoKSB7CiAgJ3VzZSBzdHJpY3QnOwogIGNvbnN0IE5hdGl2ZVdvcmtlciA9IHdpbmRvdy5Xb3JrZXI7CiAgY29uc3QgT1JJR0lOID0gbG9jYXRpb24ub3JpZ2luOwoKICBmdW5jdGlvbiBQYXRjaGVkV29ya2VyKHVybCwgb3B0cykgewogICAgbGV0IGFiczsKICAgIHRyeSB7IGFicyA9IG5ldyBVUkwodXJsLCBsb2NhdGlvbi5ocmVmKS5ocmVmOyB9IGNhdGNoIChlKSB7IGFicyA9IFN0cmluZyh1cmwpOyB9CiAgICBjb25zdCBpc01vZHVsZSA9ICEhKG9wdHMgJiYgb3B0cy50eXBlID09PSAnbW9kdWxlJyk7CgogICAgdHJ5IHsKICAgICAgaWYgKGlzTW9kdWxlICYmIGFicy5pbmNsdWRlcygnL2ltbXV0YWJsZS93b3JrZXJzL3dvcmtlci0nKSkgewogICAgICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgIHhoci5vcGVuKCdHRVQnLCBhYnMsIGZhbHNlKTsKICAgICAgICB4aHIuc2VuZChudWxsKTsKCiAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCAmJiB4aHIucmVzcG9uc2VUZXh0LmluY2x1ZGVzKCdjcmVhdGVGRm1wZWdDb3JlJykpIHsKICAgICAgICAgIGNvbnN0IHNyYyA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgY29uc3QgcHJlYW1ibGUgPQogICAgICAgICAgICAnKGZ1bmN0aW9uKCl7JyArCiAgICAgICAgICAgICAgJ3ZhciBPUklHSU49JyArIEpTT04uc3RyaW5naWZ5KE9SSUdJTikgKyAnOycgKwogICAgICAgICAgICAgICdmdW5jdGlvbiBhYnModSl7JyArCiAgICAgICAgICAgICAgICAndHJ5eycgKwogICAgICAgICAgICAgICAgICAnaWYodHlwZW9mIHU9PT0ic3RyaW5nIiYmdVswXT09PSIvIiYmdVsxXSE9PSIvIilyZXR1cm4gT1JJR0lOK3U7JyArICAvLyDro6jtirjqsr3roZzrp4wg7KCI64yA7ZmUCiAgICAgICAgICAgICAgICAgICdyZXR1cm4gbmV3IFVSTCh1LE9SSUdJTikuaHJlZjsnICsKICAgICAgICAgICAgICAgICd9Y2F0Y2goZSl7cmV0dXJuIHV9JyArCiAgICAgICAgICAgICAgJ30nICsKICAgICAgICAgICAgICAvLyBpbXBvcnRTY3JpcHRzIOygiOuMgO2ZlAogICAgICAgICAgICAgICdpZih0eXBlb2YgaW1wb3J0U2NyaXB0cz09PSJmdW5jdGlvbiIpeycgKwogICAgICAgICAgICAgICAgJ3ZhciBfaXM9aW1wb3J0U2NyaXB0czsnICsKICAgICAgICAgICAgICAgICdpbXBvcnRTY3JpcHRzPWZ1bmN0aW9uKCl7cmV0dXJuIF9pcy5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsYWJzKSl9OycgKwogICAgICAgICAgICAgICd9JyArCiAgICAgICAgICAgICAgLy8gZmV0Y2gg7KCI64yA7ZmUICh3YXNtIOuhnOuUqeydtCDsl6zquLDroZwg64KY6rCQKQogICAgICAgICAgICAgICdpZih0eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iKXsnICsKICAgICAgICAgICAgICAgICd2YXIgX2Z0PWZldGNoOycgKwogICAgICAgICAgICAgICAgJ3NlbGYuZmV0Y2g9ZnVuY3Rpb24oaW5wdXQsaW5pdCl7JyArCiAgICAgICAgICAgICAgICAgICd0cnl7JyArCiAgICAgICAgICAgICAgICAgICAgJ2lmKHR5cGVvZiBpbnB1dD09PSJzdHJpbmciKXtpbnB1dD1hYnMoaW5wdXQpO30nICsKICAgICAgICAgICAgICAgICAgICAnZWxzZSBpZihpbnB1dCYmaW5wdXQudXJsKXtpbnB1dD1uZXcgUmVxdWVzdChhYnMoaW5wdXQudXJsKSxpbnB1dCk7fScgKwogICAgICAgICAgICAgICAgICAnfWNhdGNoKGUpe30nICsKICAgICAgICAgICAgICAgICAgJ3JldHVybiBfZnQuY2FsbCh0aGlzLGlucHV0LGluaXQpOycgKwogICAgICAgICAgICAgICAgJ307JyArCiAgICAgICAgICAgICAgJ30nICsKICAgICAgICAgICAgICAvLyDrj5nsoIEgaW1wb3J0IOygiOuMgO2ZlAogICAgICAgICAgICAgICdzZWxmLl9fZHluSW1wb3J0PWZ1bmN0aW9uKHUpe3JldHVybiBpbXBvcnQoYWJzKHUpKX07JyArCiAgICAgICAgICAgICd9KSgpO1xuJzsKCiAgICAgICAgICBjb25zdCBwYXRjaGVkU3JjID0gc3JjLnJlcGxhY2UoL1xiaW1wb3J0XCgvZywgJ3NlbGYuX19keW5JbXBvcnQoJyk7CiAgICAgICAgICBjb25zdCBibG9iVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTCgKICAgICAgICAgICAgbmV3IEJsb2IoW3ByZWFtYmxlICsgcGF0Y2hlZFNyY10sIHsgdHlwZTogJ3RleHQvamF2YXNjcmlwdCcgfSkKICAgICAgICAgICk7CgogICAgICAgICAgcmV0dXJuIG5ldyBOYXRpdmVXb3JrZXIoYmxvYlVSTCk7CiAgICAgICAgfQogICAgICB9CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIC8vIO2bhO2CuSDsi6TtjKgg7IucIOybkOuzuCDsm4zsu6TroZwg7Y+067CxCiAgICB9CiAgICByZXR1cm4gbmV3IE5hdGl2ZVdvcmtlcih1cmwsIG9wdHMpOwogIH0KCiAgUGF0Y2hlZFdvcmtlci5wcm90b3R5cGUgPSBOYXRpdmVXb3JrZXIucHJvdG90eXBlOwogIE9iamVjdC5zZXRQcm90b3R5cGVPZihQYXRjaGVkV29ya2VyLCBOYXRpdmVXb3JrZXIpOwogIHdpbmRvdy5Xb3JrZXIgPSBQYXRjaGVkV29ya2VyOwp9KSgpOw==


몇 일 전부터 webp나 gif 같은 움짤이 코네콘에 안 올라가지길래 claude로 바이브 코딩해서 해결했습니다.
사이트 업데이트되면 작동을 안하거나 또는 문제를 일으킬 수 있으니, 움짤 업로드할때만 잠시 적용시키는 것을 권장드립니다.

(수정) 해당 문제는 6월 11일자 패치로 해결되었습니다.

1

3
5 comments
06/07
06/07
오치카노 어나더 분량 어마어마하네
일반
gamzagamza
08/30 5922 0
고등때부터 시작된 동화상(動畵像) 게임 모우기가 슬슬 권태기가 올꺼같군요..
일반
꾸큐꽈까
08/30 5576 0
3D 게임 갓겜 추천 받아요
질문
너울
08/30 6352 2
포레스티아 질문 2개
질문
12341944
08/30 4225 0
Forest of Blue Skin R 8/30 100% 세이브
세이브
F2P
08/30 5999 3
다음 번역할 작품 추천좀
질문
cbdpffhj
08/30 3972 2
으아 취업하니까 야겜 할 시간이 없네...
일반
vcs82792
08/30 3919 0
[b-ginga] 땍땍대는 배구부 주장은 최면 육노예
동인
멜신
08/30 62027 53
이건 또 처음 겪는 현상이네
일반
azezazazezaz
08/30 4324 0
동인지 제목 구함...
질문
ekandsafy
08/30 3433 0
아마네 해변갔더니 초록색타일로 안가지는데
질문
asdheh123
08/30 3981 0
[YD] 성녀의 기도는 닿지 않는다
동인
selsen
08/30 65879 89
[요청 복구] RJ353158 Haramase Island
복구
iwwdi
08/30 50460 30
[AI번역][プニョン][여호촌에 전해지는 축제 행사에 대하여]
동인
왕젖보뚱
08/30 61778 49
내가 좋아하는 그 아이는 걸레였다 2,3기 번역본
영상
sleepmask
08/30 59491 164
동인지 제목 뭐였음?
질문
chu-rub
08/30 5141 0
요청 복구 - RJ01600694 Crynaria Tears In The Abyss 1.0.7
복구
iwwdi
08/30 50024 31
내가 할 발매예정게임 메모용
일반
하츠네미쿠
08/30 6607 2
아마세 스쿨미즈 갈아입고 스카웃한다음
질문
다람지렁이
08/30 4659 0
여러분 오늘은 '전남친 작품'의 날이라네요.
일반
차곡차곡은뚠뚠오늘도뚠뚠
08/30 4942 -7
코네에 개인 차단 같은거 없음?
질문
crimson-hammer
08/30 4784 8
Meta: Muse Spark 1.2 Contributor 출시
정보
iwwdi
08/30 9930 2
더럽혀진 히로인 알세라의 진행 상황 보고(15)
정보
auo-cast-off
08/30 10679 9
[Ai번역, 미검수] [RJ01590892] BBC×FAMILY 〜검게 물드는 장미와 백합〜
번역
piriparafuru
08/30 97485 80
예종도시의 후우라 진행 53 던전 만들기
정보
auo-cast-off
08/30 9928 8
AI) NTR 또는 능욕, 치욕, 타락물이 가장 꼴리는 캐릭터는 뭐가 있을까?
야짤
카제가토오루
08/30 14121 5
[Amatani Haruka] 벌칙 여친 ~우리가 사귀게 된 계기는 벌칙 고백 몰카였습니다~
동인
1uF
08/30 68848 94
이나리 치트엔진 질문!
질문
신사의품격
08/30 4704 0
[Cabin] 모두가 구원받지 못하는 하렘 2
동인
1uF
08/30 61627 52
(이미지 번역 파일만) [RJ01704247] 에로가위바위보RE
번역
5dk2io1
08/30 108115 271