Ввоз
Ввоз аккаунтов из таблицы
- 13
- Столбцов понимает
- .csv .txt .tsv
- Виды файла
- 200
- Профилей за одно нажатие
- 100
- Заготовок
Ваши аккаунты уже лежат в таблице
Завести полсотни аккаунтов по одному это самое утомительное, о чём программа может вас попросить. При этом список у вас уже есть: выгрузка от поставщика или таблица, которую ведёт команда.
Нажмите «Из таблицы» над списком профилей. Выбор файла принимает .csv, .txt и .tsv, а именно это отдают Excel, Google Таблицы и почти любая выгрузка продавца.
Файл читает настоящий разбор CSV, а не деление строки по запятым. Это важно: разбор, съехавший на столбец, не падает с ошибкой. Он создаёт профили, которые выглядят правильными и несут чужой прокси, а откатывать такое хуже, чем завести всё руками.
| Что приезжает в файле | Что с этим делает разбор |
|---|---|
| Метка порядка байтов от Excel | Снимается, и первый заголовок по-прежнему опознаётся, а не превращается в незнакомый столбец. |
| Точки с запятой или табуляция вместо запятых | Разделитель считается по строке заголовков вне кавычек, поэтому узнаются запятая, точка с запятой и табуляция. |
| Поле в кавычках с запятыми или переводом строки | Остаётся целым. Имя вида «Иванов, Иван» это одна ячейка, и вся строка не съезжает. |
| Удвоенная кавычка внутри поля | Читается как одна настоящая кавычка, по правилу RFC 4180. |
| Переводы строк Windows и пустая строка в конце | Разбираются. Строка, пустая во всех ячейках, отбрасывается, а не становится пустым профилем. |

