v1.2.1: HTTP 헤더(User-Agent / sec-ch-ua*)도 Mac 으로 위장

v1.2.0 까지는 navigator.* JS 값만 Mac 으로 덮어쓰고 실제 HTTP 요청 헤더는
원본(Windows)으로 나가서, 치지직 핑거프린팅이 클라이언트 사이드 불일치를
잡아내 "허용되지 않는 비정상적 접근" 팝업을 띄우는 것으로 추정됨.

declarativeNetRequest modifyHeaders 규칙으로 다음 요청 헤더를 Mac 값으로
덮어써 JS 레벨 (navigator.*) 과 네트워크 레벨이 일치하도록 한다:

- User-Agent
- sec-ch-ua
- sec-ch-ua-platform
- sec-ch-ua-mobile

부수 변경:
- host_permissions 에 *.pstatic.net 추가 (치지직 비디오/이미지 CDN)
- README / content.js 주석에 두-레이어 위장 구조 명시
This commit is contained in:
chzzk-bypass owner
2026-05-28 18:27:31 +09:00
parent 0a326e5d80
commit 15a852c8ad
4 changed files with 71 additions and 6 deletions

View File

@@ -10,6 +10,18 @@
위장해, 치지직이 윈도우에서 1080p 시청 시 요구하는 그리드(Grid) 설치 없이 1080p
화질을 시청할 수 있게 합니다.
위장은 두 레이어를 같은 값으로 맞춥니다.
- **JS 레벨** (`content.js`): `navigator.userAgent`, `navigator.platform`,
`navigator.userAgentData` (메서드 `getHighEntropyValues` / `toJSON` 포함).
- **네트워크 레벨** (`rules.json` + declarativeNetRequest): 실제 HTTP 요청
헤더 `User-Agent`, `sec-ch-ua`, `sec-ch-ua-platform`, `sec-ch-ua-mobile`
Mac 값으로 덮어씁니다.
두 레이어 중 하나만 바꾸면 JS 와 서버가 보는 값이 어긋나, 치지직 핑거프린팅이
**"허용되지 않는 비정상적 접근입니다."** 팝업을 띄울 수 있습니다.
1.2.1 부터 이 두 레이어를 함께 일관되게 위장합니다.
`userAgentData` 는 단순히 `brands` / `mobile` / `platform` 만 갈아끼우면
치지직이 로드하는 `nlog.js` (네이버 핑거프린팅 / 로깅) 가
`e.getHighEntropyValues is not a function` 으로 Uncaught TypeError 를 던집니다.
@@ -17,7 +29,7 @@
일관된 Mac 값으로 채워 둡니다. (manifest 의 `world: MAIN` + `run_at: document_start`
덕분에 페이지 스크립트보다 먼저 적용됩니다.)
구현: `content.js`
구현: `content.js`, `rules.json`
## 타임머신 강제 활성화는 지원하지 않습니다
@@ -51,8 +63,8 @@
```
manifest.json 확장 정의 (MV3)
content.js 그리드 우회 (UA / platform / UA-CH 위장 + getHighEntropyValues)
rules.json declarativeNetRequest 규칙 (현재 비어 있음)
content.js 그리드 우회 JS 레벨 (UA / platform / UA-CH 위장 + getHighEntropyValues)
rules.json 그리드 우회 네트워크 레벨 (UA / sec-ch-ua* 헤더 modifyHeaders)
popup.html/css/js 툴바 팝업
icons/ 확장 아이콘
```