Блог
Как перевезти сто профилей из таблицы за один вечер
Команда ARMANOS7 мин
Что уже лежит в вашей таблице
В строке у вас обычно стоит имя аккаунта, группа или проект, адрес прокси и заметка. Рядом часто лежит ключ 2FA, теги и пометка про систему, и всё это программа умеет читать из таблицы как есть: кнопка «Из таблицы» над списком профилей открывает окно «Импорт из таблицы».
Ровно это и нужно профилю, чтобы открыться и войти. Переименовывать столбцы ради переноса не придётся.
- 1
Имя и группа
Имя профиля и группа, в которой вы его потом найдёте.
- 2
Прокси
Одной строкой в записи продавца или отдельными столбцами.
- 3
Ключ входа
Ключ 2FA, если он у вас уже выписан.
Сдвиг на один столбец губит весь импорт
Худшее тут не отказ, а тихий успех. Сто профилей у вас появились, выглядят верными и несут чужое имя рядом с чужим прокси, и заметите вы это на первой блокировке, а не на импорте.
Съезжает столбец от мелочей. Точка с запятой вместо запятой, кавычка внутри ячейки, перевод строки посреди заметки: любой из этих случаев двигает всё, что стоит правее.
| Что встречается в файле | Чем это кончается, если читать по запятым |
|---|---|
| Точка с запятой вместо запятой | Вся строка становится одним полем |
| Запятая внутри кавычек в заголовке | Разделитель выбран неверно, столбцы съехали |
| Перевод строки внутри заметки | Одна строка превращается в две |
| Невидимый знак от Excel в начале | Первый столбец не узнаётся вовсе |
| Табуляция вместо запятой | Столбец оказывается один на всю строку |
Разделителей три, а не один
Заголовки можно не переименовывать
Столбец программа узнаёт по смыслу, а не по точной строке. «Name», «Название», «profile name» и «имя профиля» означают для неё одно поле, и ни одно из четырёх не лучше других.
Регистр, пробелы, подчёркивания и точки в заголовке ничего не меняют. Так программа узнаёт тринадцать полей, и заголовок при этом бывает русским, украинским, испанским, немецким, польским, турецким, японским, китайским, корейским, тайским, арабским и вьетнамским.
Столбец, которого программа не поняла, она назовёт вам поимённо и оставит в стороне, не трогая остальных. Угадывать его нельзя: тихая догадка и есть тот самый сдвиг на один столбец.
Прокси одной строкой или пятью столбцами
Строку прокси от продавца переписывать не нужно. Пять привычных видов записи программа читает как есть, и метку после палки тоже: «Берлин» или ссылку на смену адреса, которая ляжет в профиль рядом с прокси.
Видов связи четыре: обычный прокси, он же с шифрованием, socks5 и выход через ваш сервер по SSH. Пустой столбец вида программа принимает за обычный прокси, потому что так его и заполняют чаще всего.
Названный, но чужой вид связи это отказ по строке. Тихое понижение до обычного прокси означало бы, что вы думаете про один путь, а идёте другим.
| Как это пишет продавец | Что получает профиль |
|---|---|
| адрес и порт | Обычный прокси без пары доступа |
| адрес, порт, логин, пароль | Пароль с двоеточием внутри доезжает целиком |
| логин и пароль перед собакой | Собаку внутри пароля за разделитель не принимают |
| вид связи впереди через две косые | Профиль пойдёт названным видом связи |
| вид связи, пара доступа, адрес и порт | И вид связи, и пара доступа приедут из строки |
Два написания socks5 и два чужих
Вид связи продавцы пишут по-разному: socks5 и socks5h означают одно и то же, и программа читает оба как socks5. Разницу в написании она не считает ошибкой, потому что за ней стоит один и тот же путь.
А socks4 это другой путь, и его программа не поддерживает: такая строка получает отказ с названием причины, а не тихое понижение до socks5 или до обычного прокси. Голое socks без цифры программа читает как socks4 и тоже отказывает, а в отказе советует поставить socks5, если продавец его даёт. Отказ в строке дешевле профиля, который идёт не тем путём.
Столбец «Пароль» не принадлежит прокси
В таблице аккаунтов «Логин» и «Пароль» принадлежат аккаунту: чтобы отдать их прокси, столбец надо назвать «Логин прокси» и «Пароль прокси». А вот адрес и порт программа узнаёт и по голым именам: «IP», «Хост», «Сервер», «Адрес», «Порт». Если ваш столбец «IP» это адрес регистрации аккаунта, переименуйте его, иначе он станет прокси.
Разница тут не косметическая. Пароль аккаунта, принятый за прокси-пароль, уходил бы провайдеру прокси при каждом запуске, настоящий пароль терялся бы, и узел отвечал бы отказом 407.
Поэтому голые слова «логин» и «пароль» программа к прокси не относит вовсе. Пароль от аккаунта остаётся в вашей таблице и в профиль не переезжает.
Ключ 2FA едет вместе с профилем
Ключ 2FA обычно лежит в той же таблице, рядом с паролем. Он переезжает вместе со строкой, и настраивать вход по второму разу вам не придётся: коды профиль считает сам.
Ссылка otpauth со своими настройками переезжает целиком: число цифр, длина шага и алгоритм. По умолчанию это шесть цифр, тридцать секунд и SHA1, и подставлять умолчание вместо ваших настроек нельзя.
Ключ, из которого коды не выходят, вам назовут и сохранять не станут. Неверный код отбивает вход, а несколько отбитых входов запирают аккаунт.
Порядок на сто строк за один вечер
Весь путь делится на пять шагов, и сверка стоит между четвёртым и пятым. Это единственное место, где стоит потратить пять минут, потому что после пятого шага сто профилей уже заведены.
Номер строки вы увидите тот же, что и в своей таблице: заголовок это первая строка, первый профиль вторая. Идти к беде вы будете по номеру строки, а не по счёту профилей.
- 1
Скачайте пример
Столбцы в нём названы так, как их ждёт программа.
- 2
Сложите свои строки
Порядок столбцов ваш, переименовывать ничего не надо.
- 3
Выберите файл
Вам покажут, какой столбец стал каким полем.
- 4
Сверьте первую пятёрку
Первые пять строк показаны значениями, а не именами столбцов.
- 5
Создайте профили
Строки с бедой можно пропустить или завести без испорченной части.
Пустые строки не сбивают номер
В живой таблице между блоками бывают пустые строки, и программа их пропускает. Номер при этом не сдвигается: отказ в тридцатой строке файла и называется тридцатой, сколько бы пустых строк ни стояло выше.
Так же считается и строка, разорванная переводом строки внутри кавычек: она занимает две строки файла, а номер получает один. Идти к беде вы будете по номеру, который видите в своей таблице, а не по счёту принятых профилей.
Сколько профилей поместится в ваш тариф
Сто профилей это не всегда сто мест в вашем тарифе. На бесплатном тарифе мест два, а ступени Professional идут по 10, 20, 50 и 100 профилей, у Business они начинаются с 200 и доходят до 1000, а Enterprise берёт от 5000.
Строка сверх нормы упрётся в отказ и останется у вас в файле. Поэтому ступень стоит выбрать до импорта, а не после сотой строки, когда первые пятьдесят уже заведены.
Группу из столбца программа заведёт сама и не станет делать вторую из-за регистра: «Продажи» и «продажи» для неё одна группа. Прокси из файла попадут в вашу общую библиотеку ARMANOS, и повтором считается адрес вместе с логином: один узел с посеансовыми логинами ляжет туда столькими записями, сколько логинов в файле.
Чего это не утверждает
- Это не утверждает, что все сто аккаунтов переживут первый день. Профиль повторяет машину, а поведение, платёжные данные и возраст аккаунта остаются вашими.
- Это не утверждает, что прочитается любой файл. Строка без имени профиля останется отметкой о беде, а не профилем.
- Столбец, которого программа не знает, она не переносит и не выбрасывает: его называют вам и оставляют в файле.
- Логин и пароль от самого аккаунта из таблицы не переезжают. Переезжает только ключ 2FA, и вписывать пароли в файл ради импорта не нужно.
Где это можно увидеть самому
Каждое число выше выходит из кода, который можно открыть и запустить.
- Кавычки, переводы строк и невидимый знак от Excel читаются по правилу
- apps/desktop/src/lib/csv.js
- Заголовок узнаётся по смыслу и сразу на нескольких языках
- apps/desktop/src/lib/profileImport.js
- Каждый случай это вид, в котором приезжает настоящая таблица
- apps/desktop/test/csv-import.js
- Пароль аккаунта не уходит в настройки прокси
- apps/desktop/test/csv-proxy-columns.js
- Строка с группой не пропадает при импорте
- apps/desktop/test/csv-import-groups.js
- Ключ 2FA даёт тот же код после переноса
- apps/desktop/test/config-import-2fa.js
- Пять видов записи прокси и четыре вида связи
- packages/shared/src/proxy-line.js · apps/desktop/test/proxy-library.js
- Ступени тарифа по числу профилей и норма по действующему тарифу
- packages/shared/src/index.js
- Перенос профиля не теряет полей ни одной из трёх дорог
- apps/desktop/test/перенос-не-теряет-полей.js
Вопросы
- Сколько времени займёт сто строк?
- Сам импорт идёт минуты. Время уходит на то, чтобы один раз посмотреть, какой столбец стал каким полем.
- Нужно ли переименовывать столбцы в моей таблице?
- Нет. Заголовок узнают по смыслу, в том числе по-русски и на других языках, а регистр и пробелы значения не имеют.
- Excel у меня сохраняет с точкой с запятой. Это помешает?
- Нет. Разделитель берут из первой строки файла, а невидимый знак, который Excel ставит в начало, снимают до чтения.
- Что будет со строкой, где прокси написан криво?
- Строку вам покажут с номером, как в таблице. Профиль по ней можно завести без прокси или пропустить её целиком.
- Можно ли импортировать группы вместе с профилями?
- Да. Имена из столбца группы станут вашими группами, а одинаковые имена в разном регистре останутся одной группой.
- Успею ли я остановиться, если столбцы встали не так?
- Да. До нажатия на создание программа не заводит ничего: сначала вам показывают, какой столбец стал каким полем, и первые пять строк.
- А если потом я перенесу эти профили на вторую машину?
- Профиль уедет со своими полями: группа, заметки, теги, шаблон и версия браузера. Ключ 2FA едет файлом переноса, а копия профиля его нарочно не берёт.
Рядом с этим
Импорт профилей из таблицы
Порядок шагов и что делать со строкой, которая не прочиталась.
Импорт из таблицы и экспорт
Что уезжает в файл и обратно, и чего в нём нет.
Пароль на прокси
Кому уходит пара доступа и чем отвечает узел при ошибке.
Бесплатная проверка отпечатка
12 значений, прочитанных в вашем браузере, и ни одного запроса наружу.
Перевезите первые десять строк
Возьмите из таблицы десять строк и пройдите на них весь путь. Если столбцы встали верно, остальные девяносто уйдут тем же вечером.