다시 처음으로

This commit is contained in:
tkrmagid-desktop
2026-05-28 19:27:11 +09:00
parent a59992dc87
commit 43290248ee
6 changed files with 104 additions and 62 deletions

View File

@@ -1,47 +0,0 @@
# Chzzk Bypass
치지직(CHZZK) 관련 Chrome 계열 확장. **1.2.2 부터 모든 우회 기능이 제거되었습니다.**
## 우회 기능 중단 안내
이 확장은 더 이상 치지직 페이지에 개입하지 않습니다.
- `content_scripts` 제거
- `declarativeNetRequest` 규칙 / 권한 제거
- `navigator.userAgent` / `platform` / `userAgentData` 위장 코드 제거
- HTTP 요청 헤더 (`User-Agent`, `sec-ch-ua*`) 수정 규칙 제거
이전 버전(`1.1.x` ~ `1.2.1`) 의 기능과 제거 사유는 아래와 같습니다.
### 타임머신 강제 활성화 (`1.1.x`)
스트리머가 타임머신을 꺼둔 라이브에서도 되감기 바 UI 를 띄우는 기능. `1.2.0` 부터 제거.
- 치지직의 DVR window 는 스트리머가 타임머신을 켰을 때만 CDN 이 프로비저닝합니다. 클라이언트에서 `timeMachineActive` 플래그만 `true` 로 바꿔도 HLS 매니페스트(`timemachine=false`) 와 어긋나서 실제 되감기는 동작하지 않습니다.
- 이 클라이언트-사이드 상태 불일치가 치지직의 비정상 접근 감지를 트리거해 **"허용되지 않는 비정상적 접근입니다. 반복적인 접근 시 운영 정책에 따라 조치될 수 있습니다."** 팝업을 띄우는 것이 실측으로 확인되었습니다.
### 그리드 우회 / 1080p Mac 위장 (`1.2.0` ~ `1.2.1`)
`navigator.*` 와 HTTP 요청 헤더를 Mac 으로 위장해 그리드 설치 없이 1080p 시청을 시도. `1.2.2` 부터 제거.
- JS 레벨만 위장한 `1.2.0`, JS + 저엔트로피 HTTP 헤더까지 위장한 `1.2.1` 모두 동일한 비정상 접근 팝업을 트리거하는 것이 실측으로 확인되었습니다.
- 치지직은 고엔트로피 Client Hints (`sec-ch-ua-platform-version`, `sec-ch-ua-arch`, `sec-ch-ua-bitness`, `sec-ch-ua-full-version-list`), WebGL `UNMASKED_RENDERER_WEBGL`, Canvas / AudioContext, 폰트 목록 등 다수의 핑거프린팅 신호를 추가로 보고 있습니다. 클라이언트 확장만으로는 이 신호를 모두 일관되게 위장할 수 없으며, lockstep 으로 따라가는 것도 의미가 없습니다.
- 반복 접근 시 계정 제재 위험이 명시되어 있어, 우회 시도 자체를 중단했습니다.
대안: 그리드(Grid) 정식 설치, 또는 720p 시청.
## 설치 / 제거
설치 의미가 없습니다. 이미 설치되어 있다면 `chrome://extensions` 에서 제거하시는 걸 권장합니다.
## 파일 구조
```
manifest.json 확장 정의 (MV3, 권한 없음, content_scripts 없음)
popup.html/css/js 툴바 팝업 (상태 안내만 표시)
icons/ 확장 아이콘
```
## 면책
본 확장은 학습 및 개인 사용 목적의 우회 도구였습니다. `1.2.2` 부터 우회 기능을 제공하지 않습니다. 사용에 따른 모든 책임은 사용자에게 있으며, 치지직 약관 및 관련 법령을 준수하여 사용하시기 바랍니다.

26
content.js Normal file
View File

