# ShardX Launcher

<mark style="color:purple;">**ShardX Browser**</mark> - наш антидетект-браузер: создавайте профили с уникальными отпечатками (fingerprint), привязывайте к каждому прокси и работайте с десятками аккаунтов как разные люди на разных устройствах. Поверх ручного режима есть локальное **API автоматизации** для Puppeteer / Playwright.

## Скачать и установить

Пошаговая инструкция по установке, настройке прокси и созданию первого профиля:

{% content-ref url="/pages/2qBtdbLzQCc8SAPawHsa" %}
[ShardX Launcher](/proxyshard/instrukciya-po-ispolzovaniyu/shardx-browser.md)
{% endcontent-ref %}

#### Что умеет ShardX:

* Генерирует уникальные отпечатки под <mark style="color:purple;">Windows</mark>, <mark style="color:purple;">macOS</mark> и <mark style="color:purple;">Linux</mark> (navigator, screen, client hints, WebGL / WebGPU и т.д.)
* Шум по отдельным векторам: <mark style="color:purple;">canvas, WebGL, audio, client rects, шрифты, сенсоры</mark>
* Неограниченное число профилей с раскладкой по папкам
* Привязка прокси к профилю (<mark style="color:purple;">SOCKS5 / HTTP / HTTPS</mark>) с автотестом при добавлении
* Локальное **HTTP API** для полной автоматизации
* Управление через **CDP** (Chrome DevTools Protocol) - Puppeteer, Playwright и аналоги
* Экспорт и импорт cookies между профилями
* Отдельный **MCP-сервер**, чтобы профилем мог управлять ИИ-агент

## Отпечатки и анти-детект

Для каждого профиля ShardX подставляет согласованный набор параметров: User-Agent, платформу, число ядер и объём памяти (никогда не больше, чем у реальной машины), разрешение экрана, Sec-CH-UA и прочее. Сверху накладывается **шум** по отдельным векторам - canvas, WebGL, audio, client rects, шрифты, сенсоры. Каждый блок шума включается независимо, так что отпечаток профиля стабилен внутри сессий, но отличается от других профилей и от вашего реального устройства.

{% hint style="info" %}
Отпечаток генерируется уникальным и не привязан к железу: число ядер CPU и объём RAM подгоняются под хост и не завышаются, экран обрезается под реальный дисплей. Это снижает риск детекта на нестыковках.
{% endhint %}

## Прокси, QUIC и WebRTC

ShardX особенно хорошо работает в связке с нашими прокси. При **каждом** запуске профиля, ещё до старта браузера, привязанный прокси вживую проверяется на поддержку UDP-relay (SOCKS5 UDP\_ASSOCIATE):

* если UDP работает - включается <mark style="color:purple;">QUIC</mark>, а WebRTC ходит через проксированный UDP-relay;
* если UDP недоступен - QUIC отключается, а WebRTC принудительно переводится в режим **TCP-only**, чтобы реальный IP не утёк.

Поля часового пояса, локали и геолокации в режиме `auto` тоже подтягиваются вживую через прокси прямо на запуске.

{% hint style="success" %}
Связка ShardX + наши [**прокси с поддержкой UDP**](/proxyshard/nashi-produkty/about-udp.md) закрывает утечку WebRTC на уровне браузера: UDP-трафик идёт через прокси, а не напрямую с вашего IP. Подробнее про саму проблему - в разделе [**О протоколе UDP**](/proxyshard/nashi-produkty/about-udp.md).
{% endhint %}

## Автоматизация: локальное API

Внутри приложения поднимается локальный HTTP-сервер на <mark style="color:purple;">**127.0.0.1**</mark> (порт по умолчанию **40325**, меняется в *Settings → Automation API*). Снаружи он недоступен - только с вашей машины.

Все запросы, кроме `GET /health`, требуют **Bearer-токен** (постоянный JWT из настроек):

```
Authorization: Bearer <token>
```

Кнопка **Regenerate token** в настройках мгновенно меняет секрет: новый токен начинает работать сразу, а все старые перестают действовать.

Типичный сценарий автоматизации:

1. `GET /fingerprint/new/{platform}` - получить готовый уникальный отпечаток (без сохранения).
2. При желании - подправить отпечаток (например, включить шум по шрифтам или сменить режим WebRTC).
3. `POST /profiles` - создать профиль с этим отпечатком (сохраняется как есть, без повторной рандомизации) и привязать прокси.
4. `POST /profiles/{id}/start` - запустить профиль и получить **CDP-эндпоинт**.
5. Подключиться к нему как `browserWSEndpoint = cdp.web_socket_debugger_url` в Puppeteer / Playwright.
6. `POST /profiles/{id}/stop` - закрыть профиль.

{% hint style="info" %}
**Временные профили.** `POST /profiles/temporary` создаёт профиль с флагом `temporary`: он скрыт из общего списка и в интерфейсе, а после закрытия браузера удаляется автоматически (вместе с папкой данных). Удобно для одноразовых задач.
{% endhint %}

Полное описание всех методов (профили, отпечатки, прокси, папки, cookies, запуск / остановка) с моделями данных и примерами смотрите в справочнике [**ShardX Launcher API**](/proxyshard/shardx-launcher-api/binding-and-lifecycle.md)

## MCP-сервер для ИИ-агентов

В комплекте идёт отдельный **MCP-сервер** (Model Context Protocol): он позволяет ИИ-клиенту управлять лаунчером через это же API, а самим браузером профиля - по CDP. Это отдельный Node-процесс, не часть HTTP API.

Скачать его можно прямо из лаунчера (*Settings → MCP server → Download MCP server*). Настраивается двумя переменными: `SHARDX_API` (базовый URL API) и `SHARDX_TOKEN` (тот самый Bearer-токен). MCP-сервер даёт:

* **API-инструменты** - тонкие обёртки над методами лаунчера (профили, отпечатки, прокси, папки, cookies, запуск / остановка);
* **браузерные инструменты** поверх CDP - навигация, выполнение JS, скриншоты, клики, ввод текста, работа со вкладками и ожидания.

{% hint style="warning" %}
CDP (remote-debugging) включается **только** при запуске профиля через API. Запуски из интерфейса остаются без отладочного порта - так анти-детект не страдает.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.proxyshard.com/proxyshard/nashi-produkty/shardx-launcher.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
