F12는 이제 안녕: session-capture — 단 한 번의 명령으로 모든 웹사이트의 인증 세션(Auth Session)을 캡처하세요
요약
웹사이트의 인증 세션(쿠키, 로컬 스토리지, CSRF 토큰 등)을 단 한 번의 명령으로 캡처할 수 있는 오픈 소스 CLI 도구인 session-capture를 소개합니다. 개발자 도구를 일일이 뒤지는 번거로움 없이 전체 인증 상태를 JSON이나 Playwright 형식으로 추출할 수 있습니다.
핵심 포인트
- 쿠키, 로컬 스토리지, CSRF 토큰, 헤더를 한 번에 캡처
- Playwright의 storage_state를 활용한 세션 지속성 지원
- JSON 등 다양한 출력 형식을 지원하여 자동화 스크립트에 용이
- 수동 로그인 방식을 채택하여 보안성 유지
Goodbye F12: session-capture — 단 한 번의 명령으로 모든 웹사이트의 인증 세션(Auth Session)을 캡처하세요
F12 → Application → Cookies → 복사-붙여넣기-반복 과정에 지치셨나요? 이 오픈 소스 CLI 도구는 단 한 번의 명령으로 쿠키(cookies), 로컬 스토리지(localStorage), CSRF 토큰, 그리고 요청 헤더(request headers)를 포함한 전체 인증 세션을 캡처합니다.
모든 개발자가 공감하는 고통
스크레이퍼(scraper)나 자동화 스크립트를 작성하고 계신가요? 다음과 같은 과정을 잘 알고 계실 겁니다:
- 개발자 도구(DevTools, F12) 열기
- Application 탭 → Cookies →
session_id찾기 - Application 탭 → Local Storage →
token찾기 - Network 탭 → 헤더(headers)를 뒤져서
x-csrf-token찾기 referer,user-agent복사...- 형식을 맞추어
.env파일에 붙여넣고, 빠뜨린 것이 없기를 기도하기
플랫폼이 5개라면 = 5번 반복. 쿠키가 만료되면 = 모든 과정을 다시 반복.
기존 도구들은 큰 도움이 되지 않습니다:
| 도구 | Cookies | localStorage | CSRF | Headers | CLI pipe | Persistent |
|---|---|---|---|---|---|---|
| session-capture | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ... |
진짜 문제는 많은 플랫폼(CSDN, Xiaohongshu, SegmentFault)이 쿠키 외에도 x-csrf-token, x-requested-with, 그리고 referer 헤더를 필요로 한다는 점입니다. 쿠키만 다루는 도구는 이런 곳에서 무용지물입니다.
session-capture: 단 한 번의 명령으로 전체 인증 세션 획득
session-capture는 오픈 소스 CLI 도구이자 Chrome 확장 프로그램으로, 백엔드가 요청을 인증하는 데 필요한 모든 것, 즉 **전체 인증 세션 상태(entire authentication session state)**를 캡처합니다.
pip install session-capture
playwright install chromium # 1회 설정
...
작동 방식은 다음과 같습니다:
- 실제 브라우저 창이 dev.to에서 열립니다.
- 수동으로 로그인합니다 (안전함 — 비밀번호는 도구에 절대 전달되지 않습니다).
- 터미널에서 Enter를 누릅니다.
- 전체 세션 데이터가 캡처됩니다:
{
"cookies": [
{"name": "session_id", "value": "abc123", "domain": ".dev.to"}
...
더 이상 4개의 DevTools 탭을 클릭하며 돌아다닐 필요가 없습니다. 단 한 번의 명령으로 모든 것을 한 번에 해결하세요.
모든 워크플로우를 위한 네 가지 출력 형식
# JSON — 프로그래밍 방식의 사용을 위해
capture capture https://dev.to
...
지속성 세션 (Persistent Sessions): 한 번의 로그인으로 영구 재사용
이 부분이 session-capture가 진정으로 빛을 발하는 지점입니다. 모든 capture capture 명령은 Playwright의 storage_state를 저장합니다. 이는 쿠키 (cookies), localStorage, sessionStorage, 그리고 IndexedDB를 포함한 전체 브라우저 컨텍스트 (browser context)입니다.
나중에:
# 저장된 세션 목록 표시
capture list
# ┌──────────┬──────────────────────────────────────────────┐
...
쿠키가 만료되었나요? 그냥 refresh를 다시 실행하세요. 로그인 상태는 여전히 온전하게 유지됩니다.
Chrome 확장 프로그램 포함
동반 도구인 Chrome 확장 프로그램도 사용할 수 있습니다 (현재 Chrome 웹 스토어 심사 대기 중이며, 개발자 모드로 로드 가능):
- 원클릭 내보내기: 현재 탭의 쿠키 (cookies) + localStorage + CSRF 토큰
- 형식 전환: JSON / Env / Netscape / Curl
- 클립보드 복사 또는 파일로 다운로드
기술 스택 (Tech Stack)
| 구성 요소 | 기술 | 이유 |
|---|---|---|
| CLI | Typer + Rich | 현대적인 Python CLI, 타입 안전성 (type-safe), 아름다운 출력 |
| ... |
주요 설계 결정 사항:
- Headed 브라우저, 수동 로그인 — 암호화된 쿠키 파일을 건드리지 않으며, 취약한
browser_cookie3해킹 방식을 사용하지 않습니다. 사용자가 직접 로그인합니다. 안전합니다. - Python API로서의
capture_session()— 다른 프로젝트에서 임포트 (import) 가능합니다. 서브프로세스 (subprocess)나 파이프 파싱 (pipe parsing)이 필요 없습니다. agentcrew-mcn이 이 방식으로 이를 통합했습니다. - 단일 저장소, 이중 구성 요소 — CLI (Python) + 확장 프로그램 (JS/HTML) 구조로, 결합도가 제로(zero coupling)이며 경로 필터를 사용한 CI (지속적 통합)가 가능합니다.
- 크로스 플랫폼 (Cross-platform) — macOS, Windows, Linux 지원. Chromium 및 Firefox 엔진 지원.
비교
| 기능 | session-capture | EditThisCookie | browser_cookie3 |
|---|---|---|---|
| CLI 파이프 출력 | ✅ | ❌ | ✅ |
| ... |
설치 및 링크
pip install session-capture
# 또는 pipx 사용 시:
pipx install session-capture
...
- GitHub: github.com/super-rick/session-capture ⭐
- PyPI: pypi.org/project/session-capture/
- Chrome Web Store: Session Capture Exporter (검토 중)
MIT 라이선스입니다. 스타, 이슈, PR은 환영합니다.
만약 F12 → Application → Cookies에서 욕을 해본 적이 있다면, capture capture를 사용해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기