n8n 연동을 사용하면 워크플로가 HTTP를 통해 브라우저에서 쿠키를 가져올 수 있습니다 — 수동 내보내기가 필요 없습니다. 암호화 비밀번호는 확장 프로그램에만 저장되며, 서버는 받지 않습니다.
아키텍처
n8n ──HTTP GET──► Cookie Editor Server ──WebSocket──► Extension ──► chrome.cookies
│ │
└──── encrypted data ◄───────────────┘
n8n decrypts with the password you configured
1단계: n8n 탭 열기
- Cookie Editor 사이드 패널을 엽니다.
- 오른쪽 사이드바에서 n8n 아이콘을 클릭합니다.
- 확장 프로그램이 전용
n8n.html탭을 엽니다.

2단계: 확장 프로그램을 서버에 연결
- Connect를 클릭합니다.
- 안내되면
storage및alarms권한을 허용합니다. - Connect 모달에서 encryption password를 입력합니다.
- 이 비밀번호는 서버로 전송되지 않습니다.
- 확장 프로그램에 로컬로 저장됩니다 — n8n에서 복호화할 때 동일한 값을 사용하세요.
- 확장 프로그램이
wss://cookieeditor.org/ws/n8n(개발:ws://localhost:3000/ws/n8n)에 WebSocket을 엽니다. - 서버가
ck_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx형식의 **client_key**를 반환합니다.

3단계: client_key 복사
연결에 성공하면 화면에 표시된 client_key를 복사합니다. n8n의 모든 API 요청에 사용하세요.
확장 프로그램의 Usage / View usage 탭에는 바로 사용할 수 있는 fetch, curl, n8n Function 예제가 포함되어 있습니다.
4단계: n8n에서 API 호출
HTTP Request node
Method: GET
URL: https://cookieeditor.org/api/n8n/cookies
Query:
client_key: {{ $env.COOKIE_EDITOR_CLIENT_KEY }}
url: https://example.com
curl
curl "https://cookieeditor.org/api/n8n/cookies?client_key=ck_YOUR_KEY&url=https://example.com"
fetch (JavaScript)
const res = await fetch(
"https://cookieeditor.org/api/n8n/cookies?client_key=ck_YOUR_KEY&url=https://example.com"
);
const json = await res.json();
// json.data = AES-encrypted cookie string
Success response
{
"success": true,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"client_key": "ck_...",
"url": "https://example.com",
"domain": "example.com",
"data": "U2FsdGVkX1+..."
}
5단계: n8n에서 복호화
HTTP Request 다음에 Function 노드를 추가합니다.
const CryptoJS = require('crypto-js');
const encrypted = $input.first().json.data;
const password = $env.COOKIE_EDITOR_PASSWORD; // same password as Connect
const decryptedBase64 = CryptoJS.AES.decrypt(encrypted, password)
.toString(CryptoJS.enc.Utf8);
if (!decryptedBase64) {
throw new Error('Decryption failed — wrong password?');
}
const cookies = JSON.parse(atob(decryptedBase64));
return cookies.map((cookie) => ({ json: cookie }));
필요하면 n8n에
crypto-js패키지를 설치하세요. 비밀번호는 확장 프로그램 연결 시 입력한 값과 일치해야 합니다.
n8n이 API를 호출할 때 일어나는 일
- n8n이
GET /api/n8n/cookies?client_key&url을 전송 - 서버가
client_key로 WebSocket 세션을 찾음 - 서버가 확장 프로그램에
{ type: "get_cookies", request_id, url }을 전송 - 확장 프로그램:
chrome.cookies.getAll({ url })→ AES 암호화 →cookies_result전송 - 서버가 암호화된
data를 n8n에 반환 - n8n이 비밀번호로 복호화
요청 기록
확장 프로그램은 n8n 탭에 최근 50건의 요청을 저장합니다(로컬만):
- 도메인, URL, 시간, 상태, 쿠키 수, 오류 메시지
- Clear history 버튼으로 기록 삭제

연결 해제
n8n 탭에서 Disconnect를 클릭:
- 확장 프로그램이
{ type: "disconnect" }를 전송하고 WebSocket을 닫음 - 서버가 세션을 제거 — 이전
client_key는 더 이상 작동하지 않음 - 연결 해제 설정에 따라 로컬 비밀번호가 지워질 수 있음
일반적인 오류
| API error | Cause |
|---|---|
client_not_found |
확장 프로그램이 연결되지 않았거나 이미 연결 해제됨 |
extension_timeout |
확장 프로그램이 30초 내에 응답하지 않음 |
extension_error |
해당 URL에 쿠키 없음, 또는 로컬 비밀번호 누락 |
| Decryption failed | n8n 비밀번호가 Connect 비밀번호와 다름 |
안정적 운영을 위한 요구 사항
- Chrome이 실행 중이고 확장 프로그램이 연결되어 있어야 함
- n8n 탭 또는 백그라운드 service worker가 WebSocket을 유지해야 함
- 요청의 URL에 브라우저에 쿠키가 있어야 함(해당 사이트를 방문한 적이 있어야 함)