Linux google chrome proxy прописать

Обновлено: 07.07.2024

Настройка proxy для баузеров, основанных на Chromium

Конфигурирование • Proxy • SSH • SOCKS • Программное обеспечение • Мысли • Компьютерные истории • Истории

Минутка философии

Если честно, то я не всегда понимаю разработчиков ПО. Нет, вернее так - я не всегда понимаю, почему мы, разработчики, принимаем те решения, которые принимаем. Довольно давно идут споры по поводу того, является ли программирование просто ремеслом, или же в нем есть какое-то творческое начало. Я не знаю ответа на этот вопрос. Но точно могу сказать, что для меня программирование - это не обезличенное массовое производство. Его пытаются сделать таким, ибо в таком виде им легко управлять, его легко посчитать, прогнозировать и использовать. Но, в большинстве своем, оно, программирование, до сих пор не такое.

Программа очень часто несет на себе отпечаток личности того, кто является ее автором. Даже если ее пишет не один десяток человек, все равно она отражает мировоззрение ее истинного идеолога. Да что уж говорить, даже если дать одно и тоже совсем небольшое и несложное задание нескольким разным разработчикам, можно с большой долей вероятности утверждать, что они решат ее хоть немного, но по-разному. Нет, конечно есть все эти best practices, шаблоны и прочая и прочая, и тем не менее.

Настройки proxy - базовая информация

С этих филосовских высот вернемся на бренную землю. Сегодня я хочу поговорить о настройках proxy для браузеров, построенных на базе Chromium. В это большое семейство входят и Chrome собственной персоной, и продукт "российского Гугла" - Яндекса - Яндекс.Браузер, а также Opera, Brave, а сейчас ещё и Microsoft Edge. А proxy - это такой инструмент, который может во многом определить путь, по которому браузер, в конечном итоге, добирается до затребованной пользователем информации.

Во многих операционных системах существует возможность задать параметры proxy , которые будут действовать для всей системы. Если такую настройку выполнить, то многие программы, использующие возможности операционных систем, совершенно прозрачным для себя образом будут использовать эту настройку, и это хорошо. Ведь в таком случае разработчикам софта не придется писать некий код, который будет, в большинстве случаев, дублировать уже написанный ранее код (или код, который будет написан позже 🤔). К тому же, это ведь очень удобно - выполнить настройку в одном месте и не думать о том, в какой программе и каким образом можно добиться нужного результата.

Тем не менее, из общего правила всегда находятся исключения. Всегда найдется программа, которая должна, по каким-то причинам, игнорировать системные настройки и работать каким-то особенным, уникальным способом. Для этого ей потребуются свои собственные настройки, повторяющие, в определенной степени, то, что сделано на уровне системы, но позволяющие ей работать немного (или совсем) по другому.

Браузеры и proxy

Вот и с настройками proxy такая же история. Мне кажется, что браузер - это первый кандидат в число программ, которые должны иметь возможность использовать, хотя бы иногда, собственные настройки proxy , отличные от системных. Хотя, не буду скрывать, не единожды у меня возникало желание иметь возможность указать proxy даже не для браузера в целом, а для его отдельно взятой вкладки.

Вообще, сценариев использовать proxy можно придумать довольно много, но, для начала, было бы неплохо хотя бы иметь возможность задать настройки для приложения в целом из самого приложения. Видимо, так думали разработчики Firefox, которые реализовали в настройках своего браузера возможность указать конфигурацию proxy . Почему такой возможности не было предусмотрено у Internet Explorer, примерно, понятно - долгое время он был неотделим от операционной системы, следовательно, его настройки были настройками системы и наоборот.

Ну а разработчики Chromium думали несколько иначе, поэтому у них получилось весьма оригинальное решение. С одной стороны, они, видимо, мечтали о лаврах Internet Explorer , поэтому в версии для Windows настройки proxy для системы и для браузера есть суть одно и тоже. В версии для Linux , если я правильно помню, настройка параметров proxy из интерейса невозможна вообще.

С другой стороны, Chromium обладает развитым API , позволяющим расширять возможности базового приложения. Используя его, сторонние разработчики смогли создать расширения, позволяющие, в частности, настраивать параметры proxy . Примером может служить Proxy SwitchyOmega.

