Дашборд
Дашборд — это место, где вы открываете и настраиваете прокси-порты, управляете идентичностями и шлюзами, а также запускаете пакетные задачи. Этот обзор проведёт вас по каждой вкладке и каждому диалоговому окну.
Вход в систему
Откройте http://127.0.0.1:8891. Если задан пароль, сначала потребуется войти. Язык интерфейса (английский, русский, китайский) можно переключить в шапке в любой момент.

Вкладка «Обзор»
Вкладка «Обзор» — главная страница дашборда. Вверху карточки показывают открытые порты, ваш лимит портов, общий тайм-аут простоя и число версий браузеров в базе профилей. Ниже — карточка Challenge Breaker с занятыми процессами решателя, строка проверки утечек и таблица всех открытых портов.

В каждой строке показан номер порта (с кнопкой копирования адреса прокси в один клик), протокол, текущая идентичность, режим, фильтр браузера, вышестоящий прокси и активные флаги функций. Нажмите на строку, чтобы развернуть её и изменить настройки этого порта — режим идентичности, браузер и ОС, вышестоящий прокси и цепочку, подмену заголовков/HTTP-2 и таймаут простоя — либо чтобы сменить идентичность, запустить тест, просмотреть профиль или закрыть порт.
- + Открыть порт — открывает один новый прокси-порт.
- + Пул портов — открывает пакет портов за один раз.
- 🔬 Debug-порт — открывает порт, который вдобавок запоминает снимок каждого рукопожатия.
- Поле поиска фильтрует таблицу по номеру порта; при большом числе портов появляется селектор размера страницы.
Карточка Challenge Breaker
Карточка не только показывает — из неё настраивают размер пула решателя. Ползунок «Процессы Challenge Breaker» с кнопкой «Применить» задаёт, сколько браузерных процессов решателю разрешено держать одновременно; значение применяется без перезапуска и переживает его.
- Потолок задаётся лицензией. Запрос сверх потолка отвергается ответом 409 — это не сбой, а предел тарифа; сам потолок виден полем js_solver_max_procs в ответе GET /api/v1/license/status.
- Уменьшать размер пула осмысленно: каждый процесс решателя занимает память и процессор, и на слабой машине меньший пул работает ровнее большого.
- Если значение не задавать, действует потолок лицензии — выделять процессы вручную не обязательно.
- Рядом — очередь решателя: сколько задач ждёт и сколько решается прямо сейчас. Это единственное место, где видно, что задачи КОПЯТСЯ, а не решаются.
Открытие порта
Диалог открытия порта начинается с трёх быстрых пресетов, чтобы вы могли приступить к работе в один клик:
- Браузер — для управления реальным браузером через порт. Он сопоставляет и нормализует собственный отпечаток браузера.
- HTTP-клиент — для скриптов и HTTP-библиотек. Он назначает и представляет полную, согласованную браузерную идентичность.
- MTProto — для клиентов Telegram и сервисов, говорящих по MTProto.

Свободный порт предлагается автоматически — из диапазона 20000–29999. Вы можете выбрать протокол (SOCKS5, HTTP или MTProto), задать вышестоящий прокси или сохранённый шлюз, добавить первый хоп и выбрать способ выбора идентичности. Предварительные проверки позволяют протестировать вышестоящий прокси и обнаружить утечки DNS/IPv6 до того, как порт будет открыт.
Диалог открывается в простом виде: остальное пресет уже заполнил. Переключатель «Расширенные» в шапке диалога показывает каждую настройку — режим выбора идентичности (auto, db, random, specific и custom, то есть импорт отпечатка настоящего браузера), разделы «Сеть и транспорт» (VDNS, свои резолверы, HTTP/3, Force IPv4) и «Дополнительно» (кэш, журнал трафика, параллельность, тайм-ауты, защита от утечек, поведение туннеля), область перехвата и поля MTProto — домен-камуфляж, секрет, режим выхода и ссылку tg:// с QR-кодом после открытия порта. Выбор запоминается и действует также в диалоге пула портов.

Отладочный порт
Отладочный порт отвечает на вопрос «чем моё соединение выглядит со стороны». Он работает как обычный, но вдобавок запоминает снимок каждого рукопожатия: TLS, ALPN, порядок расширений, параметры HTTP/2. Открывается кнопкой «Debug-порт» на вкладке «Обзор».

