Решения
Рекламные кабинеты
- 40 в день
- Потолок открытых страниц у рекламного профиля на полном ходу, седьмой день прогрева
- 4 кабинета
- Google Ads, Meta Ads, TikTok Ads и Microsoft Ads, и у каждого правила привязаны к своему хосту
- 56 правил
- Что грузит рекламный профиль: 31 общее правило трекеров плюс 25 написанных под кабинеты
- 1 в день
- Правок оплаты, которые сценарий считает безопасными: его самый строгий потолок
Бан обязан остановиться на том кабинете, в который прилетел
Потерять один рекламный кабинет это издержки работы. Потерять пять из-за проверки одного это уже другая беда, и причина обычно не в бане. Причина в том, что площадка видит общего у этих пяти.
Откройте два кабинета в одном браузере, и у них общее всё, что имеет значение: банка с куками, локальное хранилище, служебные работники, сохранённые карты, один адрес выхода и одни показания устройства. Проверяющий, который смотрит на один кабинет, до остальных доходит одним запросом. Окно инкогнито этого не лечит: оно забывает в конце сессии, но не даёт второму кабинету другой компьютер.
ARMANOS даёт каждому кабинету отдельный браузер. Между двумя профилями не переходит ничего, кроме того, что вы туда положили сами. Дальше на этой странице по порядку: какая связь разрывается, чем и в каком файле.
Чем это не является: обходом проверок. Кабинеты закрывают за расходы, за креативы, за посадочные, за жалобы и за возраст аккаунта, и ни одно из этого не решается браузером. Изоляция покупает одно, и это стоит купить: радиус поражения равен одному профилю.
Одна банка с куками
Кука входа самой площадки это самая короткая связь, какая бывает, и её видит любое окно этого браузера.
Одно хранилище
localStorage, IndexedDB и служебные работники живут на браузерный профиль, и рекламные площадки пишут опознаватели во все три.
Одно устройство
Экран, ядра, память, строки видеокарты, шрифты, часовой пояс и языки одинаковы в каждом окне одного браузера.
Один адрес выхода
Два кабинета, открытые с одного адреса с разницей в минуты, связываются без всяких усилий.
Одна платёжная личность
Сохранённая карта, подставленный адрес счёта и платёжный профиль браузера следуют за браузером, а не за кабинетом.
Выбор рекламного сценария записывает в профиль пять решений
Сценарий это запись в коде, а не подпись на карточке. Выбирая «Рекламные кабинеты» при создании профиля, вы задаёте стартовую страницу, списки трекеров, чистку ссылок, скрипты страницы и дневные потолки, которые программа покажет рядом с профилем.
Два из пяти меняют то, что уходит из браузера. Списки трекеров собираются в небольшое расширение, которое программа пишет в каталог профиля до запуска, поэтому блокировка это сетевые правила, а не скрипт, который страница может прочитать. Чистка ссылок снимает при переходе 40 параметров слежки, и опознаватели кликов всех кабинетов сценария в этом списке есть: gclid, wbraid, gbraid, msclkid, fbclid, ttclid.
Одно из пяти не меняет в браузере ничего. Потолки действий это числа, которые программа выводит на экран. Ниже об этом сказано прямо: потолок, который никто не принуждает соблюдать, всё равно полезен, и врать про него незачем.
Запись ниже снята с кода, а не написана для сайта. Программа читает те же строки при запуске профиля и когда рисует его карточку.
- сценарий
- ads
- стартовая страница
- https://ads.google.com
- списки трекеров
- general и ads, 56 правил
- скрипты страницы
- fingerprint, stealth
- чистка ссылок
- включена, 40 параметров
- дневной потолок страниц
- 40, прогрев 7 дней
- потолки действий
- 5: правки кампаний, правки бюджета, новые кампании, правки оплаты, переключения кабинетов
- кабинеты
- Google Ads, Meta Ads, TikTok Ads, Microsoft Ads
SCENARIOS.ads в packages/shared/src/index.js.
Правила названы вместе с хостом, потому что кабинет обязан работать
Список блокировок, написанный для приватного сёрфинга, внутри рекламного кабинета инструмент неверный. Отрежьте один лишний запрос, и вы не загрузите креатив, не откроете страницу оплаты, не построите отчёт, и профиль станет бесполезен ровно для той работы, ради которой заведён.
Поэтому рекламный набор написан наоборот. Голых правил по пути в нём нет вовсе: каждая запись называет свой хост, и правило одного кабинета не может сработать на посадочной странице клиента. Запросы, без которых кабинет не войдёт, не загрузится, не примет креатив, не выставит счёт и не ответит своему же API, исключены нарочно, и так же исключён любой хост, отвечающий на переход по адресу.
Остаётся связывание кабинетов между собой: пиксели конверсий и аудиторий, точки сигналов, третьи стороны, которые этой связкой торгуют. Двадцать пять правил на четыре кабинета и на общий рынок опознавателей, сверх 31 общего правила, которое грузит любой профиль ARMANOS при любом сценарии.
Два правила первой стороны, то есть ловят запросы кабинета к самому себе. Оба несут свой хост внутри правила, поэтому уехать на чужой сайт не могут.
| Кабинет | Правил в рекламном списке | Что попадает |
|---|---|---|
| Google Ads | 8 и ещё 4 первой стороны | Пиксели конверсий и аудиторий, службы тегов и собственные маячки кабинета gen_204, jserror и csi |
| Meta Ads | 4 и ещё 1 первой стороны | Скрипт сигналов, fbevents.js, пиксель tr и вызов ajax/bz на facebook.com |
| TikTok Ads | 2 | Оба хоста аналитики, включая сингапурский |
| Microsoft Ads | 4 | Точки кликов и журналов Bing и хост событий MSN |
| Любой сайт | 7 третьих сторон | Рынок опознавателей: adsrvr, demdex, rlcdn, agkn, crwdcntrl, scorecardresearch, everesttech |
Блокировка здесь не главное, и продаём мы не её
Карта и вход живут внутри профиля, а не на вашей машине
Сохранённая карта, адрес счёта и подставляемое имя это данные браузера. Они лежат в каталоге профиля Chromium, и у каждого профиля ARMANOS этот каталог свой: движок запускается с каталогом данных, который указывает на fork-profiles и номер профиля. Внутри куки, локальное хранилище, служебные работники, сохранённые карты и автозаполнение. Два кабинета это два каталога.
Движок держат в стороне и от хранилища паролей самой машины. Он запускается с подставной связкой ключей и простым хранилищем паролей, то есть шифрует свою базу кук и паролей сам, а не просит ключ у macOS, Windows или Linux. Это замерено, а не предположено: без этих доводов запуск на macOS сделал ноль запросов и завис на окне связки ключей, которое не закрывалось никаким паролем. Заодно профиль остаётся переносимым, а без этого живую сессию не увезти на вторую машину вовсе.
Пару логин и пароль от самого кабинета хранит программа, а не браузер: она закрыта связкой ключей системы и лежит рядом с профилем с правами только для хозяина. На наш сервер она не уходит. Синхронизация профиля отправляет номер, имя, папку, сценарий, шаблон отпечатка, прокси и пару подписей. Поля для пароля от кабинета в этом запросе нет. Одноразовый код там же: ключ второго шага принадлежит профилю и остаётся на этой машине.
С паролем прокси поступают так же, но по другой причине. В строку запуска он не попадает никогда: во-первых, пароль в доводе виден в списке процессов любому на этой машине, во-вторых, замерено, что с паролем в строке этот движок не загружал вообще ничего. Браузер направляют на мост на петле, который держит пароль и отвечает за него сам.
Каталог профиля
fork-profiles и номер профиля в данных программы: куки, хранилище, служебные работники, сохранённые карты, автозаполнение.
Пароль от кабинета
Закрыт связкой ключей системы, права только для хозяина, к нам не уезжает.
Одноразовый код
Ключ принадлежит профилю, и программа считает код рядом с тем профилем, которому он принадлежит.
Пароль прокси
Закрыт при хранении, а общий список отдаёт лишь признак «пароль задан». Взятие рабочего доступа пишется в журнал.
Потолок правок оплаты
Одна в день, предупреждение на 99 процентах. Смена карты у трёх кабинетов за час это уже примета.
Устройство, которое видит кабинет, принадлежит профилю, а не вашему ноутбуку
Отпечаток нигде не хранится. Он выводится при каждом запуске из четырёх исходных: выбранного шаблона, номера профиля, страны выхода прокси и версии самого движка. Одни и те же четыре дают одну и ту же машину, поэтому кабинет не обнаруживает наутро другой компьютер.
Именно это делает общий профиль пригодным для агентства. Номер едет вместе с профилем, и когда медиабайер открывает его на своём ноутбуке, показания те же, что кабинет видел вчера. Его настоящий экран, ядра, память и видеокарта в профиль не протекают. В программе на этом месте написано коротко: тот же номер значит та же машина.
География измеряется, а не вписывается. Перед первым запуском программа спрашивает до четырёх источников по HTTPS через сам прокси профиля, где этот прокси выходит, и страна задаёт часовой пояс и набор языков. Смените прокси на другой выход, и сохранённая страна очищается, поэтому следующий запуск измеряет заново, а не показывает немецкий адрес с киевским временем.
Подмена живёт в движке. ARMANOS Browser 153.0.7978.0 это наша сборка Chromium, и показания приходят в неё семенем в строке запуска, а не скриптом, который правит страницу. Четвёртое поколение генератора, пять шаблонов, 25 замеров, которые вы можете сравнить со своим браузером на странице проверки отпечатка.
Шаблон
Один из пяти: macos-chrome, windows-chrome, linux-chrome, android-chrome, android-tablet.
Номер профиля
Из него выводятся пара видеокарты, экран, строка браузера и версия платформы по спискам четвёртого поколения.
Страна прокси
Измеряется через сам прокси, потом переводится в часовой пояс и набор языков, которые ему не противоречат.
Версия движка
153.0.7978.0 называется и в строке браузера, и во всех подсказках клиента, потому что именно этот движок и рисует страницу.
WebRTC не предлагают дорогу мимо прокси
Медиабайер видит папку одного клиента и больше ничего
Агентству не нужно, чтобы новый байер видел всех клиентов. Одной ролью это не решается: роль действует на всё пространство, и исполнитель видит каждый отданный ему профиль. Сужает как раз доступ к папкам. Вы выбираете, какие папки видит участник, а сервер держит по строке на участника и папку.
Три подробности превращают это в границу, а не в отбор в списке. Профиль, который не лежит ни в одной папке, при заданном доступе не показывается вовсе, иначе ограничение обходилось бы тем, что профиль просто не положили в папку. Открытие профиля напрямую по номеру проверяется тем же правилом и отвечает «профиль не найден», а не «нельзя», иначе по разнице ответов можно было бы выяснить, что вообще есть у соседей. И ограничение записано на владельца пространства, поэтому оно не едет за человеком к следующему работодателю и не запирает его там.
Пустой список означает, что участник видит всё. Это осознанный выбор. Если бы «строк нет» значило «доступа нет», в день выхода этой возможности заперло бы каждую действующую команду, а снятие последней папки у участника молча означало бы снятие всего доступа.
Вместе с доступом не выдаются пароли. Общий список прокси не возвращает пароль, только признак, что он задан; рабочий доступ выдаёт один отдельный ход, и его взятие пишется в журнал. Пароля от кабинета на сервере не было изначально. Сама выдача папок тоже пишется в журнал: кто выдал и какие.
Владелец
Всё, и его нельзя ни исключить из своего пространства, ни ограничить папками.
Администратор
Оплата, команда, журнал, чужие профили и машины. Он же раздаёт доступ к папкам.
Управляющий
Общие рабочие ресурсы: папки и пул прокси, включая смену адреса у мобильного. Денег и команды не касается.
Оператор и участник
Работают с профилями, которые им отдали, внутри видимых им папок. Общего не меняют.
Места
В Business входит 3, в Enterprise 20, дополнительное место стоит 3 доллара в месяц.