Возможно, использование расширений для настройки параметров proxy - это, действительно, выход для различных инкарнаций Chromium . Я, если честно, не очень люблю все вот эти дополнения к основному софту, хотя и понимаю, что часто это удобно и практично, и, если без них - никуда, то что ж тут поделаешь. Но когда я знаю, что нужного мне функционала я могу добиться и без дополнительного ПО, то я всегда выберу именно этот путь, хотя бы для того, чтобы убедиться, что он никуда не годится.

Так вот, вернёмся к настройкам proxy . У Chromium и у его многочисленных наследников, нет интерфейса, с помощью которого можно настроить параметры proxy . Но зато при старте этих программ можно с помощью параметров командной строки задать те самые настройки, о которых мы сейчас ведем речь.

Теперь стало понятно, почему в самом начале я написал всю эту философскую лабуду ни о чем? Это тот самый случай, когда я действительно не понимаю, почему разработчики написали парсинг командной строки, наверняка создали модель, позволяющую хранить и использовать результат этого разбора, но не удосужились "навесить" хотя бы простейший пользовательский интерфейс на все это добро. Возможно, это моё недоумение произрастает из моего незнания самого продукта с точки зрения его разработчиков. Но, как бы то ни было, разве это не искусство, непостижимое и эмоциональное?!

Параметры командной строки для настройки proxy

Ладно, теперь о серьёзном. Как можно указать при запуске тому же Chrome , какой proxy он должен использовать. Есть страничка, посвященная разработчиками Chromium сетевым настройкам. На ней достаточно информативно описано, какие параметры и для чего следует использовать. Приведу краткую выжимку для тех, кому просто лень переходить. Итак:

Есть еще один аспект, который следует учитывать. Параметр --proxy-server определяет proxy , через который направляются запросы и загружаются url -адреса. Однако, в Chromium есть отдельные модули, которые могут посылать запросы к DNS серверам напрямую, минуя proxy . Наиболее значимым таким модулем является DNS Prefetcher . Конечно, этот модуль можно отключить, но это не очень правильное решение, так как механизм может использоваться много где, и не совсем понятно, в каком месте вылезут последствия. Поэтому разработчиками Chromium предлагается использовать следующее решение - задать следующий параметр командной строки:

Эта настройка все DNS запросы увязывает с неверным адресом 0.0.0.0 . Единственным исключением является хост ( proxy_server ) с работающим proxy (в противном случае сам proxy стал бы недоступен).

Практическое применение знаний

Теперь, когда, вслед за философской, завершена и теоретическая часть, приступим к части практической. И начнем, пожалуй, с Windows .

Открываем свойства ярлыка, отвечающего за запуск нужного браузера:

Контекстное меню Windows

и в поле Объект добавляем нужные нам параметры, разделяя их пробелами (командная строка приведена для запуска в Windows браузера Microsoft Edge , остнованного на Chromium ):

Получаем примерно такую картинку:

Свойства ярлыка

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

Для Linux тоже все достаточно просто. Можно указать параметры в командной строке:

А можно отредактировать файл .bashrc (например, при помощи nano: nano

/.bashrc ), добавив в него алиас для вызова браузера уже с нужными параметрами, например, такой:

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

В этой статье содержится описание настроек прокси-соединений для различных программ.

Данная статья применима к:

Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

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

1-ый способ: пользовательские настройки


Для того, чтобы настроить прокси нажмите кнопку "Пуск", откройте "Системные", перейдите в пункт "Terminal Fly". После чего введите команду:
Для Astra Linux Special Edition и Astra Linux Common Edition до версии 2.12.29:

Для Astra Linux Common Edition 2.12.29 и выше :

Смените метод на "Использовать настройку прокси, указанную вручную" и введите ваши настройки прокси.

Минус такой настройки в том, что в случае, если у Вас прокси с авторизацией по логину и паролю, то указать эти данные невозможно и прокси не будет работать.

2-ой способ: общесистемные настройки


Настроить прокси на системном уровне можно и через конфигурационные файлы. Для этого нужно открыть на редактирования с правами root файл /etc/environment (например sudo nano /etc/environment). В конец файла добавим строки:

Если прокси без авторизации, то строки должны быть вида:

Для применения настроек следует перезагрузить ОС, изменения в файле /etc/environment вступают в силу при запуске процесса init - родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.

