Afina

Скачать приложение

AppleWindows
RU

API автоматизации антидетект-браузера Afina

Управляйте Afina через документированный локальный HTTP API на 127.0.0.1:50778 — запускайте профили, RPA-скрипты, прокси и cookies, подключайте Puppeteer или Playwright по возвращаемому CDP WebSocket. Один антидетект-браузер, один API, предсказуемое поведение на масштабе.

API автоматизации антидетект-браузера Afina
Локальный API • CDP • RPA

Автоматизируйте рутину прямо в антидетект-браузере

Мультиаккаунтные процессы разваливаются, когда антидетект, автоматизация и очередь живут в разных инструментах. Afina даёт локальный HTTP API, движок RPA-скриптов, визуальный холст сценариев и планировщик задач в одной платформе — и отдаёт CDP WebSocket, чтобы Puppeteer и Playwright продолжали работать поверх изолированных профилей с реальным fingerprint'ом.

Локальный HTTP API

Локальный сервер на 127.0.0.1:50778 управляет профилями, прокси, cookies, скриптами и задачами. Авторизация по x-api-key — принимаются только localhost-origin'ы.

CDP WebSocket attach

POST /api/profiles/start возвращает wsEndpoint, который можно подключить напрямую к Puppeteer или Playwright — полный devtools-доступ к реальному изолированному профилю.

RPA-скрипты и визуальные сценарии

Собирайте сценарии на drag-and-drop холсте или запускайте JS-модули через executeModule. Дёргайте их из своего кода через POST /api/scripts/run и стримьте лог.

Одноразовые профили

POST /api/profiles/one-time создаёт свежий профиль с уникальным fingerprint'ом и сам удаляет его, как только браузер останавливается — идеально для скрейпинга и изолированных проверок.

# Запустить профиль и получить CDP WebSocket
curl -X POST http://127.0.0.1:50778/api/profiles/start \
  -H "x-api-key: $AFINA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileId":"1d64f838-a1b8-47de-8a3f-9cebf859c375"}'

# Ответ
{
  "msg": "success",
  "wsEndpoint": "ws://127.0.0.1:9223/devtools/browser/abcd-...",
  "data": { "port": 9223 }
}

FAQs

Afina открывает локальный HTTP API на 127.0.0.1:50778 — через него управляются все объекты десктоп-приложения: профили, сессии, прокси, cookies, RPA-скрипты, модули и группы задач. Запросы авторизуются заголовком x-api-key и принимаются только с localhost-origin'ов. Ваш код управляет антидетект-браузером напрямую, без хрупкого скрейпинга UI.

Сервер стартует автоматически при запуске Afina. Base URL — http://127.0.0.1:50778 (если порт занят, приложение пробует следующие). API key выдаётся в Settings → General → API key прямо в Afina и передаётся в каждом запросе заголовком x-api-key: YOUR_KEY. Без ключа соединение тихо закрывается; CORS принимает только http://localhost, http://127.0.0.1 и tauri:// origin'ы.

Да. POST /api/profiles/start возвращает wsEndpoint вида ws://127.0.0.1:9223/devtools/browser/... — передавайте его в puppeteer.connect({ browserWSEndpoint }) или chromium.connectOverCDP() и получаете полный DevTools-доступ к реальному изолированному профилю с правильным fingerprint'ом и прокси.

POST /api/scripts/run с { profileId, scriptId } запускает скрипт и сразу возвращает task uuid. Текстовый лог можно стримить через GET /api/scripts/run-logs?uuid=… пока скрипт работает. Для расписаний и пачек запусков используйте группы задач (POST /api/task-groups/create) и tasks — Afina сама держит очередь, лимит параллелизма, окно по времени и повторы.

POST /api/profiles/one-time создаёт профиль со свежим fingerprint'ом, запускает браузер и возвращает wsEndpoint — а как только браузер останавливается (вручную, через stop-эндпоинт или browser.close из Puppeteer), Afina сама полностью удаляет профиль, файлы и серверную запись. Идеально для скрейпинга, изолированных проверок и одноразовых аккаунтов, которые не нужно поддерживать.

Работают оба варианта. В Afina есть визуальный холст сценариев — клики, переходы, ожидания, ветвления и работа с данными собираются drag-and-drop, поэтому аналитик или ops-инженер может выпустить автоматизацию без кода. Нужен максимум контроля — переходите во встроенный движок скриптов и пишите на JavaScript или вызывайте Node.js-модули через executeModule.

Да. Группы задач планируют и выполняют запуски на сотнях профилей одновременно с явными лимитами (activeSession, timeout, окно времени, repeatCount). Профили можно группировать по кейсам или клиентам и доставать через GET /api/profiles/list. Живые логи и статус каждой задачи (waiting / working / finished / error / stop) делают батч полностью наблюдаемым.

Puppeteer и Playwright управляют обычным Chromium — там нет изолированных профилей, реальных fingerprint'ов, многоаккаунтной работы с сессиями, встроенного хранилища прокси и cookies. Afina даёт эти примитивы из коробки и отдаёт их через один API + CDP WebSocket: ваш любимый инструмент продолжает работать, а каждый аккаунт выглядит как отдельное реальное устройство.

Начните автоматизировать за минуты

Поднимите изолированные профили, обратитесь к локальному API и запустите первый сценарий уже сегодня — в том же браузере, которым пользуется ваша команда.

Локальный API и автоматизация браузера | Afina