프로젝트 소개

Trace(일명 T次方)는 오픈소스 Chrome 브라우저 확장으로, 웹사이트 동작 추적 및 프론트엔드의 심층 디버깅·분석에 집중한다. 핵심 기능은 다음과 같다. - **쿠키 추적**: 사이트의 쿠키 설정 및 읽기 작업을 기록한다. - **이벤트 추적**: 페이지 Event의 등록 및 트리거를 수신한다. - **객체 추적**: hookProxy 방식을 통해 대부분의 window 및 document 속성과 메서드 호출을 추적한다. - **스크립트 주입**: 현재 페이지에 커스텀 JavaScript 코드를 동적으로 주입한다. - **요청 차단**: 정규식을 기반으로 네트워크 요청을 세밀하게 차단하며 전역生效으로 Chrome 기본 Network Request Blocking의 한계를 보완한다. - **변수 추적**: 런타임에 생성되는 문자열과 위치 정보를 기록해 데이터 소스를 찾는 것을 보조한다. 캐시 비활성화 및 브레이크포인트와 결합하면 페이지 전환 전 핵심 URL 데이터를 포착할 수 있다. - **JS 반혼화**: AST 파싱 등을 활용해 혼화 코드의 환원을 시도한다. - **응답 변환**: 페이지 응답본문을 지정된 주소로 재전송하며, Babel 플러그인과 결합해 응답을 임의로 수정할 수 있어 자동 반혼화 등 고급 작업도 이론상 가능하다. 확장은 실행 환경에 `Proxiable`, `DocProxiable`, `hookProxy` 등의 인터페이스를 노출해 콘솔에서 직접 대상 객체에 대한代理 Hook을 가능하게 한다. 설치 방식은 Chrome 웹스토어 설치, CRX 파일 드래그해서 로드, 또는 소스 코드를 다운로드해 Developer Mode에서 Load unpacked 방식으로 불러오는 방법이 지원된다. 확장은 팝업 빠른 전환 페이지와 옵션 상세 설정 페이지로 나뉘며, 변수 추적, 반혼화, 응답 변환 등의 기능을 활성화하면 Chrome에서 디버그 경고가 표시되어 해당 기간 동안 꺼질 수 없으며, 설정은 반드시 저장한 후 각 개별 탭에서 다시 활성화해야生效한다. 프로젝트는 Babel 컴파일러와 Pico CSS 프레임워크를 사용하며 MIT 라이선스를 따른다.