Двое не откроют один кабинет одновременно
Что потолки считают, а что только советуют
У рекламного профиля пять потолков действий и один счётчик страниц. Считает программа только счётчик страниц: она считает переходы верхнего уровня в окнах этого профиля, держит их в небольшом файле, чтобы перезапуск в тот же день не сбросил число, и начинает заново в полночь. На полном ходу это 40 в день.
Новые профили разгоняются. Первые семь дней потолок умножается на 0,2, 0,35, 0,5, 0,65, 0,8, 0,9 и 1,0, поэтому рекламный профиль показывает 8 в первый день и доходит до 40 на седьмой. Полоса желтеет на 80 процентах дневного потолка и краснеет на нём самом. Она не запрещает ничего, и программа этого не скрывает.
Пять потолков действий это числа, а не счётчики. Программа не видит, что вы поправили кампанию внутри кабинета, поэтому показывает то, что сценарий считает безопасным днём, разогнанное той же кривой. Правки оплаты самые строгие: одна в день, предупреждение на 99 процентах, потому что смена оплаты чаще прочего приводит к кабинету живого проверяющего.
Одна оговорка вшита в саму подпись на экране. Счёт дней это возраст профиля ARMANOS, а не возраст кабинета за ним. Второго программа знать не может, и надпись поправили, как только заметили, что она это утверждала.
| Что сценарий считает днём | Полный потолок | Первый день разгона | Предупреждение |
|---|---|---|---|
| Правки кампаний | 12 | 2 | 70 процентов |
| Правки бюджета | 4 | 1 | 50 процентов |
| Новые кампании | 3 | 1 | 67 процентов |
| Правки оплаты | 1 | 1 | 99 процентов |
| Переключения кабинетов | 3 | 1 | 67 процентов |
| Открытые страницы (считаются) | 40 | 8 | 80 процентов |

