- '일치시킨다' 표현을 '일부 저엔트로피 값만 맞춘다'로 정정 - ncloud.com host_permission 은 선언만 되어 있고 DNR 규칙은 chzzk.naver.com 한정임을 명시 - userAgentData.getHighEntropyValues 미구현으로 사이트 스크립트 TypeError 가 발생할 수 있음을 '알려진 위험' 에 추가
57 lines
4.0 KiB
Markdown
57 lines
4.0 KiB
Markdown
# Chzzk Mac Spoofer (Grid Bypass)
|
|
|
|
치지직(CHZZK) 시청 시 브라우저 환경을 Mac 으로 위장해 그리드(Grid) 설치 없이 1080p 화질을 시청하기 위한 Chrome / Edge / Whale 계열 확장 (Manifest V3).
|
|
|
|
## 동작 원리
|
|
|
|
치지직은 Windows 에서 1080p 시청 시 자체 그리드 앱 설치를 요구하지만, Mac 환경에서는 요구하지 않습니다. 이 확장은 치지직 페이지에 한해 브라우저가 Mac 으로 보이도록 두 레이어를 동시에 위장합니다.
|
|
|
|
JS 레벨 위장 — `content.js` (`world: MAIN`, `run_at: document_start`)
|
|
|
|
- `navigator.userAgent` → `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ... Chrome/122.0.0.0 Safari/537.36`
|
|
- `navigator.platform` → `MacIntel`
|
|
- `navigator.userAgentData` → `{ brands: [Chromium/122, Google Chrome/122, Not-A.Brand/24], mobile: false, platform: "macOS" }`
|
|
|
|
네트워크 레벨 위장 — `rules.json` (declarativeNetRequest `modifyHeaders`)
|
|
|
|
- `user-agent` → 위와 동일한 Mac Chrome 122 문자열
|
|
- `sec-ch-ua-platform` → `"macOS"`
|
|
- 적용 범위: `||chzzk.naver.com` 의 `main_frame` / `sub_frame` / `xmlhttprequest` / `ping` / `script` 요청
|
|
|
|
이 두 레이어는 일부 저엔트로피 값(`user-agent`, `sec-ch-ua-platform`)만 Mac 으로 맞춥니다. `sec-ch-ua` 브랜드/버전, `sec-ch-ua-mobile`, 고엔트로피 Client Hints(`sec-ch-ua-platform-version`, `sec-ch-ua-arch`, `sec-ch-ua-bitness`, `sec-ch-ua-full-version-list`) 등은 그대로 남습니다.
|
|
|
|
## 설치
|
|
|
|
1. 이 저장소를 `git clone` 또는 ZIP 다운로드해 임의의 폴더에 둡니다.
|
|
2. Chrome 계열 브라우저에서 `chrome://extensions` 접속.
|
|
3. 우상단 **개발자 모드** 활성화.
|
|
4. **압축해제된 확장 프로그램을 로드합니다** 클릭 → 위 폴더 선택.
|
|
5. 치지직(`https://chzzk.naver.com`) 새로고침.
|
|
|
|
## 파일 구조
|
|
|
|
```
|
|
manifest.json 확장 정의 (MV3)
|
|
content.js navigator.userAgent / platform / userAgentData 를 Mac 으로 위장
|
|
rules.json declarativeNetRequest 로 user-agent / sec-ch-ua-platform 헤더 위장
|
|
popup.html/css/js 툴바 팝업 (상태 표시)
|
|
icons/ 확장 아이콘
|
|
```
|
|
|
|
## 권한
|
|
|
|
- `declarativeNetRequest`, `declarativeNetRequestWithHostAccess` — 요청 헤더 위장에 필요
|
|
- `host_permissions`: `*://*.naver.com/*`, `*://*.ncloud.com/*` — 매니페스트에 선언되어 있으나, 현재 DNR 규칙은 `urlFilter: ||chzzk.naver.com` 으로 한정되어 있어 실제 헤더 위장은 `chzzk.naver.com` 요청에만 적용됩니다. `ncloud.com` / 그 외 `naver.com` 서브도메인 요청은 위장 없이 그대로 나갑니다.
|
|
|
|
## 알려진 위험
|
|
|
|
본 확장으로 치지직 페이지를 열었을 때 **"허용되지 않는 비정상적 접근입니다. 반복적인 접근 시 운영 정책에 따라 조치될 수 있습니다."** 팝업이 뜨는 사례가 실측으로 확인되었습니다. 치지직이 JS 의 `navigator.*`, 저엔트로피 Client Hints 외에 고엔트로피 Client Hints (`sec-ch-ua-platform-version`, `sec-ch-ua-arch`, `sec-ch-ua-full-version-list` 등), WebGL renderer, Canvas 등 추가 핑거프린팅 신호를 함께 보는 것으로 추정됩니다. 이 확장은 그 모든 신호를 위장하지는 않습니다.
|
|
|
|
추가로, `content.js` 가 `navigator.userAgentData` 를 단순 객체로 교체하지만 원래 있어야 할 `getHighEntropyValues()` 메서드를 구현하지 않습니다. 이 때문에 치지직 페이지 스크립트(예: `nlog.js`)에서 `e.getHighEntropyValues is not a function` 같은 TypeError 가 발생할 수 있고, 이 오류 자체가 비정상 접근 시그널로 작용할 가능성이 있습니다.
|
|
|
|
팝업이 반복되면 계정 제재 가능성이 있다고 명시되어 있으니, 본인 책임 하에 사용하시고 팝업이 뜨면 사용을 중단하시기 바랍니다.
|
|
|
|
## 면책
|
|
|
|
본 확장은 학습 및 개인 사용 목적의 우회 도구입니다. 사용에 따른 모든 책임은 사용자에게 있으며, 치지직 약관 및 관련 법령을 준수하여 사용하시기 바랍니다.
|