ARMANOS

Возможность

Массовые действия, группы и корзина

Отметьте галочками нужные профили и сделайте с ними всё разом: запустите, переложите в группу, назначьте прокси, прогрейте, выгрузите, удалите. Каждый прогон честно говорит, скольким это удалось, а удалённое ждёт вашего решения в корзине.
до 200
Групп на компьютере
от 3 до 14 с, случайная
Пауза между запусками
до 30 мин
Очередь ждёт свободного окна
этот компьютер и ваш аккаунт
Корзина

Выделение одно, и оно идёт за вашим отбором

Галочка есть на каждой карточке в сетке и в каждой строке таблицы. Отмеченный профиль попадает в общий набор выделенных, а над списком появляется полоса действий со счётчиком. Управление «выбрать все» стоит и в заголовке таблицы, и в полосе действий, поэтому в сетке не приходится отмечать карточки по одной.

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

Галочка перерисовывает только состояние выделения, а не весь список. Поэтому двойной щелчок по-прежнему открывает редактор: полная перерисовка подменила бы карточку под указателем между первым и вторым щелчком, а фокус клавиатуры терялся бы на каждой отметке.

  • Выделение живёт между страницами

    В наборе лежат номера профилей, поэтому листание списка ничего из выбранного не теряет.

  • Снятие тоже по отбору

    Снятая галочка «выбрать все» убирает только видимое. Скрытое отбором остаётся выделенным.

  • Сбросить

    Одна кнопка очищает выделение целиком и прячет полосу действий.

Список профилей ARMANOS с галочками и полосой массовых действий над ним
Полоса действий появляется, только когда что-то выбрано, и называет число.

Семь действий над выделенными

В полосе одна главная кнопка и шесть обычных. Они нарочно узкие: каждая делает одно и то же с каждым выбранным профилем, а потом сообщает итог. Отпечаток здесь не правится: он принадлежит одному профилю, и раздать один отпечаток пачке значит выдать всю пачку за одну машину.

«В группу» и «Назначить прокси» сначала открывают небольшое окно, потому что им нужно значение. Остальные срабатывают сразу, а вопрос задают там, где действие чего-то стоит.

ДействиеЧто делаетНа что смотреть
ЗапуститьОткрывает каждый выбранный профиль в своём окне, один за другимЗапуски разнесены по времени, кнопки заперты на время прогона
ОстановитьЗакрывает браузеры выбранных профилейНезапущенные пропускаются, а не считаются неудачей
В группуПроставляет одну группу всем выбранным профилямВыбор «Без группы» вместо этого снимает группу
Назначить проксиОдин сохранённый прокси, один набранный руками или раздача по кругуРаздача по кругу пропускает открытые профили и называет их число
ИсторияОтдаёт выбранные профили куки-роботу, чтобы тот походил по сайтамИдёт через тот же список задач и той же кнопкой отменяется
ЭкспортПишет выбранные профили в файл по вашему выборуСначала спрашивает про пароли прокси и говорит, какой из двух файлов вы получили
УдалитьПереносит выбранные профили в корзинуВ вопросе названо число, ничего пока не стирается

Групповой запуск это очередь, а не залп

Полсотни аккаунтов, зашедших за одну минуту с ровными промежутками, сами по себе примета. Поэтому перед каждым открытием, кроме первого, очередь ждёт от 3 до 14 секунд, и ждёт случайно. Случайность важна: ровные семь секунд читаются так же легко, только считаются ещё проще. На полусотне профилей заходы растягиваются на несколько минут.

Пауза стоит только на запуске. Перенос в группу, назначение прокси, выгрузка и удаление сайтам не видны вовсе, и тянуть их незачем.

Сколько браузеров можно держать открытыми, решает ваша машина, а не число, вбитое в код. Программа берёт всю память, оставляет 3 ГБ системе, кладёт около 1 ГБ на браузер и держит итог между 4 и 32. Если память узнать не удалось, берётся 8. Своё число можно поставить в тех же границах.

Упереться в этот потолок не значит провалиться. Очередь ждёт освободившегося окна шагами по пять секунд, до получаса, помечает задачу как ждущую и один раз за пакет говорит вам, что ждёт. Если за это время место не появилось, пакет останавливается, и в отчёте сказано, сколько успело открыться.

  1. 1

    Посмотреть отмену

    Отмена читается между профилями. Тот, что уже открывается, дойдёт до конца, следующий не начнётся.

  2. 2

    Выдержать разброс

    Свежая случайная пауза от 3 до 14 секунд, после неё отмена читается ещё раз: за это время вы могли передумать.

  3. 3

    Попросить открыть

    В ответ приходит либо открытый профиль, либо настоящая ошибка, либо признак «мест сейчас нет».

  4. 4

    Дождаться места

    На признаке нехватки мест очередь спит пять секунд и просит снова, до получаса, и после каждого сна смотрит отмену.

  5. 5

    Записать и идти дальше

    Итог засчитывается, полоса хода двигается, а первая настоящая ошибка сохраняется для отчёта.