После чего следует ввести команду:

Для Astra Linux Special Edition и Astra Linux Common Edition до версии 2.12.29:

Для Astra Linux Common Edition 2.12.29 и выше:

Смените метод на "Использовать общесистемные настройки прокси" и нажмите кнопку "Автоопределение". После чего нажмите "Применить" и кнопку "Да".

Для настройки исключений (т.е. адресов, при обращении к которым proxy не применяется) нужно в файл /etc/environment добавить переменную no_proxy со значениями, которые нужно добавить в исключения, например:

Firefox умеет использовать как глобальные настройки, так и свои собственные. Для того чтобы назначить ему прокси, откройте его окно настроек, перейдите на вкладку "Дополнительно", далее на вкладку "Сеть" и нажмите на кнопку "Настроить", напротив надписи "Настройка параметров соединения Firefox с Интернетом". Важное отличие от других программ — он умеет использовать NTLM аутентификацию (используется на Microsoft Internet Security and Acceleration Server).

Chromium, также может использовать глобальные настройки и имеет свои. Для того чтобы назначить ему прокси персонально, откройте файл /etc/chromium/default и допишите следующие строки:

И перезапустите браузер

WEB-браузеры Firefox и Chromium игнорируют глобальные настройки proxy в части логина и пароля и при запуске регулярно запрашивают логин и пароль.
Для запоминания учетных даных proxy в браузере с паролем можно воспользоваться расширением (плагином) FoxyProxy.

APT может работать отдельно с персональными настройками. Сообщенные настройки: в файле /etc/apt/apt.conf нужно указать:

Если сервер без авторизации, то логин:пароль@ нужно убрать.

Если вы хотите указать настройки персонально для запускаемой программы, то перед ее запуском нужно выполнить:

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

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление

Как включить прокси

Прокси можно включить на уровне приложения или на уровне операционной системы.

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


Поддержка прокси в отдельных программах индивидуальна для каждой из них — некоторые приложения имеют настройки прокси, а некоторые нет. Даже если приложение не имеет настроек прокси, оно может использовать общесистемные настройки сети.

При включении прокси на уровне операционной системы это не гарантирует, что все программы будут выходить в Интернет через прокси — некоторые программы игнорируют системные настройки прокси.

Включение прокси в Windows

Включение прокси в Windows на уровне операционной системы

Перейдите в «Параметры», начните писать «прокси» и выберите «Изменение параметров прокси сервера вручную»:


Включите «Использовать прокси-сервер», введите IP и порт, поставьте галочку «Не использовать прокси-сервер для локальных (внутренних) адресов»:



И в других программах, например, в командной строке Windows:


Включение прокси в веб-браузерах

Google Chrome, Opera, Internet Explorer

Браузеры Google Chrome, Opera и Internet Explorer используют одни и те же настройки. То есть внесённые изменения будут действовать сразу для всех трёх браузеров. В любом из них перейдите к настройкам Прокси.


Откроется уже знакомое окно настройки прокси на уровне системы.


Включите «Использовать прокси-сервер», введите IP и порт, поставьте галочку «Не использовать прокси-сервер для локальных (внутренних) адресов»:


Когда всё будет готово, нажмите кнопку «Сохранить».

Firefox

Для изменения настроек прокси в Firefox, откройте окно настроек, в нём перейдите в Основное (пролистните в самый низ)→ Параметры сети → Настроить.



Также обратите внимание, что вы можете выбрать опцию «Использовать системные настройки прокси» для того, чтобы не настраивать прокси специально в Firefox, а наравне с другими браузерами и приложениями применять общесистемные настройки.

Включение прокси в Linux

Включение прокси в Linux на уровне операционной системы

В Linux настройки прокси на уровне системы находятся в соответствующих переменных окружения. Можно поместить команды присвоения значений этим переменным в один из скриптов, выполняемом при запуске Bash. Другой способ — это указать настройки прокси в графическом интерфейсе, обычно это делают в настройках NetworkManager. В разных окружениях рабочего стола настройка прокси в графическом интерфейсе различается.

Без графического интерфейса

Вариант без графического интерфейса, введите в консоль команды:

Конечно же, замените IP адреса и номера портов на те, которые имеют ваш прокси сервер.

