Cookie EditorCookie Editor
Все руководства

Документация

Использование с n8n

Интеграция с n8n позволяет рабочим процессам получать cookies из браузера по HTTP — без ручного экспорта. Пароль шифрования хранится только в расширении; сервер никогда не получает его.

Архитектура

n8n ──HTTP GET──► Cookie Editor Server ──WebSocket──► Extension ──► chrome.cookies
                        │                                    │
                        └──── encrypted data ◄───────────────┘
n8n decrypts with the password you configured

Шаг 1: Открытие вкладки n8n

  1. Откройте боковую панель Cookie Editor.
  2. Нажмите значок n8n в правой боковой панели.
  3. Расширение откроет отдельную вкладку n8n.html.
Вкладка n8n — состояние отключения с кнопкой Connect
Вкладка n8n — состояние отключения с кнопкой Connect

Шаг 2: Подключение расширения к серверу

  1. Нажмите Connect.
  2. Предоставьте разрешения storage и alarms, если будет запрошено.
  3. Введите пароль шифрования в окне Connect.
    • Этот пароль не отправляется на сервер.
    • Он хранится локально в расширении — используйте то же значение при расшифровке в n8n.
  4. Расширение открывает WebSocket к wss://cookieeditor.org/ws/n8n (dev: ws://localhost:3000/ws/n8n).
  5. Сервер возвращает client_key вида ck_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Подключённая вкладка n8n — отображается client_key, кнопки Disconnect и View usage
Подключённая вкладка n8n — отображается client_key, кнопки Disconnect и View usage

Шаг 3: Копирование client_key

После успешного подключения скопируйте client_key, отображаемый на экране. Используйте его в каждом API-запросе из n8n.

Вкладка Usage / View usage в расширении содержит готовые примеры fetch, curl и n8n Function.

Шаг 4: Вызов API из n8n

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

Добавьте узел Function после HTTP Request:

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 }));

При необходимости установите пакет crypto-js в n8n. Пароль должен совпадать с тем, что вы ввели при подключении расширения.

Что происходит при вызове API из n8n

  1. n8n отправляет GET /api/n8n/cookies?client_key&url
  2. Сервер находит WebSocket-сессию по client_key
  3. Сервер отправляет { type: "get_cookies", request_id, url } в расширение
  4. Расширение: chrome.cookies.getAll({ url }) → AES encrypt → отправляет cookies_result
  5. Сервер возвращает зашифрованные data в n8n
  6. n8n расшифровывает с вашим паролем

История запросов

Расширение сохраняет до 50 последних запросов на вкладке n8n (только локально):

  • Домен, URL, время, статус, количество cookies, сообщение об ошибке
  • Очистка истории кнопкой Clear history
Таблица истории запросов на вкладке n8n — domain, url, status, cookie count
Таблица истории запросов на вкладке n8n — domain, url, status, cookie count

Отключение

Нажмите Disconnect на вкладке n8n:

  • Расширение отправляет { type: "disconnect" } и закрывает WebSocket
  • Сервер удаляет сессию — старый client_key перестаёт работать
  • Локальный пароль может быть очищен в зависимости от настроек отключения

Типичные ошибки

API error Причина
client_not_found Расширение не подключено или уже отключено
extension_timeout Расширение не ответило в течение 30 секунд
extension_error Нет cookies для этого URL или отсутствует локальный пароль
Decryption failed Пароль в n8n отличается от пароля Connect

Требования для стабильной работы

  • Chrome должен работать с подключённым расширением
  • Вкладка n8n или фоновый service worker должны поддерживать WebSocket
  • URL в запросе должен иметь cookies в браузере (вы должны посетить этот сайт)

Следующие шаги