Браузерный движок для обхода антибот-систем маркетплейсов
- Python 96.2%
- Shell 1.6%
- Dockerfile 1.2%
- Mako 1%
| migrations | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| alembic.ini | ||
| CHANGELOG.md | ||
| config.yaml | ||
| deploy.sh | ||
| docker-compose.prod.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| VERSION | ||
MP Browser v2026.5.26
Браузерный движок для обхода антибот-систем маркетплейсов (Wildberries, Ozon и др.). Имитирует поведение реального пользователя: хранит сессию, куки, делает задержки, прокидывает капчу оператору.
Возможности
- ✅ Обход антибот-системы WB — JS-челлендж проходит за 2-3 секунды
- ✅ Авторизация WB — полный цикл (телефон → push/SMS → код)
- ✅ Реалистичный User-Agent — эмуляция Chrome 148
- ✅ Cookie-менеджер — предзагрузка кук Яндекса, Дзена, WB
- ✅ Хранение сессий — автозагрузка и сохранение (файлы + PostgreSQL)
- ✅ Человеческие задержки — скролл, мышь, клики с рандомными паузами
- ✅ Детектор капчи — распознаёт captcha/антибот и делегирует оператору
- ✅ Прокси — поддержка BrightData, Proxy6 и любых HTTP/SOCKS5
- ✅ REST API — управление через HTTP (FastAPI)
- ✅ API Key auth — защита эндпоинтов
- ✅ PostgreSQL — логирование, хранение сессий, API-ключи
- ✅ Docker — готовый Dockerfile + docker-compose
Архитектура
FastAPI (API:8001) -> Browser Manager -> Playwright Chromium (channel=chromium)
|
Captcha Detector -> Telegram/API -> Оператор
|
Session Storage (FS + PostgreSQL)
Cookie Preloader (Yandex, Dzen, WB)
Behavior Emulator (scroll, mouse, delays)
Быстрый старт
# Клонировать
git clone https://git.isdata.tech/ciger3a/mp-browser.git
cd mp-browser
# Через Docker
cp .env.example .env # настроить окружение
docker compose up -d
# Или напрямую Python
pip install -r requirements.txt
playwright install chromium
python -m src.main
API (с API key)
Все запросы (кроме /status, /health) требуют заголовок:
X-API-Key: ваш_ключ
| Метод | Путь | Описание |
|---|---|---|
| GET | /status | Статус сервера |
| GET | /health | Health check |
| POST | /api/browser/open | Запустить браузер |
| POST | /api/browser/close | Закрыть браузер |
| POST | /api/navigate | Открыть URL (с ожиданием челленджа) |
| GET | /api/screenshot | Скриншот страницы |
| GET | /api/cookies | Получить куки |
| POST | /api/cookies/set | Установить куки |
| POST | /api/cookies/load | Загрузить предустановленные куки |
| POST | /api/captcha/solve | Отправить решение капчи |
| GET | /api/sessions | Список сохранённых сессий |
| POST | /api/plugins/wb/login | Логин на WB по телефону |
| POST | /api/plugins/wb/login/code | Отправить SMS-код |
| POST | /api/plugins/wb/product | Инфо о товаре WB |
| POST | /api/plugins/wb/search | Поиск товаров WB |
Конфигурация
См. config.yaml. Переменные окружения имеют приоритет.
Переменные окружения
| Переменная | По умолчанию | Описание |
|---|---|---|
| MP_BROWSER_API_KEY_ENABLED | false | Включить API key auth |
| MP_BROWSER_API_KEY_VALUE | — | Значение API ключа |
| MP_BROWSER_DB_HOST | 192.168.1.41 | Хост PostgreSQL |
| MP_BROWSER_DB_PORT | 5432 | Порт PostgreSQL |
| MP_BROWSER_DB_NAME | mp_browser | Имя БД |
| MP_BROWSER_DB_USER | mp_browser | Пользователь БД |
| MP_BROWSER_DB_PASSWORD | mp_browser_pass | Пароль БД |
Развёртывание
# Продакшен
docker compose -f docker-compose.prod.yml up -d --build
# Миграция БД
docker compose -f docker-compose.prod.yml exec mp-browser alembic upgrade head