ProxyProfiles — менеджер профилей Chrome с отдельным прокси для каждого профиля
ProxyProfiles — настольное приложение для Windows 10/11 (x64), которое помогает вести много аккаунтов соцсетей (Instagram, TikTok, Facebook, X/Twitter, VK и т.д.): у каждого профиля своя папка Chrome (cookies, история, расширения), свой прокси и свой набор параметров отпечатка браузера.
Версия 1.5 — вход по логину и паролю, база пользователей (SQLite) с ролями, сброс пароля без потери данных, код восстановления (раздел «Новое в версии 1.5.0»).
Версия 1.3 — шифрование данных мастер-паролем, учёт трафика и ROI (Keitaro/Binom/CSV), креативы, контент-план с автопостингом в YouTube и TikTok, здоровье аккаунтов, аренда и ротация прокси, командный режим (раздел 13).
Версия 1.2 — встроенные алгоритмы прогрева с анкетой ниши (раздел 6), импорт аккаунтов, cookies и 2FA (раздел 7), загрузка видео на YouTube (раздел 8), уведомления в Telegram (раздел 9). Это не полноценный антидетект-браузер уровня Octo/Dolphin/AdsPower (подробнее — в разделе «Ограничения»).
1. Установка и запуск
Нужен установленный Google Chrome (обычный, стабильный). Приложение использует ваш Chrome, а не свой встроенный браузер.
Скачать последнюю версию: https://pp.46-8-225-60.sslip.io/download.html (установщик, полный архив с инструкциями и курсом, портативная версия; у каждого файла указан SHA-256). (Зеркало, если основной сайт недоступен: https://proxyprofiles.vercel.app/download.html)
Вариант А — установщик (рекомендуется)
- Запустите
ProxyProfiles-Setup-<версия>-x64.exe. - Выберите папку установки → «Установить». Создаются ярлыки в меню «Пуск» и на рабочем столе. Новая версия ставится поверх старой, данные сохраняются.
- Windows SmartScreen может предупредить о неизвестном издателе (установщик не подписан) — нажмите «Подробнее» → «Выполнить в любом случае».
Вариант Б — портативная версия (zip)
- Распакуйте
ProxyProfiles-<версия>-portable-win-x64.zipв любую папку (например,D:\ProxyProfiles). - Запустите
ProxyProfiles.exe.
Chrome ищется автоматически:
C:\Program Files\Google\Chrome\Application\chrome.exeC:\Program Files (x86)\Google\Chrome\Application\chrome.exe%LOCALAPPDATA%\Google\Chrome\Application\chrome.exe
Если Chrome стоит в другом месте, укажите путь в Настройки → Google Chrome → Обзор….
Где хранятся данные: %APPDATA%\ProxyProfiles\
data.json— профили, прокси, теги, настройки;profiles\<id>\— папки Chrome (user-data-dir) для каждого профиля;logs\warmup\<ГГГГ-ММ-ДД>\<id запуска>.json— журналы прогрева (каждый шаг: время, действие, результат).
При удалении программы эти данные не удаляются.
1а. Аккаунт ProxyProfiles и тарифы (1.6)
С 1.6.1 программа открывается только через аккаунт ProxyProfiles: при запуске экран «Вход / Регистрация» (логин, пароль, почта или Telegram по желанию). Локальный администратор больше не создаётся, роль берётся из облачного аккаунта. Пароль аккаунта открывает и локальные зашифрованные данные; если данные были под старым паролем, его попросят один раз и данные перейдут на пароль аккаунта. Новый аккаунт получает тариф Free.
| Тариф | Профили | Прогрев | Загрузки, «Выход из тени» | Команда и роли |
|---|---|---|---|---|
| Free | 2 | нет | нет | нет |
| Lite | 20 | да | нет | нет |
| Pro | 100 | да | да | нет |
| Premium | без ограничений | да | да | да |
Тариф и срок видны внизу боковой панели и в «Настройки → Подписка» (кнопки «Проверить тариф» и «Выйти из аккаунта»). Программа проверяет тариф при запуске и каждые 30 минут. Без интернета последний проверенный тариф действует 3 дня, затем до проверки действует Free. Истёк срок: действует Free, данные не удаляются. Тарифы выдаёт администратор в веб-админке (раздел «Клиенты»).
2. Быстрый старт
- Прокси → «Добавить / импорт»: вставьте прокси, по одному в строке, → «Добавить». Отметьте «Сразу проверить».
- Профили → «Массовое создание»: например, 10 профилей с тегом «Instagram», режим прокси «Распределить сохранённые прокси». У каждого профиля будет свой прокси и свой случайный отпечаток.
- Нажмите ▶ Запустить у профиля. Сначала прокси проверяется. Если проверка прошла, откроется окно Chrome, которое работает только через этот прокси.
- ■ Стоп или просто закройте окно Chrome. Локальный форвардер прокси при этом тоже закрывается.
Как добавить прокси к одному профилю
Откройте профиль (клик по названию) → вкладка «Прокси»:
- Из списка прокси — выбрать сохранённый прокси;
- Свой прокси — вставить строку в поле (она распознаётся автоматически) или заполнить поля «Тип / Хост / Порт / Логин / Пароль». Кнопка «💾 В список прокси» сохраняет его в общий список;
- Без прокси — прямое подключение (по умолчанию такой запуск запрещён, см. Настройки).
Кнопка «⟳ Проверить прокси» показывает внешний IP, страну, город, часовой пояс, провайдера и задержку. Результат сохраняется в профиле и в списке прокси.
Массовые действия
Отметьте профили галочками. Появится панель: Запустить, Остановить, Назначить прокси (один на всех / распределить по одному / убрать), Тег (добавить/убрать), Проверить прокси, Удалить. Есть поиск, фильтр по тегу и по статусу.
На странице «Прокси» выбранные прокси можно проверить, назначить отмеченным профилям (по кругу), удалить, или создать по профилю на каждый прокси.
Импорт существующего профиля Chrome
Профили → «Импорт папки Chrome» → выберите папку User Data (обычно %LOCALAPPDATA%\Google\Chrome\User Data) или папку конкретного профиля (Default, Profile 1…):
- Скопировать (рекомендуется): данные копируются в папку приложения, кэш не копируется;
- Использовать на месте: Chrome запускается прямо с этой папкой. Эту папку нельзя одновременно открывать в обычном Chrome.
Перед импортом закройте обычный Chrome.
Cookies
В меню профиля (⋯): Экспорт cookies (JSON / Netscape) и Импорт cookies. Профиль для этого должен быть запущен. JSON совместим с расширениями Cookie-Editor / EditThisCookie.
3. Поддерживаемые форматы прокси
Типы: HTTP, HTTPS, SOCKS5, SOCKS4. Если в строке нет схемы, используется «тип по умолчанию».
| Формат | Пример |
|---|---|
host:port |
185.10.10.10:8000 |
host:port:user:pass |
185.10.10.10:8000:login:password |
user:pass@host:port |
login:password@185.10.10.10:8000 |
user:pass:host:port |
login:password:185.10.10.10:8000 |
host:port@user:pass |
185.10.10.10:8000@login:password |
схема://user:pass@host:port |
socks5://login:password@91.200.1.2:1080 |
схема://host:port:user:pass |
http://185.10.10.10:8000:login:password |
| через пробел | 185.10.10.10 8000 login password |
| IPv6 | [2001:db8::1]:8080, user:pass@[2001:db8::1]:8080 |
Схемы: http, https, socks5, socks5h, socks, socks4, socks4a. Логин и пароль могут быть URL-кодированы (%40 = @). В пароле можно использовать : (формат host:port:user:pass). Строки, начинающиеся с #, пропускаются. При импорте дубли не добавляются.
4. Строгий режим прокси: что гарантируется
Chrome не умеет передавать логин и пароль прокси через --proxy-server. Поэтому для каждого запущенного профиля приложение поднимает локальный форвардер на 127.0.0.1:<случайный порт> без авторизации, а он пересылает трафик на ваш прокси уже с логином и паролем. Chrome подключается только к этому форвардеру.
Гарантии:
- Профиль с прокси никогда не запускается без прокси. Перед каждым запуском прокси проверяется через тот же форвардер, который получит Chrome. Если проверка не прошла (неверный логин/пароль, прокси не отвечает, таймаут), появляется ошибка, и Chrome не запускается.
- У форвардера нет прямого выхода в интернет. Любой запрос идёт только через ваш прокси. Если прокси «упал» во время работы, страницы перестают загружаться: они не откроются напрямую с вашего IP.
- Chrome запускается с флагами:
--proxy-server=http://127.0.0.1:<порт>и--proxy-bypass-list=<-loopback>: в обход прокси не идёт ничего, даже localhost;--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE 127.0.0.1": локальные DNS-запросы запрещены, имена сайтов разрешаются на стороне прокси (защита от DNS-утечек);--force-webrtc-ip-handling-policy=disable_non_proxied_udpи--webrtc-ip-handling-policy=disable_non_proxied_udp, а также те же настройки в Preferences профиля: WebRTC не может отправить UDP мимо прокси и раскрыть ваш реальный IP;--disable-quic,--no-first-run,--no-default-browser-check,--user-data-dir=<папка профиля>,--lang,--accept-lang,--window-size.
- Когда закрывается последнее окно Chrome или нажата кнопка «Стоп», форвардер закрывается. Когда закрывается ProxyProfiles, все запущенные им браузеры тоже закрываются.
- Профиль без прокси по умолчанию не запускается. Разрешить это можно в Настройки → «Разрешить запуск профилей без прокси».
5. Отпечаток браузера (fingerprint)
При создании профиля отпечаток генерируется случайно, но согласованно: UA Windows ↔ navigator.platform = Win32 ↔ WebGL ANGLE/Direct3D11. Кнопка «🎲 Новый отпечаток» создаёт новый.
| Параметр | Как подменяется |
|---|---|
| User-Agent | «Авто» = реальная версия установленного Chrome (рекомендуется), пресеты Chrome 150–154 Windows или свой. При своём UA подменяются и Client Hints (заголовки Sec-CH-UA* через CDP, navigator.userAgentData в JS) |
| Язык | --lang, --accept-lang, intl.accept_languages в профиле, navigator.language(s), локаль Intl. Режим «По стране прокси» выбирает язык по стране IP |
| Часовой пояс | «Авто по прокси» берёт пояс из проверки прокси. Подмена через CDP Emulation.setTimezoneOverride на уровне движка, поэтому Intl, Date, getTimezoneOffset и toString согласованы, в том числе в воркерах. Есть режимы «Вручную» и «Системный» |
| Экран | screen.width/height/availWidth/availHeight/colorDepth |
| CPU / память | navigator.hardwareConcurrency, navigator.deviceMemory (как и в настоящем Chrome — не больше 8) |
| WebGL | UNMASKED_VENDOR_WEBGL / UNMASKED_RENDERER_WEBGL из списка реальных видеокарт (NVIDIA/AMD/Intel, ANGLE D3D11) |
| Canvas | Небольшой постоянный для профиля шум в toDataURL, toBlob, getImageData. Хэш стабилен между запусками, но отличается у разных профилей |
| AudioContext | Небольшой постоянный шум в AudioBuffer.getChannelData и AnalyserNode.getFloatFrequencyData |
| WebRTC | «Только через прокси» (по умолчанию) или «Полностью отключить» (RTCPeerConnection недоступен) |
| webdriver | navigator.webdriver = false |
| Окно | --window-size: авто (по экрану) или вручную |
Как это устроено. К каждому профилю подключается своя копия встроенного расширения MV3. Его content script работает в MAIN world на document_start во всех фреймах. Конфиг профиля записывается прямо в копию расширения. В Chrome 137+ флаг --load-extension отключён, поэтому расширение загружается через DevTools Protocol (Extensions.loadUnpacked, канал --remote-debugging-pipe, без открытого сетевого порта). Если загрузить расширение не удалось, тот же скрипт внедряется через CDP Page.addScriptToEvaluateOnNewDocument. В Dedicated/Shared/Service Worker скрипт внедряется через CDP до старта воркера. Подменённые функции маскируются под native (Function.prototype.toString).
6. Аккаунты соцсетей и прогрев (версия 1.2)
⚠ Риск блокировки — прочитайте до использования
Любая автоматизация действий в соцсетях нарушает правила большинства площадок и может привести к ограничениям, теневому бану или блокировке аккаунта. ProxyProfiles не даёт гарантий и не «обходит» антифрод.
- Соблюдайте план и дневные лимиты. Не прогревайте много аккаунтов одновременно с одного IP. Один профиль = один аккаунт сети = один прокси.
- Подписки, комментарии, публикации и оформление профиля программа не делает — это ручные задачи (см. 6.6).
- Если появилась капча, страница входа, проверка аккаунта или окно согласия с cookies, программа ничего не решает и не обходит: сценарий ставится на паузу, статус аккаунта — «Требуется действие». Дальше решаете вы, вручную.
6.1. Аккаунты в профиле
В одном профиле может быть несколько аккаунтов разных соцсетей: Threads, TikTok, YouTube, Instagram. Откройте профиль → вкладка «Аккаунты» → «+ Добавить аккаунт» (или «📥 Импорт», см. раздел 7).
Поля аккаунта: соцсеть, логин, пароль, почта и пароль от почты, секрет 2FA (TOTP), cookies, статус, день прогрева, дневные лимиты аккаунта (лайки / подписки / действия), заметки. Всё это хранится в открытом виде в data.json.
Статусы: Новый, Прогревается, Прогрет, Требуется действие, Ошибка, Бан. Аккаунты со статусами «Бан», «Ошибка», «Требуется действие» и «Прогрет» планировщик не трогает.
Кнопки у аккаунта: ↗ открыть сайт (cookies аккаунта внедряются заранее), 🔑 Войти (см. 7.3), 🔥 Прогреть, 📅 План, 📋 Анкета, ✅ x/y — ручные задачи на сегодня, ⋯ — код 2FA, cookies, загрузка видео (YouTube), изменить, удалить. Под строкой аккаунта показывается: ниша, происхождение, отлежка, день и фаза, число сеансов сегодня, счётчики лайков/подписок за день с лимитами, предупреждения (ГЕО, незаполненная анкета).
6.2. Встроенные алгоритмы прогрева
Встроены сценарии и планы из исследования алгоритмов прогрева (warmup-research). Это 16 сценариев: Threads — 4 фазы, TikTok — 7 (день 1, дни 2–3, 4–6, 7–10, 11–14, поддержание, «после публикации»), YouTube — 5 (4 фазы и ускоренный для старых аккаунтов). Для Instagram оставлен мягкий сценарий без алгоритма. Есть 5 планов: threads-new, tiktok-new, tiktok-aged, youtube-new, youtube-aged.
Встроенные сценарии только для чтения, но их можно дублировать и менять копию. У каждого показаны фаза, дни, число сеансов в день, длительность сеанса, дневные ориентиры (лайки, подписки, комментарии…), какие ответы анкеты нужны, ручные задачи и источники. Старые сценарии-заглушки версии 1.1 заменены: планы аккаунтов переводятся на новые сценарии автоматически.
Если план назначен, планировщик каждый день сам запускает сценарий нужной фазы нужное число раз (1–3 сеанса), в случайное время внутри окон активности.
6.3. Анкета ниши
Кнопка «📋 Анкета» у аккаунта. Анкета открывается и сама, когда вы назначаете план аккаунту без анкеты. В ней 26 вопросов: ниша, ключевые слова (10–20), подтемы, хэштеги, аккаунты-ориентиры, эталонные видео, страна, язык, происхождение и возраст аккаунта, окна активности, интенсивность и др. Анкету можно менять в любой момент, она хранится в аккаунте. Есть кнопка «Заполнить примером».
- Во время запуска плейсхолдеры
{{keywords}},{{hashtags}},{{subtopics}},{{reference_accounts}},{{reference_videos}}заменяются случайными значениями из ответов. Буквальный{{…}}никогда не ищется и не открывается. - Если сценарию нужны ответы, которых нет (например, нет ключевых слов), запуск отклоняется с понятным сообщением: «Нельзя запустить «…» для @…: в анкете ниши не заполнено — Ключевые слова для поиска. Откройте «Анкета ниши» у аккаунта». При запуске по расписанию статус аккаунта становится «Требуется действие». Необязательные шаги (например, ориентиры, если их нет) просто пропускаются.
- ГЕО: если страна в анкете не совпадает со страной IP по последней проверке прокси, вы увидите предупреждение в анкете, у аккаунта и в журнале запуска.
- Интенсивность «Осторожно (×0.7)» уменьшает вероятность лайков и кликов и длительность сеансов.
- Окна активности из анкеты становятся окнами плана. Они задаются по времени целевой страны и пересчитываются во время вашего ПК. Если после пересчёта окно переходит через полночь, оно обрезается до 00:00–23:59 текущих суток.
6.4. План по анкете, происхождение аккаунта и отлежка
В окне плана есть кнопка «🧭 Собрать по анкете». Если анкета заполнена, новый план собирается сразу:
| Происхождение | План |
|---|---|
| Новый, зарегистрирован мной | полный (*-new, 14 дней у TikTok) |
| Старый личный (есть история) | ускоренный (*-aged), если возраст ≥ 7 дней |
| Купленный авторег | полный + отлежка 24–48 ч (до её конца прогрев не запускается) |
| Купленный с отлежкой (фарм) | ускоренный (*-aged) + отлежка 24 ч |
| Восстановлен после бана | полный, фаза 1 удлинена до 5 дней |
Во время отлежки в «Ручных задачах» стоит напоминание: ничего не менять в аккаунте. Для каждого этапа можно задать своё число сеансов в день. По умолчанию оно берётся из сценария фазы.
6.5. Движок: лимиты и защита от «снятия» лайка
- Дневные лимиты аккаунта: лайки, подписки, действия. Действует наименьшее из: лимит в карточке аккаунта, лимит фазы сценария, общая настройка (Настройки → «Дневные лимиты»). Если лимит исчерпан, шаг пропускается с записью в журнале. Счётчики считаются за календарный день по всем сеансам.
- Лайк/подписка не снимаются: перед нажатием проверяется состояние кнопки (
aria-pressed="true", подписи «Unlike / Не нравится», красная иконка сердца,[subscribed]/ «Subscribed / Вы подписаны»). Уже поставленный лайк или оформленная подписка не нажимаются, в журнале будет «уже стоит — не нажимаем». Берётся кнопка активного ролика (ближайшая к центру экрана). - Подписка автоматически делается только в сценариях YouTube и только с низкой вероятностью, в пределах лимита фазы. В Threads и TikTok подписки — ручная задача.
- Глобальные ограничения сеанса и детектор капчи/входа — как в 1.1. Добавлено окно согласия с cookies YouTube/Google (ЕС): пауза, выбор вы делаете сами один раз для профиля.
6.6. Ручные задачи на сегодня
Подписки (кроме YouTube), комментарии, публикации, оформление профиля, 2FA, проверка ленты — это ручные задачи. Программа показывает их в журнале каждого запуска («Вручную: …») и в списке «✅ Ручные задачи на сегодня» у аккаунта. Там вы отмечаете выполненные (отметки хранятся по дням, 60 дней). Задачи зависят от дня плана («День 7: …», «Дни 4–6: …») и от ответов анкеты: темы «Не интересно», сообщества Threads, ссылки, рекламный кабинет.
6.7. Сценарии, очередь, журналы
Редактор сценариев и очередь — как в 1.1. Новый тип шага follow (подписка: selector, probability, labels). У like/follow есть labels — подписи кнопки (aria-label/title) как запасной способ поиска. У шага может быть requires — он выполняется только при заполненном ответе анкеты.
6.8. Проверка селекторов
Селекторы встроенных сценариев проверены на публичных страницах без входа (без логина ни в один аккаунт, headless Chrome) в октябре 2026:
- TikTok: кнопка лайка
div[role=button][data-e2e="like-icon"][aria-pressed](aria-label «Like video…»), поискinput[data-e2e="search-user-input"], «Интересное»[data-e2e="explore-item"]. Страницы поиска и хэштегов без входа показывают капчу-слайдер, поэтому элементы выдачи проверить не удалось: у них несколько запасных селекторов (search_video-item,challenge-item,user-post-item,a[href*="/video/"]). - Threads: иконки действий
svg[title="Like"]/<title>Like</title>внутриdiv[role=button], плюс запасныеaria-label«Нравится». Поиск без входа даёт пустую выдачу. - YouTube: выдача
ytd-video-renderer a#thumbnail; главная и каналы —ytd-rich-item-renderer/yt-lockup-view-model a[href*="/watch"]; лайкlike-button-view-model button[aria-pressed="false"]; подпискаytd-subscribe-button-renderer button/yt-flexible-actions-view-model button; Shorts —reel-action-bar-view-model like-button-view-model button.
Кроме того, каждый встроенный сценарий с заполненной анкетой прогоняется в тестах на локальных макетах страниц, которые повторяют эту разметку (test/scenarios-smoke.mjs). Площадки регулярно меняют вёрстку: если в журнале часто «не найден — пропуск», селекторы устарели.
7. Авторизация аккаунтов
7.1. Массовый импорт
Кнопка «📥 Импорт аккаунтов» (на странице профилей или во вкладке «Аккаунты» профиля). По одному аккаунту в строке, разделитель «:» (или «;», «|»):
login:password
login:password:email:emailpass
login:password:2fa-secret (base32 или otpauth://…)
login:password:email:emailpass:2fa-secret
login:password:[{"name":"sessionid",...}] (cookies JSON последним полем)
login:password:W3sibmFtZSI6... (cookies base64 последним полем)
[{"name":...}] или W3sibmFtZSI6... (только cookies — аккаунт без логина)
.tiktok.com TRUE / TRUE 1999999999 sessionid abc (блок Netscape — к предыдущему аккаунту)
Файл можно загрузить кнопкой «Из файла…». «Проверить» показывает распознанные аккаунты и ошибки по строкам. Куда добавить: в текущий профиль, по одному в выбранные профили или «новый профиль на каждый аккаунт» (с тегом «импорт», прокси назначьте потом). Дубли логинов по умолчанию пропускаются.
7.2. Cookies
Cookies аккаунта (JSON Cookie-Editor/EditThisCookie, Netscape cookies.txt или base64 от них) задаются при импорте, в карточке нового аккаунта или через «⋯ → Cookies». Они внедряются в профиль через DevTools Protocol (Storage.setCookies) до открытия сайта: при «↗», «Войти», прогреве и загрузке видео. Внедряются один раз, повторно — только если вы их заменили.
7.3. «Войти» (полуручной вход) и 2FA
Кнопка «🔑 Войти» запускает профиль, внедряет cookies и открывает страницу входа соцсети (если есть cookies, открывается сам сайт). Затем в течение 3 минут программа вписывает логин и пароль в появляющиеся поля (у Google — по шагам, после того как вы нажмёте «Далее»). Если задан секрет 2FA, вписывается и текущий код. Кнопки «Войти» / «Далее» программа не нажимает. Капчу, подтверждение по телефону/почте и любые проверки проходите вы.
Если задан секрет TOTP, «⋯ → Код 2FA» показывает текущий 6-значный код с таймером (otplib, RFC 6238). Его можно скопировать или «вписать на странице».
7.4. Статус входа (новое в 1.3.2)
В таблице аккаунтов профиля есть колонка «Вход»:
- ✅ Выполнен — в браузере профиля есть cookie сессии соцсети (TikTok:
sessionid, YouTube/Google:SAPISID/SID/LOGIN_INFO, Threads/Instagram:sessionid); - ⛔ Нет входа — профиль запускался, но сессии нет: нажмите «🔑 Войти»;
- 🍪 Cookies — у аккаунта сохранены cookies, они будут внедрены при запуске;
- — не проверен — профиль ещё не запускался.
После «🔑 Войти» программа каждые 4 секунды (до 15 минут) проверяет браузер профиля. Как только вы вошли, статус сам меняется на «✅ Выполнен», а cookies сессии сохраняются в аккаунт (резервная копия входа: при переносе профиля или очистке браузера они будут внедрены заново). Проверить вручную: «⋯ → ✔ Проверить вход». В окне нового аккаунта есть кнопка «🔑 Сохранить и войти»: аккаунт сохраняется, и сразу открывается вход. При каждом запуске профиля статус входа всех его аккаунтов обновляется автоматически.
8. Загрузка видео на YouTube (Shorts и обычные)
В ваш собственный канал, в который вы уже вошли в этом профиле. Аккаунт YouTube → «⋯ → Загрузка видео» → «+ Добавить видео»: файл, название, описание, теги, доступ (ограниченный / по ссылке / открытый), флаг Shorts, «для детей», время публикации по расписанию, время старта загрузки, «отложено». Общая очередь всех аккаунтов — на странице «📤 Загрузки».
Загрузка идёт через интерфейс YouTube Studio в Chrome профиля по DevTools Protocol. Файл передаётся в поле выбора через DOM.setFileInputFiles, без системного окна. Название, описание и теги вводятся посимвольно с паузами, затем выбирается «не для детей» / «для детей», три раза нажимается «Далее», выбирается доступ или расписание. Программа ждёт конца загрузки файла, нажимает «Сохранить / Опубликовать» и записывает ссылку (youtu.be/… или youtube.com/shorts/…) в журнал и очередь.
- Shorts YouTube определяет сам (вертикальное/квадратное видео до 3 минут). Флаг добавляет
#Shortsв описание и ссылку вида/shorts/. - Если вместо Studio открылась страница входа, капча, «подтвердите, что это вы», «создайте канал» или «дневной лимит загрузок», то пауза и «Требуется действие». Вкладка остаётся открытой, после решения нажмите «▶».
- Одновременно загружается одно видео (настройка). Пока в профиле идёт загрузка, прогрев этого профиля ждёт, и наоборот.
- Если не удалось выставить дату/время публикации, видео остаётся с ограниченным доступом, а в журнале появится предупреждение.
- Модуль расширяемый (
src/main/uploader.js,UPLOADERS[network]). С версии 1.3 есть загрузка в TikTok через TikTok Studio (раздел 13.4).
9. Telegram: уведомления и журнал
Настройки → «Telegram»: токен бота (от @BotFather), chat id, кнопки «Отправить тест» и «Сводка сейчас». События (каждое включается отдельно): прогрев начат / завершён / ошибка, «Требуется действие» (капча, вход, анкета), прокси не прошёл проверку, видео загружено / ошибка загрузки. Есть ежедневная сводка в заданное время. Сообщения отправляются через Bot API sendMessage напрямую из программы, не через прокси профилей. Если нужно, в настройке «Сеть для Telegram» можно выбрать прокси одного из профилей. Токен хранится в data.json в зашифрованном виде (с 1.3), в сообщениях об ошибках он маскируется.
10. Чего программа сознательно НЕ делает
- Не накручивает просмотры, лайки, подписчиков и не занимается «SEO-накруткой».
- Не решает капчи и не подключает сервисы решения капч.
- Не проходит подтверждение по телефону и не использует сервисы виртуальных номеров.
- Не нажимает «Войти» за вас и не обходит проверки входа.
- Не пишет комментарии и не публикует посты в прогреве. Загрузка видео делается только по вашей очереди в ваш собственный канал.
13. Новое в версии 1.3
13.1. Мастер-пароль и шифрование
- При первом запуске 1.3 откроется экран «Создание мастер-пароля»: не короче 8 символов, с цифрой или символом (или длиннее 14 символов). Данные 1.2 (открытый
data.json) шифруются автоматически. Старая открытая копияdata.json.bakперезаписывается зашифрованной. Если вы раньше сами копировалиdata.json, в этих копиях секреты остаются в открытом виде, их нужно удалить вручную. - Шифрование: ключ выводится из пароля функцией scrypt, данные шифруются AES-256-GCM. Шифруются пароли прокси и аккаунтов, почты, cookies, секреты 2FA, токены Telegram и трекеров, ответы анкет.
- Восстановить забытый пароль нельзя. Без него данные не расшифровать. Администратор может сбросить пароль другого пользователя, но свой пароль восстановить не может.
- Кнопка 🔒 в левом нижнем углу блокирует программу. «Сменить пароль» находится там же. Автоблокировка по бездействию: Настройки → Безопасность (0 = выключена).
13.2. Статистика: трекеры, ссылки, офферы, расходы, ROI
- Страница «📊 Статистика» с вкладками «Отчёт», «Ссылки», «Офферы», «Расходы», «Трекеры», «Импорт CSV».
- Трекеры: Keitaro (Admin API v1) и Binom (API). Нужны URL и API-ключ (ключ шифруется). Есть кнопки «Проверить» и «Загрузить статистику» за период.
- Ссылки: шаблоны с подстановками
{account_id},{account},{profile},{network},{video_id},{offer},{geo},{creative},{link_id}и др. Подстановки ставятся в sub1…sub5 и UTM, так клики в трекере связываются с аккаунтом, видео и креативом. - Расходы: покупка аккаунта, аренда прокси, креативы, расход по офферу, прочее. Отчёт показывает клики, конверсии, доход, расход, прибыль и ROI, с группировкой по аккаунту, профилю, соцсети, офферу, ссылке, видео, креативу, GEO или дню. Есть график по дням.
- CSV: импорт выгрузки любого трекера или партнёрки. Колонки сопоставляются автоматически, а сопоставление можно поправить вручную.
13.3. Креативы
Страница «🎬 Креативы»: библиотека видео с превью, тегами, оффером, GEO и статусом. Видно, куда и когда креатив уже загружен. Из креатива можно сразу поставить загрузку в YouTube или TikTok.
Превью делаются встроенным декодером Chromium в Electron (mp4/webm/mov с поддерживаемыми кодеками). Для остальных форматов в Настройки → Контент-план можно указать путь к своему ffmpeg.exe. ffmpeg в установщик не включён, иначе установщик стал бы больше примерно на 30 МБ.
13.4. Контент-план и автопостинг (YouTube + TikTok)
- Страница «🗓 Контент-план»: календарь на месяц, публикации перетаскиваются мышью между днями.
- «Автоплан»: креативы распределяются по выбранным аккаунтам в рабочие окна. Перед сохранением показывается предпросмотр. Учитываются лимит постов в день (общий из настроек, по умолчанию 2, или свой у аккаунта в поле «Постов в день») и минимальный интервал.
- TikTok: публикация через веб-интерфейс TikTok Studio в Chrome профиля, в котором вы уже вошли. Подпись состоит из названия, описания и хэштегов без дублей (до 2200 символов). Поддерживаются «Кто может смотреть» (все / друзья / только вы) и подтверждение «Опубликовать сейчас». После публикации ссылка на видео берётся из раздела «Публикации». Видео публикуется во время старта задачи (отложенная публикация TikTok не используется).
- Страница входа, «подтвердите, что это вы», капча или лимит публикаций ставят задачу на паузу со статусом «Требуется действие». Программа ничего из этого не проходит за вас.
13.5. Здоровье аккаунтов
Страница «🩺 Здоровье» и колонка «Здоровье» в профилях. По публичной странице аккаунта (YouTube, TikTok) проверяется: страница существует, есть подписчики и просмотры последних своих видео. Резкое падение просмотров (по умолчанию на 70% и больше относительно прошлых видео) отмечается как возможный теневой бан, при этом приходит уведомление в Telegram. Проверка идёт через прокси профиля и без входа. Её можно отключить для отдельного аккаунта. Для Threads, Instagram и других сетей проверки нет.
13.6. Прокси: аренда, ротация, аптайм
Новые поля прокси: «Аренда до», цена, провайдер, ссылка смены IP, «ротация каждые N минут» (запрос по ссылке напрямую или через сам прокси). Колонка «Аренда / аптайм» показывает, сколько дней осталось, и долю успешных проверок за 7 дней. Есть баннер «скоро заканчивается» (порог в днях), автопроверка прокси каждые N минут и кнопка 🔄 «Сменить IP».
13.7. Командный режим
- Страница «👥 Команда» (только администратор): пользователи с ролями Администратор, Байер, Наблюдатель, доступ к профилям, передача профилей другому пользователю, журнал действий (аудит).
- У каждого пользователя свой пароль на экране входа. Байер и наблюдатель видят только свои профили и профили, к которым им дали доступ. Наблюдатель только смотрит, секреты от него скрыты. Настройки, трекеры и команда доступны только администратору.
- Это разделение доступа внутри одной установки на одном компьютере, а не сетевая многопользовательская система.
- Пакет профилей (
.ppbundle): выделите профили → «Экспорт пакета». Пакет шифруется отдельным паролем, папки Chrome можно включить по желанию. Импорт: Команда → Пакет. Так профили переносятся между компьютерами.
13.8. Чего нет в 1.3 сознательно
- Клоакинг, накрутка просмотров и лайков, обход модерации, решение капч, автоматическое подтверждение телефона — не реализованы и не будут.
- Поля настроек
aiApiKey,aiBaseUrl,aiModelзарезервированы и пока не используются: генерации текстов через ИИ в 1.3 нет.
13.9. Тесты 1.3
npm test (модульные, включая test/v13.test.js), npm run test:smoke (Chrome через CDP, включая tiktok-studio-smoke.mjs на макете TikTok Studio), bash test/run-ui.sh (сквозные UI-тесты Electron, включая ui-13-steps.mjs: мастер-пароль и перенос данных 1.2, блокировка, Keitaro-макет, ROI, CSV, креативы, план, здоровье, Telegram-макет, ротация прокси, роли). Реальные TikTok, YouTube, Telegram и трекеры в тестах не используются, только локальные макеты.
11. Известные ограничения
- Это не полноценный антидетект-движок уровня Octo Browser, Dolphin{anty}, AdsPower, GoLogin, у которых модифицированное ядро Chromium. Подмена сделана на уровне JavaScript и DevTools Protocol поверх обычного Google Chrome. Продвинутые антифрод-системы могут найти следы подмены.
- Не подменяются: шрифты, WebGL-параметры кроме vendor/renderer,
OffscreenCanvas.convertToBlob,ClientRects, медиаустройства, батарея,matchMediaпо размеру экрана,devicePixelRatio, голосаspeechSynthesis. - Расширение отпечатка видно в
chrome://extensions. Chrome может показать плашку о неподдерживаемом флаге. - HTTPS-прокси: сертификат прокси не проверяется. SOCKS4 работает без логина/пароля. UDP через SOCKS5 не используется.
- Когда ProxyProfiles закрывается, все запущенные им браузеры тоже закрываются.
- С версии 1.3 секреты в
data.jsonзашифрованы мастер-паролем (раздел 13.1). Папки профилей Chrome (profiles\<id>\: cookies, история самого браузера) шифруются только средствами Chrome/Windows, мастер-пароль их не защищает. Блокировка закрывает доступ к интерфейсу, а уже запущенные браузеры продолжают работать. - Селекторы соцсетей меняются. Селекторы проверены на публичных страницах без входа. Интерфейс после входа (лента TikTok, поиск Threads) и YouTube Studio проверить без входа невозможно: Studio-загрузчик проверен только на локальном макете с разметкой Studio и может потребовать правки при изменениях интерфейса (тогда будет понятная ошибка «Не найден элемент YouTube Studio: …»).
- Страницы поиска/хэштегов TikTok без входа показывают капчу. С выполненным входом обычно работают, но при капче будет пауза.
- Окна активности после пересчёта часового пояса обрезаются в полночь, а окна короче 20 минут отбрасываются.
- Для Instagram нет алгоритма прогрева (только мягкий сценарий), «Собрать по анкете» недоступно.
- Детектор капчи/входа эвристический: он может сработать лишне (нажмите «Продолжить») или пропустить нестандартную проверку.
- Планировщик, загрузки и Telegram работают, только пока программа открыта. Пропущенные окна не догоняются.
- Расписание публикации в Studio вводится в формате языка интерфейса (ru/en). Для других языков может не сработать, тогда видео останется с ограниченным доступом и будет предупреждение.
- Установщик и exe не подписаны цифровой подписью (возможно предупреждение SmartScreen).
- Проверка IP использует
ip-api.com(лимит ~45 запросов/мин) с запаснымipinfo.io. - TikTok Studio проверен только на локальном макете (интерфейс после входа без входа не проверить). При изменениях интерфейса будет понятная ошибка или пауза.
- Данные трекеров (Keitaro/Binom) сверены с документацией API и макетами, на реальных инсталляциях не проверялись.
12. Планы на следующие версии
Подмена шрифтов и расширенных параметров WebGL, синхронизация вкладок сессии, группы и папки, генерация текстов через ИИ (поля aiApiKey/aiBaseUrl/aiModel).
Новое в версии 1.5.1 — прогрев из вкладки «Профили» с выбором соцсети
- У каждого профиля в строке есть кнопка 🔥 Прогреть. В окне:
- Соцсеть: Threads / TikTok / YouTube / Все.
- Аккаунты этой соцсети в профиле с галочками и отметкой входа (✅ — вход выполнен, ⛔ — не выполнен/не проверялся), статусом и днём прогрева. Аккаунты, которые уже в очереди или помечены «Бан», недоступны.
- Режим: «По плану аккаунта» (сценарий этапа на сегодня) или «Сценарий из библиотеки» (список сценариев выбранной сети; при «Все» сценарий применяется только к аккаунтам его сети).
- Длительность (необязательно, 1–600 мин) — сеанс не дольше указанного.
- Если в профиле нет аккаунтов выбранной сети — подсказка и кнопка + Добавить аккаунт (сеть подставляется сама, после сохранения аккаунт сразу появляется в списке).
- Запуск идёт через существующий движок прогрева: строгая проверка прокси (не прошла — профиль не запускается), один Chrome на профиль, аккаунты профиля — по очереди.
- Пока идёт прогрев, в строке профиля видно текущий аккаунт (крупная кнопка 👁 Смотреть прямо в строке, как только браузер запущен) и сколько ещё в очереди, кнопки 👁 Смотреть (живой просмотр 1.4.0) и ⏹ Стоп (останавливает все запуски профиля).
- Массовые действия: «🔥 Прогреть выбранные» открывает тот же выбор соцсети/режима/длительности для нескольких профилей.
- Права проверяются в главном процессе: наблюдатель не может запускать и останавливать прогрев; байер — только в доступных ему профилях. Запуски пишутся в журнал действий.
🌑 Выход из тени (теневой бан)
- Где: в аккаунте профиля «⋯» → «🌑 Выход из тени», и на странице «Здоровье» (кнопка 🌑; если у последних видео 0 просмотров — она подсвечена и предлагает запуск).
- Основное — TikTok, также доступно для YouTube Shorts и Threads.
- Этап 0 — диагностика: загрузите ещё 1–2 видео и проверьте просмотры.
- Этап 1 (если всё ещё 0): задача «Ссылка убрана» (убрать ссылку из описания профиля) → публикации на паузе, отдых 1–3 дня (выбираете, по умолчанию 2): программа сама делает короткие естественные сеансы (просмотр, скролл, редкие лайки) в случайное время → 1–2 дня публикаций креативов БЕЗ ссылки (ссылки, t.me и SubID/UTM вырезаются из описания автоматически) → проверка.
- Этап 2 (если не помогло): ссылка снова убрана → 1 день без входов вообще (прогрев и загрузки аккаунта заблокированы) → 1–3 дня сеансы по паре минут в разное время (развёрнутые комментарии по теме — только напоминание, программа их не пишет) → пара дней публикаций без ссылки → проверка.
- Итог: просмотры вернулись — 3 дня плавного возврата (1 пост в день, задача «Ссылка возвращена»), затем «Вернуть обычный режим»; всё ещё 0 — «Повторить» или «Создать новый аккаунт».
- Окно плана: таймлайн, текущий этап и день, следующее действие, сеансы на сегодня, подсказка «Главная задача — не делать резких действий». Просмотры берутся из проверки «Здоровья» (на этапе проверки, не раньше чем через сутки) или вписываются вручную.
- На время плана обычный прогрев по расписанию на паузе. Смена этапа — уведомление в Telegram (событие «Выход из тени: смена этапа»).
📝 Помощник регистрации
- В окне профиля вкладка «📝 Регистрация» (и «⋯» → «Зарегистрировать аккаунты»): галочки TikTok / Google (YouTube) / Threads / Instagram и адреса страниц регистрации (по умолчанию tiktok.com/signup, accounts.google.com/signup, threads.net/login, instagram.com/accounts/emailsignup; можно изменить, только https).
- «📝 Зарегистрировать» запускает профиль через его прокси (строгая проверка) и открывает эти страницы. Формы, капчу и подтверждение телефона вы проходите САМИ — программа их не заполняет, капчу не решает, виртуальные номера не использует.
- «💾 Сохранить аккаунт» — логин, пароль, почта, пароль от почты, секрет 2FA → аккаунт добавляется в профиль, вход проверяется по cookies (✅).
📒 Заметки (блокнот профиля)
- Вкладка «📒 Заметки» в окне профиля: свободный текст + карточки доступов по соцсетям (логин, пароль, почта, пароль почты, секрет 2FA, телефон-заметка, комментарий), кнопки 📋 копировать и 👁 показать/скрыть.
- Карточку можно связать с аккаунтом профиля или создать из неё аккаунт («+ Аккаунт»).
- Блокнот шифруется ключом данных вместе с остальными секретами; наблюдатель видит пароли и секреты скрытыми и ничего не меняет.
Новое в версии 1.5.0 — вход по логину, база пользователей и роли
Что изменилось. Вместо одного мастер-пароля теперь нормальная авторизация: у каждого пользователя свой логин и пароль, роль (Администратор, Байер, Наблюдатель), статус и история входов. Пользователи, сессии и журнал действий хранятся во встроенной базе данных SQLite (auth.db в папке данных программы; движок sql.js, ничего ставить не нужно).
Как устроена защита. Данные (data.json) по-прежнему шифруются AES-256-GCM, но случайным ключом данных. Этот ключ «завёрнут» отдельно паролем каждого пользователя (scrypt) и кодом восстановления. Пароли нигде не хранятся, только их хэши. Поэтому:
- администратор может сбросить пароль любому пользователю — данные не теряются;
- если забыт пароль администратора — «Забыли пароль?» на экране входа: логин администратора + код восстановления → новый пароль (старый код перестаёт работать, выдаётся новый).
Первый запуск (новая установка). Мастер «Создайте администратора»: логин, имя, пароль (минимум 8 символов и цифра/символ, или 14+ символов). Затем один раз показывается код восстановления — скопируйте или «Сохранить в файл» и храните отдельно от компьютера. Новый код: «Пользователи → 🗝 Код восстановления».
Обновление с 1.3/1.4. Программа найдёт старые данные и попросит один раз ввести старый мастер-пароль администратора и новый логин (пароль можно оставить прежним или сразу задать новый). Всё переносится: профили, прокси, аккаунты, журнал. Остальные пользователи 1.4 переносятся автоматически с прежними паролями; их логины строятся из имени (например «Вася Байер» → Вася.Байер) и показываются после переноса. Перед переносом сохраняется копия data.json.before-1.5-….bak.
Не помните старый мастер-пароль? На экране переноса — «Начать заново…» (нужно ввести «НАЧАТЬ ЗАНОВО»). Старые data.json/auth.db перемещаются в папку backup-<дата> в папке данных, и программа стартует как новая. Без старого пароля старые зашифрованные данные открыть нельзя — это защита, а не ошибка. Профили и прокси можно заново импортировать; папки браузерных профилей не удаляются.
Экран входа. Логин + пароль, кнопка 👁 «показать пароль», «Запомнить меня» (запоминает логин). Понятные ошибки: «Неверный логин или пароль. Осталось попыток: N», «Пользователь отключён администратором». После 5 неверных паролей подряд вход в эту учётную запись блокируется на 1 минуту (то же для кода восстановления).
Раздел «Пользователи» (бывшая «Команда», только администратор):
- создать пользователя: логин, имя, роль, временный пароль, «Попросить сменить пароль при первом входе» (пока пароль не сменён, программа не даёт ничего менять);
- изменить логин/имя/роль, отключить/включить, снять блокировку за неверные попытки, сбросить пароль, удалить (с передачей профилей);
- столбцы «Статус» и «Последний вход», вкладка «Входы» (сессии: вход, выход, причина — выход, блокировка, бездействие, закрытие программы), «Журнал действий» (в базе, с поиском), «Доступ к профилям», «Перенос профилей»;
- последнего администратора нельзя отключить, удалить или понизить; себе нельзя менять роль.
Роли проверяются в главном процессе при каждом действии, а не только скрытием кнопок: наблюдатель только смотрит (пароли, cookies, токены скрыты), байер работает со своими и выданными профилями, без настроек и управления пользователями, администратор — всё.
Кнопки внизу слева: 🔑 «Сменить пароль», 🔒 «Блокировка», 🚪 «Выйти». Автоблокировка при бездействии: «Настройки → Безопасность», для новых установок по умолчанию 15 минут. При блокировке фоновые задачи (прогрев, загрузки) продолжают работать.
Новое в версии 1.4.1
- Проверка обновлений. При запуске (после ввода мастер-пароля) и затем раз в 6 часов программа проверяет сайт https://pp.46-8-225-60.sslip.io (
releases.json, резерв — GitHub Releases). Если вышла новая версия, сверху появляется баннер «Доступна версия X»: «Скачать» открывает страницу загрузки в браузере, «⬇ Скачать и установить» скачивает установщик в папку «Загрузки» с прогресс-баром, проверяет размер и SHA-256 (повреждённый файл удаляется) и предлагает «▶ Установить»: программа закроется и запустится установщик. Вручную: Настройки → Обновления → «🔄 Проверить обновления», там же «🌐 Сайт программы». - Сайт программы: главная, скачать, история версий, инструкция, FAQ.
Новое в версии 1.4.0
- 👁 Смотреть — показ экрана прогрева. На странице «Прогрев» у выполняющегося запуска и у запущенного профиля в «Профилях» есть кнопка «👁 Смотреть». Открывается окно с живой трансляцией вкладки, в которой работает прогрев (CDP screencast, JPEG-кадры по уже открытому каналу браузера, наружу ничего не открывается), а справа — текущий шаг и журнал действий в реальном времени. Если движок открывает новую вкладку, показ переключается на неё сам. Кнопка «🪟 Показать окно Chrome» выводит настоящее окно браузера поверх остальных (например, чтобы пройти вход или капчу). Это только просмотр: управлять браузером можно в окне Chrome. Закрыть — «✕ Закрыть» или Esc.
- Календарь «Контент-план» исправлен. Название месяца с заглавной буквы («Октябрь 2026»), неделя с понедельника, выходные выделены, кнопка «Сегодня». Время больше не сдвигается на часовой пояс: раньше в окнах дат и времени часть значений считалась в UTC, и у пользователей с UTC+5 ночные посты (00:00–04:59) попадали на предыдущий день. Посты «отложен», «ошибка», «пауза» без времени запуска теперь видны в календаре (в день создания). Клик по дню — список всех постов дня (в том числе «ещё N…»), клик по посту — перенос на точную дату и время, перетаскивание подсвечивает день; при переносе на прошедшее время программа переспрашивает. Пока вы тащите пост, календарь не перерисовывается.
- Telegram-сводка и предупреждения об окончании аренды прокси считают день по местному времени, а не по UTC.
- Полная сборка. В установщик снова входят все языковые пакеты движка (в 1.3.1–1.3.2 их убирали ради лимита Google Диска). Программа скачивается с сайта без ограничения размера.
Новое в версии 1.3.2
- Статус входа в аккаунты соцсетей (см. 7.4): автоматическое определение входа после «🔑 Войти», сохранение сессии в аккаунт, кнопка «Сохранить и войти», пункт «✔ Проверить вход».
- Страница «Загрузки»: кнопка «+ Добавить видео» (выбор аккаунта YouTube/TikTok → очередь загрузки).
- Windows: Chrome, установленный в нестандартную папку, находится через реестр (App Paths / ChromeHTML). Если не найден — укажите путь к chrome.exe в «Настройках».
Обучение (1.3.1)
Раздел «🎓 Обучение» — встроенный курс «Арбитраж трафика: из TikTok, YouTube Shorts и Threads в свой Telegram-канал» (11 модулей, 55 уроков). Работает без интернета (файл src/main/course/course.json). Дерево модулей слева, поиск, чек-листы с сохранением прогресса у каждого пользователя, закладки, «Назад/Далее», кнопка «Открыть экран» и чипы связанных экранов. Ссылки на источники открываются в системном браузере. Последний открытый урок восстанавливается.
У аккаунта и у ссылки (Статистика → Ссылки) появилось поле «Инвайт-ссылка Telegram»; в списке ссылок — колонка «Инвайт TG».