@@ -0,0 +1,26 @@
// 치지직 플레이어가 OS를 검사할 때 Mac으로 인식하도록 속임
Object.defineProperty(navigator, 'userAgent', {
get: function () {
return 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36';
}
});
Object.defineProperty(navigator, 'platform', {
get: function () {
return 'MacIntel';
}
});
Object.defineProperty(navigator, 'userAgentData', {
get: function () {
return {
brands: [
{ brand: "Chromium", version: "122" },
{ brand: "Google Chrome", version: "122" },
{ brand: "Not-A.Brand", version: "24" }
],
mobile: false,
platform: "macOS"
};
}
});

View File

@@ -1,8 +1,8 @@
{ {
"name": "Chzzk Bypass", "name": "Chzzk Mac Spoofer (Grid Bypass)",
"version": "1.2.2", "version": "1.0.0",
"manifest_version": 3, "manifest_version": 3,
"description": "치지직(CHZZK) 우회 기능은 비정상 접근 팝업 위험으로 인해 중단되었습니다. 확장은 더 이상 페이지에 개입하지 않습니다.", "description": "치지직(CHZZK) 시청 시 브라우저 환경을 Mac으로 위장하여 그리드 설치 없이 1080p 화질을 쾌적하게 시청합니다.",
"icons": { "icons": {
"16": "icons/icon16.png", "16": "icons/icon16.png",
"48": "icons/icon48.png", "48": "icons/icon48.png",
@@ -10,6 +10,35 @@
}, },
"action": { "action": {
"default_popup": "popup.html", "default_popup": "popup.html",
"default_title": "Chzzk Bypass (비활성)" "default_title": "Chzzk Bypass Status"
},
"permissions": [
"declarativeNetRequest",
"declarativeNetRequestWithHostAccess"
],
"host_permissions": [
"*://*.naver.com/*",
"*://*.ncloud.com/*"
],
"declarative_net_request": {
"rule_resources": [
{
"id": "rules",
"enabled": true,
"path": "rules.json"
} }
]
},
"content_scripts": [
{
"matches": [
"*://chzzk.naver.com/*"
],
"js": [
"content.js"
],
"run_at": "document_start",
"world": "MAIN"
}
]
} }

View File

@@ -8,18 +8,18 @@
<div class="container"> <div class="container">
<div class="header"> <div class="header">
<h1>Chzzk Bypass</h1> <h1>Chzzk Bypass</h1>
<span class="badge">비활성</span> <span class="badge active">작동 중</span>
</div> </div>
<div class="content"> <div class="content">
<p>우회 기능은 중단되었습니다.</p> <p>현재 <strong>Mac OS</strong>로 위장하여<br>그리드를 우회하고 있습니다.</p>
<div class="status-box"> <div class="status-box">
<div class="status-item"> <div class="status-item">
<span class="label">상태</span> <span class="label">대상 사이트</span>
<span class="value">페이지에 개입하지 않음</span> <span class="value">chzzk.naver.com</span>
</div> </div>
<div class="status-item"> <div class="status-item">
<span class="label">사유</span> <span class="label">우회 상태</span>
<span class="value">치지직 비정상 접근 팝업 위험</span> <span class="value success">정상 (1080p)</span>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,2 +1,5 @@
// 팝업 UI 로드만 처리합니다. 페이지 개입 기능은 1.2.2 에서 제거되었습니다. // 팝업이 로드될 때 실행됩니다.
document.addEventListener('DOMContentLoaded', function () {}); document.addEventListener('DOMContentLoaded', function () {
console.log("Chzzk Bypass 팝업 UI 로드 완료");
// 향후 우회 On/Off 토글 버튼 등을 구현할 공간입니다.
});

31
rules.json Normal file
View File

@@ -0,0 +1,31 @@
[
{
"id": 1,
"priority": 1,
"action": {
"type": "modifyHeaders",
"requestHeaders": [
{
"header": "user-agent",
"operation": "set",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
},
{
"header": "sec-ch-ua-platform",
"operation": "set",
"value": "\"macOS\""
}
]
},
"condition": {
"urlFilter": "||chzzk.naver.com",
"resourceTypes": [
"main_frame",
"sub_frame",
"xmlhttprequest",
"ping",
"script"
]
}
}
]