Если кабинет всё же потерян
Часть кабинетов уйдёт. Тогда важно, сколько уходит вместе с ними. В одном общем браузере честный ответ обычно «и соседи тоже». Здесь потеря ограничена каталогом: куки и хранилище забаненного кабинета лежат в одном профиле и не касаются ничего другого, а остальные профили работают и во время бана, и во время спора.
Большая часть настройки остаётся у вас. Прокси остаётся в общем пуле вместе с измеренной страной выхода. Папка и права на неё остаются. Сценарий и его потолки остаются. Сам профиль остаётся, пока вы не решите иначе, и его запуски видны в журнале: кто открыл, с какой машины и когда.
Замена делается копией. Копия несёт сценарий, шаблон отпечатка, папку, метки, заметки, стартовую страницу, включённые расширения, прокси (ссылкой на пул, если он оттуда) и измеренную страну выхода, потому что последнее это измерение того же прокси, а не секрет.
Трёх вещей копия не несёт нарочно: пары логин и пароль, ключа одноразовых кодов и отпечатка. Первые две принадлежат кабинету, которого больше нет, и молча положить их во второй профиль значит однажды войти не тем аккаунтом не с того адреса. Третье не копируется по устройству продукта: копия это новый профиль с новым номером, а отпечаток выводится из номера, значит копия это другая машина. Два профиля с одним отпечатком связаны сильнее, чем их способно связать что угодно другое в этой программе.
Удаление в два шага. Профиль уходит в корзину, откуда его можно вернуть, или стирается насовсем. При окончательном удалении сначала закрывается работающий браузер, потом стирается каталог, потом профиль убирается из уведомлений о запусках, из счётчиков перехваченных запросов и из счётчика темпа, потому что браузер такого рода, хранящий историю запусков удалённых профилей, хранит ровно не то.
- 1
Скопируйте профиль
Настройки, папка, прокси, измеренная страна, расширения и стартовая страница переезжают. Пара логин и пароль, ключ второго шага и отпечаток нет.
- 2
Дайте копии другой выход
Другой прокси из пула или смена адреса у мобильного. Смена выхода очищает сохранённую страну, и следующий запуск измерит новую и возьмёт из неё часовой пояс.
- 3
Заводите новый кабинет уже внутри
Кабинет встречает пустую банку кук, адрес, которым этот аккаунт не пользовался, и устройство, которого он не видел.
- 4
Сотрите старый профиль, когда спор закончится
Корзина держит его сколько нужно. Окончательное удаление стирает каталог и все счётчики, которые на него ссылались.
Прокси это решение, а не остаток
Чего это не делает
- Не отменяет баны. Расходы, креативы, посадочные, жалобы и возраст аккаунта проверяют, и ни одно из этого браузером не решается.
- Само по себе не прячет ваш адрес. Без прокси профиль выходит с вашего собственного адреса, и программа говорит об этом в списке первых шагов.
- Не считает то, что вы делаете внутри кабинета. Измеряются только страницы, открытые в профиле; пять потолков действий это подсказка, которой вы следуете сами, и запретов нет.
- Не заводит рекламные кабинеты и не прогревает их. Разгон это число на полосе, а не работа за вас.
- Не знает возраст рекламного кабинета. Счётчик дней это возраст профиля ARMANOS, и честно программа видит только его.
- Работа над движком не закончена. Часть показаний пока правится со страницы, а не в C++; оставшийся перечень лежит у нас в исходниках и закрывается сборка за сборкой.
Как проверить
Каждое утверждение выше лежит в одном файле. Вот строки, которые его держат, и стенды, которые покраснеют, если оно перестанет быть правдой.
- Рекламный сценарий это одна запись, и программа показывает ровно её числа
- packages/shared/src/index.js (SCENARIOS.ads) · apps/desktop/src/main/main.js (actionLimitsFor, paceInfoFor)
- Рекламные правила названы вместе с хостом и не срабатывают вне своего кабинета
- apps/desktop/assets/trackers_ads.json · apps/desktop/src/lib/tracker-rules.js (TELEMETRY_BY_SCENARIO)
- У каждого профиля свой каталог, а пароль прокси не попадает в строку запуска
- apps/desktop/src/lib/forkEngine.js (profileDir, proxyArg) · apps/desktop/test/proxy-auth-bridge.js
- Пароль от кабинета и ключ одноразовых кодов остаются на вашей машине
- apps/desktop/src/lib/profiles.js · apps/desktop/test/login-in-keychain.js · apps/desktop/test/login-stays-local.js
- Доступ к папкам прячет профиль даже от участника, который знает его номер
- apps/server/src/profiles/profiles.service.ts · apps/server/test/group-access.js
- Две машины не держат один рекламный профиль одновременно
- apps/server/src/profiles/profiles.service.ts (LOCK_TTL_MS) · apps/server/test/profile-lock.js
Рядом с этим
Прокси
Пул, измеренная страна выхода и мост на петле, который несёт пароль.
Команда
Места, пять ролей и доступ к папкам, экран за экраном.
Потолки действий
Откуда взяты числа и что программа против них считает.
Агентствам
Много клиентов из одного пространства.
ARMANOS Browser
Сборка Chromium, которая несёт подмену в C++.
Проверка отпечатка
Те самые 25 замеров, снятые с вашего браузера прямо сейчас.
Начните с одного клиента и двух профилей
Бесплатный тариф даёт два профиля навсегда и без карты. macOS 13 и новее на Apple Silicon и Intel, Windows 10 и 11 в 64 разряда, Ubuntu 22.04 и новее в 64 разряда.