clips 목록 & 상세(detail?optionalProperties) API에서 privateUserBlock 해제
当前为
// ==UserScript==
// @name Chzzk_Clips: Unblock clips
// @namespace Chzzk_Clips: Unblock clips
// @version 1.0.0
// @description clips 목록 & 상세(detail?optionalProperties) API에서 privateUserBlock 해제
// @author DOGJIP
// @match https://chzzk.naver.com/*
// @match https://*.chzzk.naver.com/*
// @grant none
// @require https://unpkg.com/xhook@latest/dist/xhook.min.js
// @icon https://www.google.com/s2/favicons?sz=64&domain=chzzk.naver.com
// ==/UserScript==
(function() {
'use strict';
xhook.after((request, response) => {
const url = request.url;
let patched = false;
// 1) 목록 API: /clips?filterType=ALL
if (url.includes('/clips?') && url.includes('filterType=ALL')) {
try {
const json = JSON.parse(response.text);
if (json.content && Array.isArray(json.content.data)) {
json.content.data.forEach(clip => {
clip.privateUserBlock = false;
if (clip.blindType) clip.blindType = null;
});
response.text = JSON.stringify(json);
patched = true;
}
} catch (e) {
//console.error('[Chzzk_Clips] 목록 패치 실패:', e);
}
}
// 2) 상세 API: detail?optionalProperties=...
if (url.includes('/clips/') && url.includes('detail?optionalProperties=')) {
try {
const json = JSON.parse(response.text);
if (json.content && json.content.optionalProperty) {
json.content.optionalProperty.privateUserBlock = false;
// 필요하면 blindType 도 해제
if (json.content.optionalProperty.blindType) {
json.content.optionalProperty.blindType = null;
}
response.text = JSON.stringify(json);
patched = true;
}
} catch (e) {
//console.error('[Chzzk_Clips] 상세 패치 실패:', e);
}
}
});
//console.log('Chzzk_Clips :: 완전 차단 해제 스크립트 로드됨');
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址