- Откройте отладочный порт и укажите его приложению как обычный прокси.
- Сделайте один запрос — снимок появится в счётчике порта.
- Откройте снимки и сверьте отпечаток с тем, который ожидаете от выбранного профиля.
Приложение, которое не умеет прокси
У отладочного порта два источника трафика. «Через этот порт» — приложение само настроено на него как на обычный прокси. «Забрать у приложения (TUN)» — трафик выбранной программы берётся из системы и заводится во вход этого же порта; настраивать в программе ничего не нужно. Второй путь и есть ответ на самый частый вопрос: «моя программа не умеет прокси — как посмотреть её отпечаток».
- Область здесь всегда «выбранное приложение»: отпечаток снимают С ПРОГРАММЫ, и выбора «вся система» у отладочного порта нет вовсе.
- QUIC тоже снимается: его ClientHello читается из первых пакетов, а сами датаграммы идут своим путём, поэтому приложение продолжает работать. В ленте такой отпечаток помечен состоянием quic.
- Источник TUN опирается на ту же привилегированную службу, что и обычный перехват: если её нет, выбор погашен и форма честно об этом говорит.
- Размер кольца снимков задаётся при открытии полем debug_capture_n, по умолчанию 500; переполнение вытесняет самые старые.
Вкладка «Конфигурации VPN»
Вкладка «Конфигурации VPN» управляет сохранёнными шлюзами: файлами OpenVPN (.ovpn) и подписками, из которых берутся выходы VLESS, VMess, Trojan, Shadowsocks, Hysteria2 и WireGuard. Добавьте шлюз здесь один раз, а затем выбирайте его по имени при открытии портов или построении маршрутов. Обычные прокси SOCKS5 и HTTP шлюзами не становятся: их задают порту полем upstream (или chain_proxy), а узлы SOCKS и HTTP из подписки пропускаются как неподдержанные.

Добавить шлюз можно тремя способами, и первый — самый быстрый: вставить ОДНУ ССЫЛКУ. Понимаются vless://, trojan://, ss://, vmess:// и hysteria2://. Второй способ — файл конфигурации OpenVPN или WireGuard, третий — подписка, которая приносит сразу много серверов.
- Подписка обновляется по расписанию, и интервал настраивается там же; кнопка обновления рядом перечитывает её немедленно, не дожидаясь срока.
- У каждого шлюза есть проверка задержки: она показывает, сколько миллисекунд идёт отклик, — прежде чем вешать на шлюз рабочий порт, стоит нажать её.
- Шлюз можно пустить ЧЕРЕЗ другой шлюз (поле via): так собирается цепочка из двух туннелей.
- Удалить шлюз, назначенный живому порту, не получится — сначала освободите порт. Так же защищён и шлюз, через который выходит другой.
Вкладка «Пресеты»
Пресеты позволяют сохранять конфигурации портов и повторно применять их позже. Организуйте их в папки перетаскиванием, сохраняйте все открытые порты или выбранные, а затем при необходимости загружайте пресет на порт.

Вкладка «Маршрутизация по доменам»
Правила маршрутизации по доменам направляют определённые домены через другой вышестоящий прокси или шлюз либо применяют для них другие настройки. У каждого правила есть имя, список сопоставителей доменов, маршрут и необязательное переопределение подмены. Правила применяются по порядку и сохраняются автоматически.

Пул портов
Пул портов (кнопка + Пул портов на вкладке «Обзор») открывает пул портов из списка прокси для крупных параллельных задач. Укажите список прокси (загрузите снимок или укажите путь к файлу), выберите набор устройств и другие параметры, а затем откройте пул. Запущенные пулы отображаются на вкладке «Обзор», где можно наблюдать за прогрессом и останавливать их.
Это удобно подходит для скраперов, парсеров, постеров и подобных систем автоматизации: он предоставляет каждому из них идентичность сетевых запросов реального браузера без изменений кода и без глубокой интеграции в ваше приложение — вы просто направляете инструмент на порт из пула.