Отчёт считает то, что случилось на самом деле

Каждый групповой прогон заводит задачу в центре задач: название, полоса хода и кнопка отмены. Ход записывается после каждого профиля, поэтому долгий прогон видно как движение, а не как замерший экран.

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

Кончившиеся места это отдельная фраза, а не ошибка: ничего не сломалось. Но настоящие ошибки называются рядом, чтобы занятый профиль или негодный прокси не выдавались за недошедшую очередь.

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

Все получились
Запущено профилей: 30.
Часть не вышла
Запущено 27 из 30, и рядом первая настоящая причина.
Отменено
Отменено на 12 из 30, и вторая строка, если кто-то из этих 12 правда не открылся.
Мест нет
Открыто 8 из 30: мест больше нет. Закройте окно браузера и запустите остальные.
Менять нечего
Все выбранные профили уже в этой группе, ничего не изменилось.

Здесь формулировки укорочены. В программе эти строки живут на 22 языках, и отчёт выбирает ключ по итогу, а не сверкой с английским текстом.

Действия, способные молча испортить сотню профилей, сначала спрашивают

Массовое действие это одно нажатие по всему выделенному, поэтому места, где оно может навредить тихо, закрыты по одному. Удаление называет число в вопросе. Окно назначения прокси открывается с очищенными полями, включая путь к ключу: оставшееся с прошлого раза значение иначе разъехалось бы по всей пачке.

Пустая форма прокси означает «снять прокси», а окно открывается пустым, поэтому на это есть отдельный вопрос с числом и словами о том, что эти профили пойдут в сеть напрямую. Галочка «раздать по кругу» не переживает закрытия окна, и выбор из библиотеки не помнит прошлый раз: иначе одна и та же кнопка при первом заходе снимала бы прокси, а при втором молча возвращала прежний адрес.

Выбранный из библиотеки прокси назначается записью, а не копией её полей. Профиль остаётся связан с библиотекой, и всё, что к ней относится, продолжает работать: проверки, страна выхода, смена адреса. Набранный руками прокси не принимается наполовину заполненным: такой выглядел бы настроенным на каждом профиле и молча пропускался бы при запуске.

  • Группа уже та самая

    Если все выбранные профили уже в этой группе, вам скажут, что менять нечего, вместо показа переноса, которого не было.

  • Раздача по кругу

    Профили с открытым браузером пропускаются, и число пропущенных входит в отчёт.

  • Прокси лёг не на всех

    Когда обновилось меньше профилей, чем выбрано, это предупреждение с двумя числами, а не успех.

  • Метка в кабинете

    Метка добавляется к тем, что уже стоят. Замена стёрла бы разметку сотни профилей, и вернуть её было бы неоткуда.

Группа это запись с именем, цветом и порядком

Группа это настоящая запись на вашем компьютере: номер, имя, цвет, порядок, время создания и время правки. Она лежит в файле групп с правами только для хозяина. Устройство записи в точности повторяет модель групп в аккаунте, поэтому один экран читает обе, а будущее сведение будет слиянием, а не переписыванием.

Группы работают и без входа в аккаунт. Раньше они жили только на сервере, и экран групп был вечным замком «войдите», а выбор группы был везде погашен, хотя группа всё это время описывала профили, лежащие в файле на этой машине.

Правил немного, и каждое нарочно. Имя обрезается до 60 знаков, на компьютере помещается до 200 групп, а одинаковое имя не принимается: два одинаковых пункта в списке выбора это ловушка, а не удобство. Цвета берутся из готового набора, двенадцать в программе и семь в кабинете, поэтому группе нельзя дать оттенок, сливающийся с тёмной темой.

Перестановка это подсказка для глаз, и потерять группу она не умеет: незнакомые номера пропускаются, пропущенные дописываются в конец. Щелчок по карточке группы отбирает список по ней. Удаление группы отвязывает её профили, а не оставляет их с номером, которого нет, и программа говорит, сколько профилей пошло за правкой.

Экран групп в ARMANOS: цветные точки, имена и число профилей
На карточке видны цвет группы, имя и число профилей. Щелчок отбирает список.

Группы решают и то, кто что видит

В рабочем пространстве исполнителя можно посадить на определённые папки. Единица такого доступа это группа, поэтому переименование не должно плодить двойника: каждая местная группа хранит номер своей папки в аккаунте, а не сводится с ней по имени.

Удаление кладёт в корзину, а «навсегда» значит навсегда

Удаление мягкое. Оно ставит время удаления, профиль уходит из списка, а данные остаются нетронутыми. Сначала закрывается браузер: удаление работающего профиля раньше убирало строку и оставляло процесс Chromium живым, тот продолжал ходить по сайтам и писать в каталог, у которого больше не было хозяина. Профили в корзине не занимают место в квоте тарифа.

Корзина показывает два списка, сведённых в один: то, что вы удалили на этом компьютере, и то, что ещё хранит аккаунт. Профиль, удалённый на другой машине или до переустановки, помечен значком «в аккаунте» и восстанавливается отсюда. При восстановлении сервер заново сверяет квоту, и отказ отменяет восстановление и показывается на вашем языке, а не проглатывается под сообщением об успехе.