Столбцы сопоставляются по смыслу, а не по точному названию
Названия столбцов ваши, а не наши. Каждая ячейка заголовка приводится к общему виду до сравнения: регистр не важен, пробелы, подчёркивания, дефисы и точки убираются, кавычки и скобки тоже. «Profile Name», «profile_name» и «PROFILE NAME» это одно и то же.
Дальше у каждого поля свой щедрый список названий, и не только английских. Сама программа говорит на 22 языках, и столбцы узнаются на многих из них: русском, украинском, испанском, французском, немецком, польском, турецком, японском, китайском, корейском и других. Каждое такое название это ещё один человек, которому не пришлось переименовывать столбец перед ввозом.
Сопоставление держат два правила. Если в файле два столбца об одном и том же, побеждает первый: второй обычно и есть тот, что пустее. А столбец, не совпавший ни с чем, никогда не угадывается: он назван по имени в разборе и в ввоз не идёт.
| Поле | Какие заголовки подходят | Во что превращается |
|---|---|---|
| Имя | Name, Profile name, Account, Имя, Название, Аккаунт | Имя профиля. Единственная обязательная ячейка. |
| Группа | Group, Folder, Team, Группа, Папка, Категория | Настоящая группа, заводится, если такой ещё нет. |
| Прокси | Proxy, Proxy URL, Прокси, Адрес прокси | Одна ячейка в записи продавца. |
| Вид прокси | Proxy type, Protocol, Тип, Протокол | http, https, socks5 или ssh. |
| Узел прокси | Proxy host, Host, IP, Хост, Сервер | Адрес, через который выходит профиль. |
| Порт прокси | Proxy port, Port, Порт | Порт от 1 до 65535. |
| Логин прокси | Proxy login, Proxy username, Логин прокси | Только заголовки, где сказано «прокси». |
| Пароль прокси | Proxy password, Proxy pwd, Пароль прокси | Только заголовки, где сказано «прокси». |
| Шаблон | Template, Fingerprint, OS, Шаблон, Система | Один из пяти шаблонов отпечатка. |
| Сценарий | Scenario, Purpose, Сценарий, Назначение | Сценарий профиля. Без ячейки берётся privacy. |
| Метки | Tags, Labels, Теги, Метки | Делятся по запятой и точке с запятой внутри ячейки. |
| Заметки | Notes, Comment, Заметки, Описание | Переносятся как написано. |
| 2FA | 2FA, TOTP, OTP secret, Ключ 2FA | Ключ одноразовых кодов для этого аккаунта. |
Столбец «Пароль» принадлежит аккаунту, а не прокси
В таблице аккаунтов почти всегда рядом стоят «Логин» и «Пароль». Они принадлежат аккаунту, а не прокси, и ввоз обращается с ними именно так.
Однажды это было сделано неверно, и вред получился тихим. Совершенно обычная таблица «Имя, Логин, Пароль, IP, Порт, Логин прокси, Пароль прокси» отправляла данные аккаунта в настройки прокси. Пароль аккаунта попадал в общую библиотеку прокси и уходил провайдеру при каждом запуске профиля. Настоящий пароль прокси при этом терялся, прокси отвечал 407, и профиль не работал.
Теперь на поля прокси годятся только заголовки, где сказано «прокси». Простые «Логин» и «Пароль» остаются несопоставленными, называются в разборе как оставленные в стороне и никуда не ввозятся.
Жалоба была не про то
Во что превращается одна строка
Каждая строка собирается в черновик профиля, поле за полем, и именно черновик вы утверждаете на следующем шаге.
Прокси может приехать одной ячейкой, в той записи, какую прислал продавец. Читаются host:port, host:port:логин:пароль, логин:пароль@host:port и socks5://логин:пароль@host:port, а метка после вертикальной черты и ссылка смены IP после решётки вынимаются из той же строки. Невидимые знаки, приезжающие вместе со вставленным адресом, вроде неразрывного пробела, убираются до разбора.
Или прокси приезжает отдельными столбцами, как в выгруженном образце. Там вид связи не угадывается. Пустая ячейка вида означает «продавец не указал», и http для неё разумное чтение. А названный, но незнакомый вид называется вслух, а не понижается: тихое понижение означает, что вы думаете, будто идёте через socks5, а идёте открыто.
- 1
Имя
Берётся как есть. Пустая ячейка помечает строку как беду, а не создаёт безымянный профиль.
- 2
Прокси
Читается из одной ячейки прокси или из столбцов вида, узла, порта, логина и пароля.
- 3
Шаблон
Слово в ячейке превращается в macos-chrome, windows-chrome, linux-chrome, android-chrome или android-tablet. «windows», «ubuntu», «телефон» и «планшет» попадают туда, куда вы ожидаете. Незнакомое слово даёт macos-chrome.
- 4
Группа, метки, заметки
Группа пока держится именем. Метки делятся по запятой и точке с запятой внутри ячейки. Заметки переносятся как написаны.
- 5
Ключ одноразовых кодов
Голый ключ base32 или целая ссылка otpauth://. Ссылка несёт свои число знаков, шаг и алгоритм.
- 6
Сценарий
Берётся из ячейки, если она есть. Строки без неё получают сценарий privacy.
Пока вы не увидели разбор, ничего не создаётся
Ввоз идёт в два шага нарочно. Сперва файл читается и сопоставляется, и понятое показывается до того, как появится хоть один профиль.
Разбор называет обе стороны: слева ваш заголовок, справа наше поле. Вы сверяете наше чтение со своим файлом, а не верите ему на слово. Столбцы, не совпавшие ни с чем, перечислены по именам.
Ниже стоит образец первых пяти строк, и показан он значениями, а не рассуждениями о названиях: номер строки, имя, группа и адрес прокси, который в самом деле будет использован. Сопоставление, съехавшее на столбец, видно именно здесь, в значениях.
«Отмена» сбрасывает разобранный файл в главном ходе программы. Позднее нажатие «Создать профили» не сможет сработать по файлу, который вы считали закрытым.
- Файл
- accounts.csv, строк найдено: 120
- Сопоставление
- Аккаунт > Имя · Логин прокси > Логин прокси · Тип > Вид прокси
- Оставлено в стороне
- Дата покупки, Менеджер
- Строка образца
- строка 2 · Amazon Seller DE · Marketplaces · socks5://198.51.100.10:8000
- Строк с бедой
- 3. Номера: 14, 27, 88
Номера строк те же, что у вас в таблице: заголовок это строка 1, значит первый аккаунт это строка 2.
Непрочитанная строка называется по номеру
Строка с бедой всё равно собирается и всё равно показывается. Спрятать её значит завести ввоз, который тихо теряет строки, и через месяц выяснится, что аккаунт 47 так и не приехал.
Что будет дальше, решает галочка. Она стоит по умолчанию, и тогда создаются только чистые строки. Снимите её, и строка создастся без той части, которую не удалось прочитать: непонятная ячейка прокси даст профиль без прокси, а не отсутствие профиля.
Строка без имени не создаётся в любом случае. Всё остальное это ваш выбор, сделанный при значениях перед глазами.
| Беда в строке | Как выглядит | Что делает ввоз |
|---|---|---|
| Нет имени | Ячейка имени пуста | Строка не создаётся никогда, с галочкой и без неё. |
| Прокси не читается | «спросить у продавца» в ячейке прокси | Названа вместе с номером строки. Профиль создаётся без прокси, а не с выдуманным. |
| Вид прокси не поддержан | Протокол, которого программа не знает | Назван вслух. Ничего не понижается молча до http. |
| Ключ 2FA непригоден | Ключ со знаками не из base32 | Назван и не сохранён. Неверные коды валят вход, а несколько неудач запирают аккаунт. |
Ввоз заодно наполняет группы и библиотеку прокси
Названия групп из файла становятся теми же полноценными группами, какими пользуется вся программа. Сведение идёт без учёта регистра, поэтому «Продажи» и «продажи» не превращаются в две группы, а несуществующая группа заводится.
У вошедшего в аккаунт местный номер группы переводится в серверный до создания профиля. Без этого шага сервер отвергает каждую строку с группой, и ввоз ста строк с группами создавал ноль профилей. Столбец группы стоит вторым в нашем же образце файла, поэтому беда доставала почти каждого.
Прокси из файла тоже попадают в общую библиотеку, без повторов по узлу, порту и логину, и с меткой того профиля, с которым приехали. Тогда ротация, проверки и одна смена пароля доходят до ввезённого профиля так же, как до заведённого руками.
Ключ одноразовых кодов записывается в профиль сразу после его создания, поэтому ввезённый профиль готов входить, а не настроен наполовину.
Создано
Профили, которые теперь есть.
Пропущено
Строки, от которых программа отказалась, с причиной последнего отказа.
Новых групп
Группы, которые ввозу пришлось завести по дороге.
Прокси в библиотеку
Сколько записей добавлено. Уже известные адреса берутся прежние, а не заводятся заново.
Заготовка несёт ваши решения, но не отпечаток
Откройте профиль, настройте его так, как вам нужно, и нажмите «Сохранить как заготовку». Заготовка это те самые решения под именем.
В ней лежат сценарий, шаблон системы, группа, прокси, срок ротации, адрес открытия, запуск без окна, версия ядра вроде 153.0.7978.0, заметки и метки. Прокси, вписанный руками, едет целиком, вместе с путём к ключу для выхода по SSH, а его пароль закрывается связкой ключей системы, когда система это умеет.
Отпечатка в ней нет, и это половина поважнее. Отпечаток выводится из собственного номера профиля по поколению 4, поэтому полсотни профилей из одной заготовки это полсотни разных машин. Скопировать одну машину пятьдесят раз это самый быстрый способ дать узнать группу аккаунтов как группу, причём видно это при первом же запуске, безо всякой истории.
Хранится в заготовке
Сценарий, шаблон системы, группа, прокси, ротация, адрес открытия, запуск без окна, версия ядра, заметки, метки.
Не хранится никогда
Отпечаток, куки, сессии. Каждый новый профиль выводит свою машину из своего номера.
Пределы
До 100 заготовок, имя до 60 знаков, до 12 меток в заготовке.
Пакет профилей с именами, продолжающими ряд
Нажмите «Создать пакет», выберите заготовку, впишите основу имени и количество. Пакет строится по заготовке: решения общие, машины разные.
Имена продолжают ряд, а не начинают его заново. Номера дополняются нулями по ширине наибольшего, поэтому «Работа 01 … Работа 50» сортируется по порядку, а «Работа 1» рядом с «Работа 10» нет. Если «Работа 01» и «Работа 02» уже есть, а вы просите ещё три, вы получите 03, 04 и 05.
Запас вашего тарифа проверяется до создания первого профиля, а не посреди работы. Free держит 2 профиля, Professional от 10 до 100, Business от 200 до 1000, Enterprise от 5000. Если пакет не помещается, в сообщении сказано, сколько поместится.
За одно нажатие создаётся до 200 профилей. Первая же беда останавливает пакет: если кончилась норма или пропала сеть, остальные сорок девять попыток дадут ту же ошибку, а вы будете ждать их все.
- 1
Выберите заготовку
Строка под выбором называет сценарий, шаблон системы, группу, прокси и версию ядра, которые пойдут в дело.
- 2
Основа имени и количество
Основа имени и число профилей. Больше 200 за одно нажатие не создаётся.
- 3
Прочтите строку показа
Она показывает первое и последнее имя до того, как вы что-нибудь нажмёте. Полсотни профилей с неожиданными именами переименовываются только по одному.
- 4
Создайте
Профили появляются в списке: у каждого свой отпечаток, своё хранилище и общие решения из заготовки.
Чего это не делает
- Книги Excel и OpenDocument не читаются. Сохраните лист как CSV или TSV: выбор файла принимает .csv, .txt и .tsv.
- Ввоз приносит настройки, а не сессии. Куки, состояние входа и местное хранилище в таблице не лежат и вместе с ней не приезжают.
- Разобранный прокси это ещё не работающий прокси. Ввоз читает адрес, но не звонит по нему. Проверьте записи потом на странице прокси.
- Строки не сводятся с уже имеющимися профилями. Одно и то же имя дважды даст два профиля, а повторный ввоз того же файла создаст всё заново.
- Голый ключ 2FA читается с обычными настройками: 6 знаков, шаг 30 секунд, SHA1. Если ваша площадка выдаёт 8 знаков или шаг 60 секунд, положите в ячейку целую ссылку otpauth://.
Как проверить
За каждым утверждением этой страницы стоит файл, который можно открыть, а у большинства ещё и стенд, падающий при изменении поведения.
- Файл читается как CSV, а не делится по запятым: метка байтов, точки с запятой, табуляция, запятые и переводы строк внутри поля.
- apps/desktop/src/lib/csv.js · apps/desktop/test/csv-import.js
- Столбцы сопоставляются по смыслу, а не совпавший ни с чем называется, а не угадывается.
- apps/desktop/src/lib/profileImport.js · apps/desktop/test/csv-import.js
- Столбцы «Логин» и «Пароль» аккаунта никогда не становятся логином и паролем прокси.
- apps/desktop/src/lib/profileImport.js · apps/desktop/test/csv-proxy-columns.js
- Название группы из файла становится настоящей группой, а у вошедшего в аккаунт уходит серверный номер, а не местный.
- apps/desktop/src/main/main.js · apps/desktop/test/csv-import-groups.js
- Заготовка копирует решения, но не отпечаток, норма проверяется до создания, а имена пакета продолжают ряд.
- apps/desktop/src/lib/presets.js · apps/desktop/test/заготовки-и-пакет.js
Перенесите свой список
Скачайте ARMANOS, нажмите «Из таблицы» над списком профилей и сверьте разбор до того, как что-нибудь создастся.