Перехват системного трафика и проверка утечек
Не всякое приложение умеет ходить через прокси: у одних нет настроек вовсе, другие заявляют поддержку, но часть трафика всё равно отправляют мимо. Перехват решает первое, проверка утечек показывает второе.
Перехват включается на порту, и приложению ничего настраивать не нужно: профиль применяется к нему так же, как к тем, кто ходит через прокси сам.
- Системный перехват держится только на ОДНОМ порту: второй такой порт открыть не удастся, пока первый жив.
- Область перехвата задаётся при открытии порта и на живом порту не меняется — закройте и откройте заново.
- Приложение, которое проверяет сертификат сервера по отпечатку (пиннинг), на перехваченном порту сломается: оно увидит наш сертификат вместо ожидаемого.
- Приложение, которому прокси уже прописан руками, перехватом не заберётся: оно и так идёт по адресу порта.
Проверка утечек наблюдает за выбранными программами и записывает всё, что они отправляют мимо своего порта. Такой трафик — утечка по определению: профиль на него не действует. Наблюдать — трафик проходит, события записываются; глушить — то, что идёт мимо, обрывается.
- Перехват системного трафикаЧто служба делает с машиной, когда ставится, чем отличаются области и что означают её состояния.
Разрешение имён и защита от утечек
Проверка утечек показывает беду, а эти настройки её закрывают. Главная из них — виртуальный DNS: запрос имени уходит ЧЕРЕЗ тот же туннель, что и сам трафик, поэтому имя цели не попадает в DNS вашей сети и провайдер не видит, куда вы идёте.
| Настройка | По умолчанию | Что делает |
|---|---|---|
vdns_mode | off | off — имена резолвит система, как обычно; on_leak — виртуальный DNS включается, когда предстартовая проверка нашла утечку; forced — всегда. Виртуальный DNS входит в тарифы Standard и выше: на Lite порт открывается с выключенным vdns. |
resolver_strategy | auto | auto — резолверы подбираются сами; custom — берутся из списка custom_resolvers. |
custom_resolvers | — | Свой список резолверов в виде host:port для стратегии custom. |
ecs_enabled | true | Передавать подсеть ВЫХОДА в запросе DNS. Без этого CDN отдаёт географию не того региона, и сайт видит несоответствие адреса и ответа. |
vdns_strict_bypass | false | Строгий обход: наружу уходит только IP-адрес, имя хоста не покидает машину ни при каких условиях. При неудаче резолва соединение не состоится. |
leak_guard | — | Предстартовая проверка утечек DNS и IPv6: off, warn (открыть порт, но предупредить) или enforce (не открывать порт, если течёт). |
egress_force_ipv4 | true | Выходить только по IPv4. Включено по умолчанию: IPv6 — самый частый путь утечки мимо туннеля. |
block_private_targets | true | Отказывать в соединениях на частные, локальные и CGNAT-адреса. Включено по умолчанию — иначе прокси становится картой вашей локальной сети для того, кто им пользуется. |
require_udp_dns | false | Не открывать порт вовсе, если выход не доказал, что умеет проносить UDP. Требует vdns_mode on_leak или forced. Без UDP не работают ни виртуальный DNS, ни HTTP/3. |
Все девять настроек задаются при открытии порта (POST /api/v1/ports/open) и меняются на живом порте через PUT /api/v1/port/{port}/config — отдельных ручек у них нет.
Кэш ответов
Кэш нужен там, где за трафик платят гигабайтами: повторно скачанная картинка или скрипт стоит денег каждый раз. Включается он на порт, и режимов у него четыре — не два.
| Режим | Что кладётся в кэш |
|---|---|
normal | Обычный кэш: живёт, пока работает приложение, слушается заголовков ответа и перепроверяет устаревшее. |
hard | Жёсткий кэш: переживает перезапуск и не перепроверяет ничего. Поэтому изменчивые ответы в него не пускаются вовсе. |
hard-media | Жёсткий кэш только для картинок, шрифтов, аудио и видео. |
hard-autowarm | Жёсткий кэш, который сам учится: адрес принимается, когда три ответа подряд оказались одинаковыми, то есть содержимое доказало, что оно статическое. |
Отдельно настраивается кэширование вопреки заголовку no-cache (cache_ignore_no_cache) и список исключений — домены, которые кэш обходит стороной. Сколько кэш уже сэкономил, видно в ответе GET /api/v1/port/{port}/cache полем saved_bytes.
Журналы: где искать
Журналов два, и они про разное. Журнал приложения отвечает на вопрос «что случилось с продуктом», журнал запросов порта — на вопрос «что именно ушло в сеть».
Журнал приложения
Лежит рядом с приложением, в data/proxy.log, и ротируется по размеру — старое уезжает в proxy.log.1. Подробность меняется на лету: PUT /api/v1/log_level с телом {"level":"debug"} на время разбирательства и обратно на info после. В Linux то же самое видно через journalctl.
Журнал запросов порта
Включается переключателем «Журнал трафика» в диалоге открытия порта — раздел «Дополнительно», он появляется при включённом переключателе «Расширенные», — или ручкой PUT /api/v1/port/{port}/traffic_log. Пишет по строке JSON на каждый запрос — время, метод, хост, путь, код ответа, размер тела и вердикт кэша (попадание, промах, исключено), — в файл data/traffic_port_<порт>.jsonl. Скачивается ручкой /traffic_log/download, очищается DELETE.
Настройки
Диалог настроек (шестерёнка в шапке) собирает всё, что относится к самому приложению: пароль дашборда, API-ключ для программных вызовов, доступ к панели из локальной сети, внешний адрес этой машины и требование авторизации на прокси-портах. Внешний адрес нужен только тогда, когда к этой машине ходят из ДРУГОЙ сети: он уезжает в адрес списка отзыва, который стоит в каждом сертификате, выпускаемом прокси. Клиент обязан суметь забрать этот список, иначе Windows откажется соединяться. Задаётся host или host:port (за NAT внешний порт может не совпадать с внутренним), и роутер обязан пробрасывать ПОРТ ПАНЕЛИ — там живёт ручка /crl, — а не только прокси-порт. На адреса, по которым виден сам прокси, это поле не влияет: они складываются из хоста, по которому открыта панель, и номера порта. Ключ настройки называется crl_public_host, и записанный адрес живёт в каждом выпущенном сертификате год. Оставьте поле пустым, если к прокси ходят только с этой машины или из локальной сети.

Корневой сертификат
Кнопка «Сертификат CA» в шапке открывает пошаговые инструкции по доверию корневому сертификату на каждой платформе, а также прямые ссылки для скачивания. Установите его на каждом устройстве, которое подключается через прокси, чтобы HTTPS работал без предупреждений.
