Верстакфорум практиков
рекламаiprazon: приватные серверные адреса IPv4 и SOCKS5, безлимитный трафик, бесплатный тест до 2 часов
ФорумБраузеры и профили

Chromium: ключи запуска для отдельного профиля

ostrov
ostrov
Участник
сообщений 505
с окт
8 февраля, 11:37первое сообщение

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

Сейчас у меня так:

chromium --user-data-dir=/home/o/p/kab1 --proxy-server=socks5://198.51.100.12:1080

Работает, только подозреваю, что половина нужного пропущена. Что дописать и зачем?

Борис Лапин
Борис Лапин
Знаток
сообщений 1960
с мар
15 июля, 14:54#2

Дописать есть что, разберу по кускам.

--user-data-dir задаёт каталог со всем содержимым профиля. Вот это и есть настоящая граница между кабинетами: куки, хранилище, расширения, настройки. Не путайте его с --profile-directory, тот выбирает подпапку внутри уже заданного каталога, вроде Default или Profile 1, и разводит слабее.

--proxy-server понимает схему прямо в строке, socks5:// или http://. Пару имя и пароль он не принимает, это отдельная история.

--host-resolver-rules="MAP * ~NOTFOUND" закрывает утечку имён мимо сокета. Без него Chromium в части случаев ходит к службе имён сам по себе.

--disable-background-networking убирает фоновую возню: проверку связи, подтягивание списков, отчёты.

--disable-component-update останавливает докачку встроенных модулей на старте. Те самые запросы, которые уходят до того, как вы открыли первую вкладку.

--no-first-run и --no-default-browser-check просто убирают лишние окна при первом запуске нового каталога.

ostrov
ostrov
Участник
сообщений 505
с окт
22 декабря, 17:11#3
Борис Лапин: закрывает утечку имён мимо сокета

Это же не сломает обычные имена внутри сети? У меня на машине локальный сервер висит по имени.

stackfix
stackfix
Участник
сообщений 495
с окт
1 мая, 08:28#4

Сломает, если забыть про исключение. Оно пишется через запятую внутри того же ключа.

Я такое держу функцией в ~/.bashrc, чтобы строку не собирать заново каждый раз:

kab() {
  chromium \
    --user-data-dir="/home/s/profili/$1" \
    --proxy-server="socks5://$2" \
    --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost" \
    --disable-background-networking \
    --disable-component-update \
    --no-first-run &
}

Дальше kab kab1 198.51.100.12:1080 и всё.

пишу скрипты, чтобы не писать скрипты
mila_ops
mila_ops
Новичок
сообщений 175
с апр, второй сезон
8 октября, 11:45#5

а размер окна тоже ключом ставить? видела где-то --window-size

Борис Лапин
Борис Лапин
Знаток
сообщений 1960
с мар
15 марта, 14:02#6

mila_ops, можно, только осторожно. Окно, растянутое ключом до цифры, которой ни у кого больше нет, само по себе заметно. Берите обычный размер рабочей области минус панель, и делать его одинаковым по всем профилям тоже не надо.

Ринат Ахметов
Ринат Ахметов
Участник
сообщений 700
с авг
22 августа, 17:19#7

Свёл ключи в табличку, чтобы не листать тему целиком.

КлючЧто делает
--user-data-dirкаталог профиля целиком
--profile-directoryподпапка внутри каталога
--proxy-serverадрес и схема
--proxy-bypass-listчто пускать мимо
--host-resolver-rulesимена узлов через сокет
--disable-background-networkingфоновые запросы браузера
--disable-component-updateдокачка модулей на старте
--langязык интерфейса

Отдельно про --remote-debugging-port: ставьте его, только когда он правда нужен, и слушайте им петлю на самой машине. Открытый наружу порт отладки отдаёт весь профиль кому угодно.

stackfix
stackfix
Участник
сообщений 495
с окт
1 января, 08:36#8

К табличке добавлю грабли: два запуска с одним --user-data-dir дают второе окно в первом же процессе. Ключи второй строки при этом молча выкидываются, браузер берёт настройки первого запуска.

пишу скрипты, чтобы не писать скрипты
ostrov
ostrov
Участник
сообщений 505
с окт
8 июня, 11:53#9

Собрал функцию по образцу stackfix, прогнал четыре профиля.

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