Эти настройки сохраняться только до перезагрузки!

Чтобы настройки были постоянными и работали после перезагрузки компьютера, в файл /etc/bash.bashrc добавьте эти самые строчки (опять же, замените IP и номера портов):

GNOME

Если вы используете графический интерфейс, то перейдите в Параметры → Сеть. Нажмите шестерёнку там где «Сетевой прокси»:


Переставьте переключатель на «Вручную» и введите ваши данные:


После этого и веб-браузеры, и консольные утилиты будут использовать настройки прокси.


Но будьте осторожны с программами вроде Nmap, Masscan – они отправляют сырые пакеты, минуя системные вызовы, – проще говоря, они не используют настройки прокси.

Cinnamon

Кликните на иконку сетевых соединений, она может быть в виде символа Wi-Fi или такой, как показана на следующем скриншоте — это зависит от того, используете ли вы проводное или беспроводное подключение.


Нажмите «Network Settings».

Выберите вкладку «Network proxy» и введите параметры различных типов прокси.


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

Также вы можете воспользоваться программой dconf-editor. Установите её:


Перейдите в host и port, там прокурутите до надписи «Use default value», отключите этот ползунок после чего станет доступной для ввода строка «Custom value». Введите туда нужные вам значения.


Включение прокси в веб-браузерах на Linux

Chrome, Chromium

В Linux Chrome и Chromium используют системные настройки прокси. То чтобы веб-браузер использовал прокси вам нужно установить настройки одним из показанных выше способом.

Вы также можете запускать веб-браузеры в командной строке и помощью опции --proxy-server указывать желаемые параметры прокси, например:

Обратите внимание, что браузеры открываются в текущей сессии, это означает, что если у вас уже открыт Chrome (Chromium) без настроек прокси и вы запускаете ещё одно веб-браузера в командной строке с настройками прокси, то это новое окно также НЕ будет использовать настройки прокси. Чтобы настройки прокси применились, закройте все окна браузера и затем запустите его в командной строке.

Firefox

Для изменения настроек прокси в Firefox, откройте окно настроек, в нём перейдите в Основное (пролистните в самый низ)→ Параметры сети → Настроить.



Также обратите внимание, что вы можете выбрать опцию «Использовать системные настройки прокси» для того, чтобы не настраивать прокси специально в Firefox, а наравне с другими браузерами и приложениями применять общесистемные настройки.

Настройка мобильного телефона (Android) для использования прокси

Перейдите в настройки Wi-Fi подключений. Нажмите и удерживайте подключение, которое должно использовать прокси пока не появится всплывающее окно.


Выберите «Управление параметрами сети» и нажмите «Показать дополнительные параметры»:


Там где «Прокси» поставьте «Вручную»:


Впишите IP компьютера, выполняющего роль прокси, и порт:


Нажмите Сохранить.


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

Настройка использования прокси виртуальными машинами VirtualBox

Будьте внимательны с настройкой виртуальных машин! В VirtualBox в пункте меню «Файл» → «Настройка» есть вкладка «Прокси». Знайте, что эта настройка работает только когда VirtualBox проверяет и скачивает обновления.

Для виртуальных машин вам нужно настроить прокси индивидуально внутри операционной системы каждой из них.

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

Программы не обязаны соблюдать настройки прокси. Проксирование с помощью ProxyChains-NG

Как вы могли уже понять, некоторые программы не соблюдают общесистемные установки прокси и имеют свои собственные настройки прокси — примером является веб-браузер Firefox. Программы используют настройки прокси только если этот функционал предусмотрен разработчиками.

Среди программ могут быть такие, которые не соблюдают общесистемные настройки прокси и при этом не имеют своих собственных настроек. В конце концов, в Linux общесистемные настройки прокси — это просто значение переменной окружения. Кстати, ранее некоторые программы, которые хотели следовать общесистемным значениям настроек прокси, считывали значение переменной написанной в нижнем регистре, а некоторые в верхнем регистре (в Linux это совершенно разные вещи!), то есть настройки прокси могли быть установлены, программа пытается их получить и следовать им, но из-за того, что переменные окружения написаны буквами другого регистра, программа не находит их. Вроде бы, сейчас эта проблема не актуальна.