«Удалить навсегда» обязано быть правдой: на эту фразу люди опираются, когда продают машину. Сначала стираются данные браузера на этом диске: раздел встроенного движка и каталог ARMANOS Browser, с повторами, потому что Windows отпускает файлы не сразу. Затем уходят выбор расширений, расписания, записи о запусках, счётчики, отметка скорости, ключ стартовой страницы и шифрованный файл сессии в общей папке.

Если что-то из этого не удалось, вам об этом скажут. В сообщении сказано, что запись удалена, но cookies и сохранённые входы могут остаться на диске, названа причина и предложено закрыть браузер этого профиля и удалить ещё раз. Очистка всей корзины идёт тем же ходом и даёт такой же честный счёт.

  1. 1

    Удалить

    Браузер закрывается, ставится время удаления, строка уходит из списка, данные остаются.

  2. 2

    Корзина показывает

    Местные и аккаунтные записи сведены и отсортированы от свежих, у тех, что есть только в аккаунте, стоит значок.

  3. 3

    Восстановить

    Сервер заново сверяет квоту. Отказ останавливает восстановление и называется словами, а профиль, известный только аккаунту, принимается на этот компьютер.

  4. 4

    Удалить навсегда

    Сначала стираются данные, потом запись. В сообщении сказано, вышло ли стирание на самом деле.

В кабинете то же самое, кроме запуска

В кабинете те же галочки, то же правило «выбрать все значит всё найденное» и четыре действия: переложить в папку, назначить прокси из общего списка, добавить метку, удалить. Метка это единственное, что ставится пачкой в кабинете и не ставится в программе, где метки правятся у самого профиля.

Групповых ходов на сервере нет, и они не нужны. Кабинет перебирает поштучные обращения, ровно как это делает программа, и показывает счёт по ходу дела. Первая же беда нарочно останавливает перебор: если кончился доступ или пропала связь, остальные сорок девять обращений повторят ту же ошибку, пока вы смотрите на застывшую страницу.

Отчёт разделяет изменённое и то, что и так было верным. Профиль, у которого метка уже стоит, не трогается вовсе и считается пропущенным, поэтому «готово, 50» не может втайне означать, что не изменилось ничего. Профили, исчезнувшие из списка, выпадают из выделения, и полоса не скажет «выбрано 12» над девятью живыми профилями.

Группового запуска там нет и не будет: браузер открывает программа на вашем компьютере. Кабинет говорит об этом прямо под полосой, чтобы его отсутствие читалось как устройство продукта, а не как поломка. Корзина в кабинете восстанавливает и стирает по одному профилю, каждый со своим подтверждением.

  • Переложить в папку

    Те же папки, что видны в программе, выбираются из списка.

  • Назначить прокси

    Берётся из вашего сохранённого списка, по имени и адресу.

  • Добавить метку

    Добавляется к уже стоящим, а повторы считаются пропущенными.

  • Удалить

    Два нажатия: кнопка, затем подтверждение с числом.

Чего это не делает

  • Не запускает браузеры из кабинета. Групповой запуск и остановка живут в программе, потому что браузер работает на вашем компьютере.
  • Массовую правку нельзя отменить одним нажатием. Обратимо только удаление, через корзину. Перенос в группу или назначение прокси на 200 профилей отменяется тем, что вы выбираете их снова.
  • Корзина не очищается сама. Ничего не стирается по сроку, и удалённый профиль лежит там вместе со своими данными, пока вы не восстановите его или не удалите навсегда.
  • Группы не вкладываются друг в друга. Подпапок нет, профиль принадлежит не более чем одной группе, а на компьютере помещается до 200 групп.
  • Массовое действие это перебор, а не один запрос. Пятьдесят профилей это пятьдесят обращений. В кабинете первая беда останавливает остальные, в программе неудачный профиль считается и прогон идёт дальше.

Как проверить

За каждым утверждением выше стоит строка кода и стенд, который её исполняет.

Групповой запуск разносит открытия на случайные 3 до 14 секунд
apps/desktop/src/manager/renderer.js · apps/desktop/test/запуск-не-залпом.js
Очередь ждёт свободного окна, а не записывает профили в провал
apps/desktop/src/manager/renderer.js · apps/desktop/test/очередь-запуска.js
«Выбрать все» берёт только найденное, а метка добавляется, а не заменяет
apps/web/lib/bulk.ts · apps/web/test/массовые-действия-кабинета.js
Удаление навсегда сообщает, стёрлись ли данные на диске на самом деле
apps/desktop/src/main/main.js · apps/desktop/test/purge-honesty.js
После удалённого профиля не остаётся ни браузера, ни журнала запусков, ни счётчиков
apps/desktop/src/main/main.js · apps/desktop/test/delete-leaves-nothing.js

Попробуйте на своём списке

Поставьте ARMANOS, заведите несколько профилей и посмотрите, как групповой прогон честно отчитывается о себе.