Более того, есть и такие программы, в которых можно установить свои собственные настройки прокси, но программы не следуют им, например, из-за технических ограничений — не все сетевые запросы возможно передать через прокси, в результате, программа отправляет такие сырые запросы напрямую, минуя прокси. К таким программа относится Nmap и более подробно об этом говориться в статье «Анонимные сканирования с Nmap, sqlmap и WPScan через Tor».

Чтобы прокси могли использовать даже программы, авторами которых это не предусмотрено, можно запускать их через утилиту ProxyChains-NG. Подробности вы найдёте на карточке программы ProxyChains-NG и в статье, на которую чуть выше дана ссылка.

Google Chrome в Linux имеет ряд полезных опций, например:

  • запуск веб-браузера в режиме инкогнито
  • можно указать путь до папки, где будут храниться данные профиля и кэш браузера
  • можно выбрать тип хранилища паролей
  • настройка прокси

Как и многие программы в Linux, Google Chrome поддерживает работу с опциями командной строки — все эти настройки можно указать при запуске веб браузера, но это не очень удобно. Кроме создания ярлыков, есть ещё один удобный способ прописать настройки для каждого пользователя компьютера: все настраиваемые флаги можно указать в файле

/.config/chrome-flags.conf, который является персональным для каждого пользователя.

Информацию об этой возможности вы могли заметить во время установки или обновления Google Chrome:


Как сохранить настройки в файле chrome-flags.conf

Чтобы открыть (или создать, если файл ещё не существует) файл персональных настроек Google Chrome для текущего пользователя выполните команду:

Чтобы установить настройки для другого пользователя, укажите полный путь до файла в домашней папке пользователя:

Формат файла chrome-flags.conf

Рассмотренные далее настройки (опции) вы можете использовать как в командной строке для запуска веб-браузера (команда запуска называется «google-chrome-stable», также вы можете указать эти настройки в файле

Вы можете использовать следующие форматы:

  • каждая настройка на отдельной строке
  • все настройки в одну строку, между собой настройки разделены пробелами


Опции и настройки Google Chrome в Linux

--user-data-dir=ДИРЕКТОРИЯ

Задаёт каталог, в котором хранятся данные пользователя (ваш «профиль»). По умолчанию это $HOME/.config/google-chrome. Отдельные экземпляры Google Chrome должны использовать отдельные каталоги пользовательских данных; повторные вызовы google-chrome (без закрытия активной сессии) будут повторно использовать существующий процесс для данного каталога пользовательских данных.

--app=URL

Открыть URL в «режиме приложения», то есть будуют отсутствовать панели браузера.

--incognito

Открыть в режиме инкогнито.

--new-window ПУТЬ|URL

Если указан ПУТЬ или URL, то в новом окре он будет открыт

--proxy-server=ХОСТ:ПОРТ

Где СХЕМА это протокол прокси сервера, им может быть один из:

Использовать прокси SOCKS v5 "foobar:1080" для загрузки URL: --proxy-server="socks://foobar:1080"

Использовать прокси SOCKS v4 "foobar:1080" для загрузки URL: --proxy-server="socks4://foobar:1080"

Использовать прокси SOCKS v5 "foobar:66" для загрузки URL: --proxy-server="socks5://foobar:66"

--no-proxy-server

Отключает прокси-сервер. Переопределяет любые переменные среды или настройки, выбранные в диалоговом окне параметров.

--proxy-auto-detect

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

--proxy-pac-url=URL

Укажите URL автоконфигурации прокси. Переопределяет любые переменные среды или настройки, выбранные в диалоговом окне параметров.

--password-store=<basic|gnome|kwallet>

Установите хранилище паролей для использования. По умолчанию обнаружение выполняется автоматически в зависимости от среды рабочего стола. basic выбирает встроенное незашифрованное хранилище паролей. gnome выбирает Gnome keyring. kwallet выбирает (KDE) KWallet. (Обратите внимание, что KWallet может не надёжно работать вне KDE.)

--version

Показать информацию о версии.

Переменные среды

Google Chrome соблюдает следующие переменные среды:

all_proxy

SOCKS_SERVER

Прокси-сервер SOCKS (по умолчанию SOCKS v4, возможно установить на SOCKS_VERSION=5 для использования SOCKS v5).

no_proxy

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

Все опции командной строки Google Chrome

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

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

Читайте также: